File size: 354,212 Bytes
411d33b
 
 
 
 
e77301a
 
 
 
 
 
 
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e77301a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50b6f96
 
 
 
 
 
411d33b
 
 
e77301a
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
80d6df3
411d33b
 
 
 
 
 
 
 
 
 
e77301a
411d33b
e77301a
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e77301a
 
 
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
 
411d33b
 
 
 
 
2a9bd34
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80d6df3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e77301a
 
 
 
 
 
 
 
 
 
 
 
 
 
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
 
 
 
50b6f96
365416f
 
 
 
 
50b6f96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411d33b
 
 
 
 
 
 
 
 
 
 
 
365416f
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365416f
 
411d33b
365416f
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50b6f96
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50b6f96
 
 
411d33b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e77301a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50b6f96
 
 
 
 
e77301a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411d33b
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="The 12-month GreenRoot program: stabilize, work & heal, build, return. Paid green jobs in Istanbul, Frankfurt and Tehran, funded by recycling.">
<meta property="og:title" content="GreenRoot — Program">
<meta property="og:description" content="The 12-month GreenRoot program: stabilize, work & heal, build, return. Paid green jobs in Istanbul, Frankfurt and Tehran, funded by recycling.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://greenroot-af0.pages.dev/program.html">
<meta property="og:image" content="https://greenroot-af0.pages.dev/screenshots/01-home-EN.png">
<meta name="twitter:card" content="summary_large_image">
<title>The Program — GreenRoot</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='0.9em' font-size='88'>%F0%9F%8C%B1</text></svg>">
<style>
/* ============ GreenRoot design system ============ */
:root{
  --bg:#F6F8F3; --card:#FFFFFF; --ink:#0C2318; --muted:#54685C; --line:#E2E9DD;
  --green:#16A34A; --green-soft:#DCFCE7; --deep:#0B3B2A; --deep-2:#0E4D36; --darker:#07271C;
  --lime:#A3E635; --amber:#F59E0B; --amber-soft:#FEF3C7; --teal:#0D9488; --teal-soft:#CCFBF1;
  --red:#E11D48;
  --r:20px; --r-sm:12px;
  --shadow:0 10px 30px rgba(7,39,28,.08);
  --shadow-lg:0 24px 60px rgba(7,39,28,.16);
  --font-en:'Segoe UI',system-ui,-apple-system,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  --font-fa:'Vazirmatn','Vazir',Tahoma,'Segoe UI',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-en);background:var(--bg);color:var(--ink);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
html[lang="fa"] body{font-family:var(--font-fa);line-height:1.95}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--green);text-decoration:none}
a:hover{opacity:.85}
h1,h2,h3,h4{line-height:1.25;font-weight:800;letter-spacing:-.01em}
html[lang="fa"] h1,html[lang="fa"] h2,html[lang="fa"] h3{letter-spacing:0}
.container{max-width:1140px;margin-inline:auto;padding-inline:22px}
section{padding-block:78px}
.kicker{display:inline-block;color:var(--green);font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.kicker.light{color:var(--lime)}
h2.title{font-size:clamp(26px,3.6vw,38px);margin-bottom:14px}
p.lead{font-size:18.5px;color:var(--muted);max-width:760px}
.center{text-align:center}
.center p.lead{margin-inline:auto}
.muted{color:var(--muted)}
.small{font-size:13.5px}
.mt{margin-top:26px}.mt-s{margin-top:14px}.mb-s{margin-bottom:12px}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-soft);color:#166534;border:1px solid #BBF7D0;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:700}
.badge.amber{background:var(--amber-soft);color:#92400E;border-color:#FDE68A}
.badge.teal{background:var(--teal-soft);color:#115E59;border-color:#99F6E4}
.badge.dark{background:rgba(255,255,255,.12);color:#D9F99D;border-color:rgba(217,249,157,.3)}

/* ============ Buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#22C55E,#15803D);color:#fff;font-weight:700;font-size:15.5px;padding:13px 26px;border-radius:999px;border:0;cursor:pointer;box-shadow:0 8px 22px rgba(22,163,74,.35);transition:transform .18s,box-shadow .18s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(22,163,74,.42);opacity:1}
.btn.ghost{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.45);box-shadow:none;color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.16)}
.btn.outline{background:#fff;border:1.5px solid var(--line);color:var(--ink);box-shadow:none}
.btn.small{padding:9px 18px;font-size:13.5px}

/* ============ Nav ============ */
.nav{position:sticky;top:0;z-index:60;background:rgba(246,248,243,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--deep)}
.brand .logo{width:36px;height:36px;flex:0 0 auto}
.nav .links{display:flex;gap:4px;margin-inline-start:auto}
.nav .links a{color:var(--ink);font-weight:600;font-size:14.5px;padding:8px 13px;border-radius:999px;transition:background .15s}
.nav .links a:hover{background:var(--green-soft);opacity:1}
.nav .links a.active{background:var(--deep);color:#D9F99D}
.nav-actions{display:flex;align-items:center;gap:10px}
.lang{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:800;font-size:13.5px;cursor:pointer;color:var(--deep);font-family:inherit;transition:border-color .15s}
.lang:hover{border-color:var(--green)}
.lang-sw{display:flex;gap:4px;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:3px}
.lang-sw .lang{border:0;padding:6px 12px;font-size:12.5px;border-radius:999px;background:transparent}
.lang-sw .lang.on{background:var(--deep);color:#D9F99D}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:22px;height:2.5px;background:var(--deep);margin:5px 0;border-radius:2px;transition:.2s}
.nav.open .links{display:flex;position:absolute;top:68px;inset-inline:0;background:#fff;flex-direction:column;padding:14px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.nav.open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ============ Hero ============ */
.hero{position:relative;background:linear-gradient(160deg,var(--deep) 0%,var(--darker) 100%);color:#fff;overflow:hidden;padding-block:0}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 380px at 82% 12%,rgba(163,230,53,.14),transparent 60%),
  radial-gradient(600px 420px at 8% 90%,rgba(13,148,136,.2),transparent 60%)}
.hero .container{position:relative;padding-block:86px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(32px,4.6vw,52px);margin:10px 0 18px}
.hero .lead{color:#C8E6CF;font-size:18.5px;max-width:560px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.chip{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 16px;font-size:13.5px;color:#D1FAE5}
.chip b{color:#BEF264;display:block;font-size:17px}
.loop-wrap{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:30px 22px;backdrop-filter:blur(6px)}
.loop-wrap h3{font-size:15px;text-align:center;margin-bottom:6px;color:#D9F99D}
.loop{position:relative;width:min(330px,100%);aspect-ratio:1;margin:10px auto 0;direction:ltr}
.loop svg.ring{position:absolute;inset:0}
.loop .node{position:absolute;width:92px;text-align:center;transform:translate(-50%,-50%)}
.loop .node .ic{width:58px;height:58px;margin:0 auto 6px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.28)}
.loop .node span{font-size:12.5px;font-weight:700;color:#ECFDF5;display:block}
.loop .node.n1{left:50%;top:9%}.loop .node.n2{left:91%;top:50%}
.loop .node.n3{left:50%;top:91%}.loop .node.n4{left:9%;top:50%}

/* ============ Cards & grids ============ */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card .ic{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:18px}
.ic.green{background:var(--green-soft)}.ic.amber{background:var(--amber-soft)}.ic.teal{background:var(--teal-soft)}
.card h3{font-size:19px;margin-bottom:10px}
.card p{color:var(--muted);font-size:15px}
.card ul{margin:10px 0 0;padding-inline-start:20px;color:var(--muted);font-size:15px}
.card ul li{margin-bottom:7px}

/* ============ Steps / timeline ============ */
.steps{counter-reset:st;display:grid;gap:18px}
.step{display:flex;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;box-shadow:var(--shadow);align-items:flex-start}
.step .num{counter-increment:st;flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#22C55E,#15803D);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:18px}
.step .num::before{content:counter(st)}
.step h3{font-size:17.5px;margin-bottom:6px}
.step p{color:var(--muted);font-size:15px}
.step .when{font-size:12.5px;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;display:block}

/* ============ Stats band ============ */
.band{background:linear-gradient(135deg,var(--deep-2),var(--deep));border-radius:26px;color:#fff;padding:44px 38px;box-shadow:var(--shadow-lg)}
.band .grid{gap:26px}
.stat .n{font-size:clamp(28px,3.4vw,40px);font-weight:800;color:#BEF264;direction:ltr;display:inline-block}
.stat .n.amber{color:#FCD34D}
.stat .l{font-size:13.5px;color:#C8E6CF;margin-top:4px}

/* ============ Tables ============ */
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);font-size:14.5px}
.tbl th{background:var(--deep);color:#D9F99D;text-align:start;padding:14px 18px;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.tbl td{padding:14px 18px;border-top:1px solid var(--line);color:var(--ink)}
.tbl tr:nth-child(even) td{background:#FAFCF8}
.tbl td:first-child{font-weight:700}

/* ============ Loop infographic (science) ============ */
.flow{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;justify-content:center}
.flow .f{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;text-align:center;flex:1 1 150px;max-width:200px;box-shadow:var(--shadow)}
.flow .f .e{font-size:30px}
.flow .f b{display:block;font-size:14px;margin-top:6px}
.flow .f small{color:var(--muted);font-size:12px;line-height:1.5;display:block;margin-top:3px}
.flow .arr{align-self:center;font-size:22px;color:var(--green);font-weight:800}

/* ============ Chat ============ */
.chat-shell{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-lg);overflow:hidden;max-width:680px;margin-inline:auto}
.chat-head{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--deep-2),var(--deep));padding:16px 22px;color:#fff}
.avatar{width:44px;height:44px;border-radius:50%;background:#D9F99D;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.chat-head b{font-size:16px}
.chat-head small{display:block;color:#A7D7B5;font-size:12px}
.chat-head .dot{margin-inline-start:auto;width:9px;height:9px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.25)}
.chat-body{height:380px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:#FBFDF9}
.msg{max-width:78%;padding:11px 16px;border-radius:18px;font-size:14.5px;line-height:1.55;white-space:pre-line}
.msg.bot{background:#EEF6EC;color:var(--ink);border-start-start-radius:4px;align-self:flex-start}
.msg.user{background:linear-gradient(135deg,#22C55E,#15803D);color:#fff;border-start-end-radius:4px;align-self:flex-end}
.msg.typing span{display:inline-block;width:7px;height:7px;background:#94A88F;border-radius:50%;margin-inline-end:3px;animation:blink 1.2s infinite}
.msg.typing span:nth-child(2){animation-delay:.2s}.msg.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-chips{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px 4px;background:#fff}
.chat-chips button{background:var(--green-soft);color:#166534;border:1px solid #BBF7D0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.chat-chips button:hover{background:#BBF7D0}
.chat-input{display:flex;gap:10px;padding:14px 18px 18px;background:#fff}
.chat-input input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:12px 20px;font-size:14.5px;font-family:inherit;outline:none;background:#FBFDF9}
.chat-input input:focus{border-color:var(--green)}
.chat-input button{border-radius:999px;padding:0 22px}

/* ============ Career widget / selects / forms ============ */
.picker{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}
.picker button{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;color:var(--ink);transition:.15s}
.picker button:hover{border-color:var(--green)}
.picker button.on{background:var(--deep);color:#D9F99D;border-color:var(--deep)}
.plan{max-width:640px;margin-inline:auto;text-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.plan h4{margin-bottom:12px;color:var(--deep)}
.plan ol{padding-inline-start:22px;color:var(--muted);font-size:15px}
.plan ol li{margin-bottom:9px}
form .frow{margin-bottom:16px}
form label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
form input,form select,form textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;font-size:15px;font-family:inherit;background:#fff;outline:none;color:var(--ink)}
form input:focus,form select:focus,form textarea:focus{border-color:var(--green)}
.form-ok{display:none;background:var(--green-soft);border:1px solid #BBF7D0;color:#166534;border-radius:14px;padding:16px 20px;font-weight:600;margin-top:14px}

/* ============ Accordion ============ */
details.faq{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 22px;margin-bottom:12px;box-shadow:var(--shadow)}
details.faq summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:18px 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:22px;color:var(--green);font-weight:400}
details.faq[open] summary::after{content:"–"}
details.faq p{color:var(--muted);font-size:14.5px;padding-bottom:18px}

/* ============ Charts / mood ============ */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.panel h3{font-size:16.5px;margin-bottom:4px}
.panel .sub{font-size:13px;color:var(--muted);margin-bottom:16px}
.mood-row{display:flex;gap:10px;justify-content:center;margin:16px 0}
.mood-row button{font-size:26px;background:#fff;border:1.5px solid var(--line);border-radius:14px;width:54px;height:54px;cursor:pointer;transition:.15s}
.mood-row button:hover{transform:scale(1.12);border-color:var(--green)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:10px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:6px}

/* ============ CTA ============ */
.cta-band{background:linear-gradient(135deg,var(--deep-2),var(--darker));border-radius:30px;color:#fff;text-align:center;padding:64px 34px;position:relative;overflow:hidden}
.cta-band h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:12px}
.cta-band p{color:#C8E6CF;max-width:600px;margin:0 auto 26px}

/* ============ Footer ============ */
footer{background:var(--darker);color:#9DBCA8;margin-top:40px;padding:56px 0 30px;font-size:14px}
footer .grid{gap:34px}
footer h4{color:#D9F99D;font-size:15px;margin-bottom:12px}
footer a{color:#C8E6CF}
footer .fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:19px;margin-bottom:12px}
footer .disclaimer{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:12.5px;color:#7FA18D;line-height:1.7}
footer .copy{margin-top:10px;font-size:13px}

/* ============ Reveal animation ============ */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}

/* ============ Responsive ============ */
@media(max-width:960px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .loop-wrap{max-width:420px;margin-inline:auto}
}
@media(max-width:660px){
  .nav .links{display:none}
  .burger{display:block}
  .nav .links a.active{background:var(--green-soft);color:#166534}
  .g3,.g2,.g4{grid-template-columns:1fr}
  section{padding-block:56px}
  .hero .container{padding-block:56px}
  .band{padding:32px 24px}
  .chat-body{height:320px}
}

/* ================================================================
   UX POLISH PASS — accessibility, motion, mobile, richness
   ================================================================ */
:root{--r-xs:10px}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;overflow-wrap:break-word;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.035 0'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>")}
::selection{background:#BBF7D0;color:#14532D}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#C7D6CB;border-radius:8px;border:2px solid var(--bg)}
::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:3px solid #16A34A;outline-offset:2px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* skip link + a11y */
.skip{position:absolute;inset-inline-start:-9999px;top:10px;z-index:120;background:var(--deep);color:#D9F99D;padding:12px 20px;border-radius:14px;font-weight:800}
.skip:focus{inset-inline-start:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* scroll progress + back-to-top + mobile CTA */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#22C55E,#A3E635);z-index:95;transition:width .12s linear}
#toTop{position:fixed;inset-inline-end:16px;bottom:16px;width:48px;height:48px;border-radius:50%;background:var(--deep);color:#D9F99D;border:0;font-size:20px;cursor:pointer;opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow-lg);z-index:75}
#toTop.show{opacity:1;pointer-events:auto}
#toTop:hover{transform:translateY(-3px)}
.mobile-cta{display:none}

/* hero entrance stagger */
.stagger>*{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.7,.3,1) forwards}
.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.15s}
.stagger>*:nth-child(3){animation-delay:.25s}.stagger>*:nth-child(4){animation-delay:.35s}
.stagger>*:nth-child(5){animation-delay:.45s}.stagger>*:nth-child(6){animation-delay:.55s}
@keyframes rise{to{opacity:1;transform:none}}

/* hero art + floating leaves + animated glow */
.hero-art{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.16);background:#fff}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.hero-art figure-margin{margin:26px auto 0}
.leaf{position:absolute;font-size:24px;opacity:.22;pointer-events:none;animation:leafFloat 9s ease-in-out infinite;filter:saturate(.8)}
.leaf.l2{animation-delay:1.4s;font-size:19px}.leaf.l3{animation-delay:3s;font-size:28px}
.leaf.l4{animation-delay:4.5s;font-size:17px}.leaf.l5{animation-delay:6s;font-size:22px}
@keyframes leafFloat{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-16px) rotate(10deg)}}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(520px 260px at 14% 24%,rgba(74,222,128,.10),transparent 60%);animation:glowPulse 12s ease-in-out infinite;pointer-events:none}
@keyframes glowPulse{0%,100%{opacity:.5}50%{opacity:1}}

/* alternate section tint */
.alt{background:
  radial-gradient(640px 300px at 92% 0%,rgba(163,230,53,.10),transparent 60%),
  radial-gradient(520px 280px at 0% 100%,rgba(13,148,136,.10),transparent 60%),#EFF5EA}

/* buttons & micro-interactions */
.btn:active{transform:scale(.96)}
.btn.small{min-height:40px}
a.item,.card,.panel{will-change:transform}
.card:hover .ic{transform:scale(1.08) rotate(-4deg)}
.card .ic{transition:transform .25s}
details.faq{transition:border-color .2s}
details.faq:hover{border-color:#BBF7D0}
.mood-row button:active{transform:scale(.88)}
.lang-sw .lang{min-width:40px;min-height:36px}

/* podcast covers + durations + share */
.cover{width:64px;height:64px;border-radius:18px;object-fit:cover;margin-bottom:14px;box-shadow:var(--shadow)}
.dur{display:inline-block;background:#EEF6EC;color:#166534;border:1px solid #D3E8C9;font-weight:800;font-size:12px;border-radius:999px;padding:3px 11px;margin-inline-start:8px;vertical-align:middle;direction:ltr}
.dur.pending{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.share-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.share-row button{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 15px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink);transition:.15s;min-height:40px}
.share-row button:hover{border-color:var(--green);color:#166534}

/* breadcrumb */
.crumbs{font-size:13px;margin-bottom:16px}
.crumbs a{color:#BEF264;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:6px 14px;border-radius:999px;display:inline-block}
.crumbs a:hover{background:rgba(255,255,255,.18)}

/* sticky table header inside scroll area */
.tblwrap{overflow:auto;max-height:70vh;border-radius:var(--r)}
.tbl th{position:sticky;top:0;z-index:2}

/* chat upgrades */
.chat-body{scroll-behavior:smooth}
.chat-input input{min-height:48px}

/* mobile-first fixes */
@media(max-width:660px){
  .container{padding-inline:16px}
  input,select,textarea,button{font-family:inherit}
  input,select,textarea{font-size:16px!important} /* prevents iOS zoom */
  .hero .container{padding-block:44px 52px}
  .hero-grid{gap:28px}
  .loop{width:min(250px,76vw)}
  .loop .node{width:76px}
  .loop .node .ic{width:46px;height:46px;font-size:21px}
  .loop .node span{font-size:11px}
  .card{padding:20px}
  .band{padding:26px 20px;border-radius:22px}
  .cta-band{padding:42px 22px;border-radius:24px}
  .chips{gap:8px}
  .chip{padding:9px 13px;flex:1 1 44%}
  .chat-body{height:300px}
  .chat-input button{padding:0 18px}
  .mobile-cta{display:flex;position:fixed;inset-inline:0;bottom:0;z-index:80;background:rgba(7,39,28,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -8px 30px rgba(7,39,28,.35)}
  .mobile-cta .btn{flex:1;min-height:46px}
  footer{padding-bottom:92px}
  #toTop{bottom:92px}
  .nav .links a{padding:12px 14px}
  .step{padding:18px}
  .flow .f{flex:1 1 44%}
  section{padding-block:48px}
  .band .grid{gap:18px}
  .stat .n{font-size:26px}
}
@media(max-width:380px){
  .loop .node{width:66px}
  .loop .node .ic{width:40px;height:40px;font-size:18px;margin-bottom:4px}
}
/* safe area top for iOS */
@supports(padding:env(safe-area-inset-top)){.nav{padding-top:env(safe-area-inset-top)}}

/* print */
@media print{
  .nav,.mobile-cta,#toTop,#progress,.cta-band,.chat-shell,.share-row{display:none!important}
  body{background:#fff}
  .card,.panel{box-shadow:none;border:1px solid #ddd}
}

/* Partner finder: accessible, local-first, source-backed directory */
.pf-hero .container{padding-block:60px 50px}
.pf-hero .hero-grid{grid-template-columns:1.2fr .8fr;gap:48px}
.pf-hero h1{font-size:clamp(34px,4.3vw,54px);letter-spacing:-.035em}
.pf-hero .lead{font-size:18px;max-width:650px}
.pf-hero-note{font-size:12px;line-height:1.7;color:#BBDCC8;max-width:540px;margin-top:22px}
.pf-hero .hero-cta{gap:10px;margin-top:25px}
.pf-hero .hero-cta .btn{font-size:14px;min-height:48px;padding:13px 22px}
.pf-map{min-height:330px;position:relative;isolation:isolate;border:1px solid #ffffff25;border-radius:28px;padding:25px;background:linear-gradient(150deg,#1c574535,#0b271bba);box-shadow:0 20px 70px #001b1470;overflow:hidden}
.pf-map::before{content:'';position:absolute;width:320px;height:320px;border:1px solid #88bd7770;border-radius:50%;inset-inline-start:calc(50% - 160px);top:38px;z-index:-1}
.pf-map::after{content:'';position:absolute;inset:0;background-image:radial-gradient(#b8daa525 1px,transparent 1px);background-size:17px 17px;z-index:-1}
.pf-map-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.14em;color:#C6DBCA;font-weight:700;direction:ltr}
.pf-map-live{display:flex;align-items:center;gap:7px;background:#a3e63518;padding:5px 10px;border-radius:20px;color:#D9F99D}
.pf-map-live i{width:6px;height:6px;border-radius:50%;background:#BEF264}
.pf-network{height:230px;position:relative;margin-top:8px;direction:ltr}
.pf-network svg{width:100%;height:100%}
.pf-orbit-card{position:absolute;border:1px solid #ffffff30;backdrop-filter:blur(8px);background:#164d3efa;padding:10px 15px;border-radius:13px;min-width:103px;box-shadow:0 8px 22px #00160e45;text-align:start}
.pf-orbit-card strong{display:block;color:#D9F99D;font-size:21px;line-height:1.3;font-variant-numeric:tabular-nums}
.pf-orbit-card span{display:block;color:#DDEFE1;font-size:10px;margin-top:3px}
.pf-orbit-card.a{top:12px;left:5%}.pf-orbit-card.b{top:55px;right:0}.pf-orbit-card.c{bottom:0;left:13%}
.pf-map-label{font-size:14px;color:#e1edda;font-weight:700;margin-top:9px}
.pf-map-note{font-size:10px;color:#ABC4AF;margin-top:4px}
.pf-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;border-top:1px solid #ffffff24;padding-top:23px}
.pf-counts a{color:#d8e7d7;display:block;font-size:12px;border-inline-end:1px solid #ffffff24;padding-inline-end:12px}
.pf-counts a:last-child{border:0}
.pf-counts strong{display:block;color:#C8EF8A;font-size:32px;line-height:1.2;margin-bottom:5px;direction:ltr;font-variant-numeric:tabular-nums}
.pf-counts a:hover{color:white;opacity:1}
.pf-truth{background:#E9EFE1;border-bottom:1px solid #D6E1CF;padding-block:24px}
.pf-truth .container{display:grid;grid-template-columns:205px 1fr;gap:26px;align-items:start}
.pf-truth strong{font-size:14px;color:#28432E;display:flex;align-items:center;gap:8px}
.pf-truth p{font-size:12.5px;color:#41553F;line-height:1.8}
.pf-directory{padding-block:48px 65px;background:linear-gradient(180deg,#F2F5ED 0,#F6F8F3 55%,#EEF3E8 100%);scroll-margin-top:80px}
.pf-eyebrow{color:#267146;font-size:11px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;margin-bottom:10px}
.pf-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}
.pf-title-row h2{font-size:30px;margin-bottom:7px}
.pf-title-row p{color:#61715E;font-size:14px}
.pf-title-row .btn{font-size:12px;padding:11px 16px;white-space:nowrap;flex-shrink:0}
.pf-panel{background:#fff;border:1px solid #DCE6D2;box-shadow:0 8px 28px #24422008;border-radius:22px;padding:23px}
.pf-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.pf-tabs button{border:1px solid #E0E8D9;background:#F7F9F3;color:#52654C;padding:12px 8px;border-radius:12px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;min-height:46px;transition:.15s}
.pf-tabs button[aria-pressed=true]{background:#0B3B2A;color:#D9F99D;border-color:#0B3B2A;box-shadow:0 3px 10px #0b3b2a18}
.pf-tabs button:hover{border-color:#80B364}
.pf-query-row{display:grid;grid-template-columns:1.45fr 1fr;gap:14px}
.pf-field{min-width:0}
.pf-field label{display:block;color:#65755C;font-size:11.5px;font-weight:700;margin-bottom:6px}
.pf-field input,.pf-field select{display:block;width:100%;height:48px;border:1px solid #D5DFCA;border-radius:11px;background:#FBFCF9;color:#1A3623;font-family:inherit;font-size:14px;padding:10px 13px;min-width:0;outline:none}
.pf-field input:focus,.pf-field select:focus{border-color:#3D9556;box-shadow:0 0 0 3px #46a46018;background:#fff}
.pf-field .pf-searchwrap{position:relative}
.pf-searchwrap svg{position:absolute;inset-inline-start:14px;top:15px;color:#719069;width:18px;height:18px;pointer-events:none}
.pf-searchwrap input{padding-inline-start:43px}
.pf-advanced{margin-top:16px;border-top:1px solid #EEF1E8;padding-top:12px}
.pf-advanced summary{cursor:pointer;color:#385132;font-size:12.5px;font-weight:700;padding:6px 0;min-height:34px}
.pf-more-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:11px}
.pf-checks{display:flex;align-items:center;justify-content:flex-start;gap:8px 20px;flex-wrap:wrap;margin-top:14px}
.pf-checks label{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#526349;cursor:pointer;min-height:34px}
.pf-checks input{accent-color:#176A3D;width:16px;height:16px;flex:0 0 16px}
.pf-reset{margin-inline-start:auto;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#48653F;cursor:pointer;font:inherit;font-size:12px;min-height:34px}
.pf-resultbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px;padding:25px 2px 16px;font-size:12px;color:#617056;scroll-margin-top:85px}
.pf-resultbar strong{font-size:15px;color:#284528}
.pf-saved-count{font-size:11px;background:#E6EDDD;border-radius:50px;padding:5px 12px}
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:stretch}
.pf-card{min-width:0;background:#fff;border:1px solid #DCE5D3;border-radius:18px;padding:21px;display:flex;flex-direction:column;box-shadow:0 4px 15px #28432106;transition:border-color .2s,box-shadow .2s;scroll-margin-top:90px}
.pf-card:hover{border-color:#92B883;box-shadow:0 8px 23px #2843210d}
.pf-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
.pf-card-id{font-size:10px;letter-spacing:.1em;color:#718569;direction:ltr}
.pf-cat-icon{width:40px;height:40px;border-radius:13px;background:#EAF2E1;color:#377244;display:grid;place-items:center;margin-top:7px}
.pf-cat-icon svg{width:21px;height:21px}
.pf-card[data-category=recovery] .pf-cat-icon{background:#DFF1EB;color:#28715E}
.pf-card[data-category=research] .pf-cat-icon{background:#E6ECFA;color:#475C88}
.pf-card[data-category=recycling] .pf-cat-icon{background:#FEF2D9;color:#8A7234}
.pf-save{border:1px solid #E3EAD9;border-radius:9px;color:#5A7050;background:#FBFCF8;font-family:inherit;font-size:11px;font-weight:600;padding:7px 9px;cursor:pointer;display:flex;align-items:center;gap:5px;min-height:36px}
.pf-save[aria-pressed=true]{background:#E4F2D2;color:#245B30;border-color:#BCD899}
.pf-save svg{width:14px;height:14px}
.pf-card h3{font-size:17px;line-height:1.5;letter-spacing:-.015em;color:#173721;overflow-wrap:anywhere;margin-bottom:6px}
html[lang=fa] .pf-card h3{font-size:16.5px;letter-spacing:0;line-height:1.85}
.pf-original{font-size:10.5px;color:#64745A;line-height:1.6;margin-bottom:10px;overflow-wrap:anywhere}
.pf-location{display:flex;align-items:center;gap:5px;color:#648356;font-size:11.5px;margin-top:2px;margin-bottom:12px}
.pf-location svg{width:13px;height:13px;flex-shrink:0}
.pf-labels{display:flex;gap:5px;flex-wrap:wrap;font-size:9.5px;margin-bottom:12px}
.pf-labels span{background:#F0F4E9;border:1px solid #E2EAD6;padding:3px 8px;border-radius:6px;color:#667458}
.pf-labels .pf-priority{background:#EAF5D7;color:#3D621A;border-color:#D7EAB6}
.pf-parent{font-size:10.5px;color:#738069;line-height:1.6;margin-bottom:12px;overflow-wrap:anywhere}
.pf-ask{font-size:12px;line-height:1.8;color:#54634C;margin-bottom:17px;padding-bottom:16px;border-bottom:1px solid #EDF1E8}
.pf-ask strong{display:block;color:#324C2B;font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.pf-phonebox{margin-top:auto;padding-top:0}
.pf-phone{display:block;direction:ltr;unicode-bidi:isolate;font-size:18px;font-weight:750;line-height:1.4;color:#193C27;letter-spacing:.01em;margin-bottom:5px;text-align:start}
html[dir=rtl] .pf-phone{text-align:right}
.pf-phone-state{color:#819078;font-size:9.5px;margin-bottom:9px}
.pf-call{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;background:#EFF5E7;color:#2B653C;border:1px solid #DAE8CC;border-radius:9px;font-size:12px;font-weight:700;margin-bottom:10px}
.pf-call:hover{background:#E4F1D8;opacity:1}
.pf-no-phone,.pf-number-note{font-size:11px;line-height:1.8;border-radius:9px;background:#FFF6DD;color:#78643A;padding:11px;margin-bottom:10px;border:1px solid #F1E4BC}
.pf-number-note{padding:7px 9px;font-size:10px}
.pf-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pf-links a,.pf-copy{min-height:34px;border-radius:8px;border:1px solid #E4EBDA;color:#53654B;background:#fff;font-family:inherit;font-size:10px;padding:7px 9px;display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.pf-links a:hover,.pf-copy:hover{border-color:#83B468;opacity:1}
.pf-card-source{border-top:1px dashed #E2E9D9;padding-top:11px;margin-top:14px;display:flex;justify-content:space-between;gap:7px;flex-wrap:wrap;font-size:9px;color:#8A9580}
.pf-card-source a{font-weight:700;color:#4F7447}
.pf-evidence{font-size:9px;color:#93A287;margin-top:5px}
.pf-card-note{color:#7C8066;background:#F8F8EF;font-size:10px;border-radius:7px;padding:9px;line-height:1.8;margin-top:10px}
.pf-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:28px 0 12px;font-size:12px;color:#5B7150}
.pf-pagination button{background:#fff;border:1px solid #D6E3CA;border-radius:9px;padding:10px 17px;min-height:42px;color:#315C36;font-weight:700;font-family:inherit;cursor:pointer}
.pf-pagination button:disabled{opacity:.4;cursor:not-allowed}
.pf-quiet-note{font-size:11px;color:#7A8771;text-align:center;margin-top:14px;max-width:850px;margin-inline:auto}
.pf-empty{grid-column:1/-1;padding:50px 20px;text-align:center;color:#657B56;background:white;border:1px dashed #BDCFAB;border-radius:18px}
.pf-plan{background:#E6EEDA;padding-block:56px}
.pf-plan .title{font-size:29px;max-width:660px}
.pf-plan .grid{margin-top:30px}
.pf-step{border-inline-start:2px solid #B8CE9C;padding-inline-start:20px}
.pf-step b{display:inline-grid;place-items:center;width:28px;height:28px;color:#D9F99D;background:#355F34;border-radius:50%;font-size:12px;margin-bottom:13px;direction:ltr}
.pf-step h3{font-size:16px;margin-bottom:10px;color:#2B4925}
.pf-step p{font-size:13px;color:#5D7153;line-height:1.9}
.pf-message-section{padding-block:58px}
.pf-message-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:44px;align-items:start}
.pf-message-layout h2{font-size:28px;line-height:1.5;margin-bottom:12px}
.pf-message-layout p{color:#6C7E61;font-size:13px;line-height:1.9}
.pf-message-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.pf-message-tools .btn{min-height:44px;font-size:12px;padding:11px 18px}
.pf-message-box{padding:24px;background:#fff;border:1px solid #DCE6D1;border-radius:20px;box-shadow:0 6px 25px #20441008}
.pf-message-box textarea{width:100%;min-height:360px;resize:vertical;border:0;background:white;color:#49633F;font-family:inherit;font-size:12px;line-height:1.9;outline:none;overflow-wrap:anywhere}
.pf-method{padding-block:48px;background:#ECF1E5;border-top:1px solid #D7E4CC}
.pf-method summary{font-size:20px;font-weight:800;color:#2A4F2E;cursor:pointer;padding:10px 0;min-height:48px}
.pf-method p{font-size:12.5px;color:#65785B;line-height:1.9;margin:14px 0;max-width:900px}
.pf-method-links{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;margin-top:22px}
.pf-method-links a{padding:9px 13px;background:#fff;border:1px solid #D4E2C8;border-radius:9px}
.pf-toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#123E27;color:#E5F1D9;padding:11px 20px;border-radius:13px;box-shadow:0 8px 30px #183d2f30;font-size:12px;z-index:150;max-width:calc(100% - 30px);text-align:center;pointer-events:none;opacity:0;transition:opacity .2s}
.pf-toast.show{opacity:1}
.pf-home-callout{padding-block:40px;background:#E9F0DF;border-block:1px solid #D4E3C8}
.pf-home-callout .container{display:flex;gap:25px;justify-content:space-between;align-items:center}
.pf-home-callout h2{font-size:24px;margin-bottom:9px;max-width:700px}
.pf-home-callout p{font-size:13.5px;color:#67795B;max-width:730px}
.pf-home-callout .btn{flex-shrink:0;font-size:13px}
/* Wider menu supports the added page without desktop overflow. */
.nav .container{max-width:1460px}
@media(min-width:1381px){.nav .links a{font-size:12.5px;padding:8px 8px}.nav .links{gap:1px}}
@media(max-width:1380px){.nav .links{display:none}.nav .burger{display:block}.nav .nav-actions{margin-inline-start:auto}.nav.open .links{display:flex}}
@media(max-width:1000px){.pf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-hero .hero-grid{gap:26px}.pf-message-layout{gap:25px}}
@media(max-width:760px){
 .pf-hero .hero-grid{grid-template-columns:1fr}.pf-map{min-height:280px}.pf-network{height:180px}.pf-orbit-card.c{bottom:-2px}
 .pf-hero .lead{font-size:16px}.pf-hero .container{padding-block:38px 35px}.pf-hero h1{font-size:35px;line-height:1.35}
 .pf-hero .hero-cta .btn{flex:1 1 100%;font-size:13px}.pf-hero-note{font-size:11px;margin-top:16px}
 .pf-counts{gap:8px;margin-top:23px;padding-top:18px}.pf-counts strong{font-size:26px}.pf-counts a{font-size:10px;line-height:1.6}
 .pf-map-top{font-size:9px}.pf-map-label{font-size:13px}.pf-map-note{font-size:10px}
 .pf-truth .container{display:block}.pf-truth strong{margin-bottom:10px}.pf-truth p{font-size:11.5px}.pf-truth{padding-block:20px}
 .pf-title-row{display:block}.pf-title-row h2{font-size:25px}.pf-title-row p{font-size:12.5px}.pf-title-row .btn{margin-top:14px;width:100%;min-height:44px}
 .pf-directory{padding-block:30px 40px;scroll-margin-top:80px}.pf-panel{padding:15px;border-radius:17px}.pf-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:16px}.pf-tabs button{font-size:12px;min-height:46px;padding:9px}
 .pf-query-row,.pf-more-row{grid-template-columns:1fr;gap:13px}.pf-field label{font-size:11px}.pf-field input,.pf-field select{font-size:16px;height:48px}.pf-advanced summary{font-size:12px;min-height:44px}
 .pf-checks{display:block}.pf-checks label{font-size:12px;display:flex;min-height:44px}.pf-checks input{width:18px;height:18px;flex-basis:18px}.pf-reset{font-size:12px;min-height:44px;width:100%;text-align:start;margin-top:3px}
 .pf-resultbar{padding-top:20px;padding-bottom:14px}.pf-resultbar strong{font-size:13px}.pf-saved-count{font-size:10px}
 .pf-card{padding:19px}.pf-card h3{font-size:17px}.pf-original{font-size:11px}.pf-labels{font-size:10px}.pf-ask{font-size:12px}.pf-call{min-height:46px;font-size:12px}.pf-save{min-height:44px}.pf-links a,.pf-copy{min-height:42px;font-size:11px}.pf-card-source{font-size:10px}.pf-quiet-note{font-size:10px;line-height:1.9}.pf-phone-state{font-size:10px}
 .pf-pagination{gap:10px}.pf-pagination button{padding:10px 13px;min-height:44px}.pf-pagination span{font-size:11px}
 .pf-plan .grid{grid-template-columns:1fr;gap:26px}.pf-plan .title{font-size:25px}.pf-plan{padding-block:38px}
 .pf-message-layout{grid-template-columns:1fr;gap:20px}.pf-message-section{padding-block:38px}.pf-message-layout h2{font-size:25px}.pf-message-box{padding:17px}.pf-message-box textarea{font-size:16px;min-height:420px}.pf-message-tools .btn{flex:1 1 100%;min-height:46px}
 .pf-method summary{font-size:17px;line-height:1.7}.pf-method p{font-size:12px}.pf-toast{bottom:87px}
 .pf-home-callout .container{display:block}.pf-home-callout .btn{margin-top:15px;min-height:46px;width:100%}.pf-home-callout h2{font-size:22px}
}
@media(max-width:620px){.pf-cards{grid-template-columns:1fr}.pf-map{min-height:270px}.pf-map-note{font-size:9.5px}.pf-network{height:175px}}
@media(max-width:360px){.pf-orbit-card{padding:9px;min-width:88px}.pf-hero h1{font-size:30px}.pf-pagination{gap:5px}.pf-pagination button{font-size:11px;padding:10px}}
@media(prefers-reduced-motion:reduce){.pf-card,.pf-tabs button,.pf-toast{transition:none}}
@media print{.pf-panel,.pf-pagination,.pf-toast,.pf-message-tools{display:none}.pf-cards{grid-template-columns:repeat(2,1fr)}.pf-card{break-inside:avoid}.pf-map{display:none}.pf-hero{color:#000;background:#fff}.pf-hero .lead{color:#333}.pf-hero-note,.pf-counts{color:#333}.pf-method details{display:block}.pf-hero .hero-cta{display:none}}
/* Compact language + menu controls fit 320px without concealing content. */
@media(max-width:760px){
 .nav .nav-inner{gap:8px}
 .nav .brand{font-size:15px;gap:6px;flex-shrink:0}
 .nav .brand .logo{width:26px;height:26px}
 .nav .nav-actions{gap:6px}
 .nav .nav-actions>.btn{display:none}
 .nav .lang-sw{padding:3px;gap:2px}
 .nav .lang-sw .lang{min-width:29px;min-height:36px;padding:6px 7px;font-size:11px}
 .nav .burger{width:44px;min-height:44px;padding:11px;flex-shrink:0}
 .mobile-cta .btn{min-width:0;white-space:normal;padding-inline:10px;font-size:12px;line-height:1.5;text-align:center}
 .mobile-cta .btn span{min-width:0;overflow-wrap:anywhere}
}

/* Outreach workbench: paper-like operational surface, dark green evidence rails. */
.ow-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}.ow-hero h1{font-size:clamp(38px,4.6vw,64px);line-height:1.16}.ow-hero .lead{font-size:18px;max-width:640px}.ow-hero-tools{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.ow-hero-note{color:#C5D8CB;font-size:12px;margin-top:22px}.ow-path-art{padding:26px;border:1px solid #517764;border-radius:26px;background:radial-gradient(circle at 80% 10%,rgba(163,230,53,.12),transparent 50%),linear-gradient(150deg,#164936,#0b3022);box-shadow:0 25px 65px #061d1455;transform:rotate(-1.5deg)}.ow-art-heading{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.4px;color:#cee0d3;direction:ltr}.ow-art-heading span{background:#27583c;border-radius:99px;padding:3px 8px;color:#D9F99D}.ow-art-flow{display:flex;flex-direction:column;align-items:stretch;padding-top:24px}.ow-art-flow>div{display:grid;grid-template-columns:42px 1fr 35px;gap:14px;align-items:center;background:#174b39;border:1px solid #46735b;border-radius:15px;padding:16px}.ow-art-flow>div.ow-art-active{background:#d9f1b3;color:#143a23;border-color:#bde778;box-shadow:0 10px 35px #9ce03b16}.ow-art-flow b{font-size:13px;line-height:1.6}.ow-art-flow i{font-style:normal;text-align:center;color:#8dc887;font-size:25px;height:32px}.ow-art-num{font-size:21px;font-weight:900;direction:ltr}.ow-art-flow svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.5}.ow-path-art>p{margin-top:20px;font-size:11px;color:#c4d9c9;line-height:1.8}.ow-truth{background:#e8eede;border-block:1px solid #d5e1c7}.ow-truth .container{display:flex;gap:16px;align-items:center;padding-block:22px;font-size:13px;color:#435841}.ow-truth p{margin:0}.ow-dot{width:12px;height:12px;flex-shrink:0;border-radius:50%;background:#d89f38;box-shadow:0 0 0 7px #d89f3817}.ow-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:30px}.ow-section-head h2{font-size:32px;margin:6px 0 12px;line-height:1.4}.ow-section-head p{max-width:730px;font-size:14px;color:var(--muted);line-height:1.9}.ow-pill-link{font-size:12px;padding:11px 16px;background:white;border:1px solid #d9e5cf;border-radius:99px;white-space:nowrap;align-self:center}.ow-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.ow-stats>div{display:flex;gap:16px;align-items:center;padding:18px 24px;border:1px solid #d9e5cf;border-radius:17px;background:#fff}.ow-stats strong{font-size:32px;line-height:1;color:#0f4d30}.ow-stats span{font-size:12px;color:#627c61}.ow-picker,.ow-input-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:14px}.ow-picker{background:#fff;border:1px solid #d9e5cf;border-radius:22px;padding:24px;margin-bottom:22px}.ow-picker label,.ow-draft-panel label:not(.ow-checkbox),.ow-email-section label:not(.ow-checkbox){display:block;font-size:12px;font-weight:750;color:#5a7456;margin-bottom:7px}.ow-picker input,.ow-picker select,.ow-draft-panel input:not([type=checkbox]),.ow-draft-panel select,.ow-draft-panel textarea,.ow-routes-section select,.ow-email-section input[type=email],.ow-dialog input,.ow-dialog select,.ow-dialog textarea{display:block;width:100%;min-width:0;box-sizing:border-box;padding:12px 13px;font:inherit;font-size:13px;color:#163b29;background:#f9fbf7;border:1px solid #cadbc0;border-radius:12px;min-height:46px;outline-offset:3px}.ow-input-grid>*{min-width:0}.ow-empty-selection{border:1px dashed #bfd2b4;border-radius:22px;background:#eef5e8;padding:30px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.ow-empty-selection>div{font-size:25px;background:#dceaD1;padding:10px 18px;border-radius:14px}.ow-empty-selection p{flex:1;min-width:180px;color:#436043;font-size:14px}.ow-empty-selection a{font-size:13px;font-weight:750}.ow-compose{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;margin-bottom:48px}.ow-compose[hidden],.ow-application-box[hidden],.ow-empty-selection[hidden]{display:none}.ow-lead-brief{align-self:start;position:sticky;top:90px;background:#113d2d;color:#e0eedf;border:1px solid #32664b;border-radius:22px;padding:28px;min-width:0}.ow-lead-brief>small{font-size:11px;color:#b0c7ac}.ow-lead-brief h3{font-size:23px;line-height:1.65;margin:15px 0;overflow-wrap:anywhere}.ow-type,.ow-fit{display:inline-block;margin:0 0 8px 5px;font-size:11px;line-height:1.8;border:1px solid #58785b;background:#1d4b37;padding:5px 9px;border-radius:9px;color:#dce8d4}.ow-fit{background:#2c5a37;color:#d9efaf}.ow-lead-brief p{font-size:13px;line-height:2}.ow-lead-brief a{color:#c7eb99;font-size:12px;text-decoration:underline;text-underline-offset:3px}.ow-lead-brief .ow-gate{background:#214531;border-color:#597451;color:#d7e9ca}.ow-wa-status{border-block:1px solid #4c6e50;padding:16px 0;margin:20px 0 14px}.ow-wa-status b{font-size:12px;color:#d0eda7}.ow-wa-status small{display:block;font-size:11px;line-height:1.9;color:#acc5a8;margin-top:13px}.ow-published-phone{display:block;font-size:19px;color:#d9f3b9;margin-top:16px}.ow-mini{display:block;text-align:start;width:100%;padding:9px 11px;border:1px solid #567649;border-radius:10px;margin-top:10px;font:inherit;font-size:11px;line-height:1.8;background:#285035;color:#d6edb4;cursor:pointer;white-space:normal}.ow-quiet{font-size:12px;color:#70816c;line-height:1.9;margin-top:18px}.ow-lead-brief .ow-quiet{color:#adc2a4}.ow-draft-panel{padding:28px;background:#fff;border:1px solid #dce6d4;border-radius:22px;min-width:0}.ow-draft-panel>.ow-input-grid{margin-bottom:17px}.ow-draft-panel>input,.ow-draft-panel>textarea{margin-bottom:17px}.ow-draft-panel textarea{font-size:13px;line-height:2;resize:vertical;min-height:330px}.ow-draft-hint{font-size:11px;color:#748268;line-height:1.9}.ow-compose-tools,.ow-email-tools{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.ow-link-btn,.ow-compose-tools>.ow-link-btn,.ow-email-tools>button:not(.btn){background:#f4f8ee;color:#20563a;border:1px solid #d3e1c7;border-radius:11px;font:inherit;font-size:12px;padding:10px 13px;cursor:pointer;line-height:1.65;text-decoration:none;min-height:42px;text-align:center}.ow-compose-tools [hidden]{display:none!important}.ow-record-box{padding:20px;background:#edf5e6;border:1px solid #d4e4c9;border-radius:17px;margin-top:24px}.ow-record-box .ow-input-grid{grid-template-columns:1fr 1fr;margin-bottom:15px}.ow-record-box .ow-input-grid>div:last-child{grid-column:1/-1;max-width:260px}.ow-checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.9;font-size:12px;color:#4a6244;margin:16px 0!important;font-weight:500!important}.ow-checkbox input{width:17px;height:17px;margin-top:4px;flex-shrink:0;accent-color:#126c38}.ow-record-box>.btn{width:100%;font-size:13px;white-space:normal}.ow-record-box .btn:disabled,.ow-application-box button:disabled,.ow-email-tools button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.ow-application-box{border-block-start:1px solid #dce5d3;padding-top:22px;margin-top:25px}.ow-application-box h4{font-size:15px;margin-bottom:10px}.ow-application-box p,.ow-application-box small{font-size:12px;line-height:1.9;color:#687960}.ow-application-box .ow-input-grid{grid-template-columns:1fr}.ow-application-box small{display:block;margin-top:12px}.ow-caution{font-size:12px;line-height:1.9;background:#fbf3df;color:#8a641b;padding:12px 15px;border:1px solid #eddcaf;border-radius:12px;margin-top:12px}.ow-queue-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:48px 0 24px}.ow-queue-header h2{font-size:26px}.ow-queue-header p{font-size:13px;color:#6a7b60;line-height:1.9;max-width:650px;margin-top:10px}.ow-backup-tools{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;min-width:180px;max-width:380px}.ow-backup-tools button,.ow-import-label{padding:8px 11px;font:inherit;font-size:11px;background:#fff;border:1px solid #d5e1cc;border-radius:9px;color:#4e6c46;cursor:pointer;min-height:40px;display:inline-flex;align-items:center}.ow-import-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.ow-import-label:focus-within{outline:3px solid #97c66c;outline-offset:2px}.ow-queue{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ow-queue-empty{grid-column:1/-1;text-align:center;padding:40px 20px;background:#f0f5e9;border:1px dashed #c4d5b4;border-radius:20px;color:#6f8262}.ow-queue-empty svg{width:45px;height:45px;opacity:.6;margin-bottom:12px}.ow-queue-empty p{font-size:13px;max-width:650px;margin:auto;line-height:1.9}.ow-job{display:flex;gap:15px;padding:24px;border-radius:18px;border:1px solid #dae4d2;background:white;min-width:0}.ow-overdue{border-color:#dfbb6d;background:#fffcf4}.ow-job-indicator{width:36px;height:36px;border-radius:11px;background:#e7f1dd;display:grid;place-items:center;color:#477747;font-size:21px;flex-shrink:0}.ow-job-content{min-width:0}.ow-job-id{font-size:10px;color:#718769}.ow-job h3{font-size:15px;line-height:1.9;margin-top:8px}.ow-job p{font-size:12px;color:#647a5b;line-height:1.9}.ow-job time{font-size:12px;font-weight:700;display:block;margin-top:8px;color:#265b35}.ow-job-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.ow-job-actions button{font:inherit;font-size:11px;border:1px solid #d5e1ca;color:#456639;background:#f4f8ef;padding:7px 9px;border-radius:8px;cursor:pointer;min-height:36px}.ow-routes-section{background:radial-gradient(ellipse at 0% 0%,#e2f0d2 0%,transparent 45%),#edf2e7;border-block:1px solid #d6e2c9}.ow-routes-section select{width:250px}.ow-routes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ow-route-card{padding:27px;border:1px solid #d1dfc4;border-radius:22px;background:#fff;min-width:0;display:flex;flex-direction:column}.ow-route-top{font-size:10px;display:flex;align-items:start;justify-content:space-between;gap:12px;color:#6c825e}.ow-route-kind{padding:4px 8px;background:#eaf3df;color:#416335;border-radius:7px;font-size:10px;max-width:65%;line-height:1.6}.ow-route-card h3{font-size:19px;line-height:1.7;margin:15px 0 10px;overflow-wrap:anywhere}.ow-route-state{display:inline-block;font-size:11px;background:#edf7e4;padding:6px 10px;border-radius:8px;align-self:start;color:#46653a}.ow-route-closed .ow-route-state{background:#faf0db;color:#8b6a25}.ow-route-card>p{font-size:13px;line-height:2;margin:14px 0;color:#536949}.ow-gate{background:#f1f6e9;border:1px solid #d6e3c7;border-radius:12px;padding:12px;font-size:12px;line-height:1.9;color:#537442;margin-top:12px}.ow-route-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:20px}.ow-route-tools button{font:inherit;font-size:12px;font-weight:700;background:#11442e;color:#d7edc1;border:0;border-radius:10px;padding:11px 13px;cursor:pointer}.ow-route-tools a{font-size:11px;color:#416d35;text-decoration:underline;text-underline-offset:3px}.ow-route-card>small{display:block;font-size:10px;color:#84947b;margin-top:17px;line-height:1.8}.ow-readiness-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}.ow-readiness h2{font-size:30px;margin:8px 0 16px;line-height:1.6}.ow-readiness p{font-size:14px;color:#69815b;line-height:2}.ow-readiness progress{width:100%;height:11px;border-radius:99px;margin-top:15px;accent-color:#438b36}.ow-dossier-links{background:#ecf4e2;border:1px solid #d5e4c7;padding:22px;border-radius:20px;margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}.ow-dossier-links h3{width:100%;font-size:15px;margin-bottom:4px}.ow-dossier-links a{background:#fff;border:1px solid #d0e0c1;border-radius:10px;padding:8px 11px;font-size:12px}.ow-doc-list{display:grid;gap:12px}.ow-doc-list label{display:flex;gap:12px;align-items:flex-start;line-height:1.95;font-size:13px;padding:17px;background:white;border:1px solid #d6e3c8;border-radius:14px}.ow-doc-list input{width:17px;height:17px;flex-shrink:0;margin-top:3px;accent-color:#377c32}.ow-email-section{background:#103c2b;color:#eff6ea}.ow-email-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:start}.ow-email-section h2{font-size:30px;line-height:1.6;margin:8px 0 18px}.ow-email-section .kicker{color:#b1e874}.ow-email-section p{font-size:14px;color:#c1d2b6;line-height:2}.ow-email-state{font-size:13px;line-height:2;border-radius:15px;padding:18px;border:1px solid #718050;background:#32432e;color:#f4e8bc;margin:24px 0}.ow-email-state.ow-active{border-color:#5b9653;background:#23522e;color:#d4f1b4}.ow-email-section label:not(.ow-checkbox){color:#c8dabd}.ow-email-section .ow-checkbox{color:#c6dab8}.ow-email-section input[type=email]{background:#f1f8e9}.ow-email-tools>button:not(.btn){background:#214c31;color:#d3e6c0;border-color:#56774d}.ow-email-section .btn{font-size:12px}.ow-setup{background:#1b4a33;border:1px solid #4b6e41;padding:30px;border-radius:22px}.ow-setup h3{font-size:18px;line-height:1.8;margin-bottom:20px}.ow-setup ol{padding-inline-start:21px;display:grid;gap:18px}.ow-setup li{font-size:12px;line-height:2;color:#c6dabb}.ow-setup a{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#c9ee8f}.ow-setup>a{display:block;margin-top:25px}.ow-setup code{display:inline-block;direction:ltr;font-size:11px;padding:3px 7px;border:1px solid #507946;background:#285438;border-radius:5px;margin:5px;color:#d4ebb7}.ow-privacy{background:#eaf2e2;padding-block:30px!important;border-block:1px solid #d6e3c9}.ow-privacy h3{font-size:17px}.ow-privacy p{font-size:12px;line-height:2;color:#607454;margin-top:8px}.ow-raha .container{display:flex;align-items:center;justify-content:space-between;gap:45px}.ow-raha h2{font-size:28px;line-height:1.6;margin:8px 0 14px}.ow-raha p{font-size:13px;line-height:2;color:#718268;max-width:760px}.ow-raha-tools{display:flex;flex-direction:column;gap:15px;align-items:start;min-width:230px}.ow-raha-tools>a:not(.btn){font-size:12px;line-height:1.9;text-decoration:underline}.ow-dialog{width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:28px;border:1px solid #c7d9b6;border-radius:22px;background:#f8fcf3;color:#163c26;box-sizing:border-box;box-shadow:0 20px 100px #061a1544}.ow-dialog::backdrop{background:#0c281ba0;backdrop-filter:blur(3px)}.ow-dialog-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.ow-dialog button:not(.btn){font:inherit;font-size:12px;border:1px solid #ccdabb;background:white;color:#557344;border-radius:9px;padding:9px 13px;cursor:pointer}.ow-dialog h3{font-size:18px}.ow-dialog p{font-size:13px;line-height:2;margin:15px 0}.ow-dialog label{display:block;font-size:12px;margin:18px 0 8px}.ow-dialog .btn{margin-top:20px;font-size:13px}.ow-dialog textarea{line-height:2}.ow-dialog [hidden]{display:none}.pf-wa{padding-top:15px;margin-top:15px;border-top:1px dashed #d7e4cb}.pf-wa b{font-size:11px;color:#49773d}.pf-wa p{font-size:11px;line-height:1.9;color:#697f5e;margin:8px 0}.pf-wa a{font-size:11px;line-height:1.9;color:#3b7135}.pf-wa .pf-wa-purpose{background:#f6f1df;color:#84703a;padding:8px 10px;border-radius:8px}.pf-plan-contact{display:block;width:100%;text-align:center;margin:15px 0 0;padding:11px;background:#11442f;color:#e1f0d6;border:1px solid #20553a;border-radius:12px;font-size:12px;font-weight:700;line-height:1.9}.pf-plan-contact:hover{color:#fff;opacity:.92}.pf-workflow-callout{background:#e7f1dc;border:1px solid #cfe1bb;border-radius:22px;padding:25px;display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:25px}.pf-workflow-callout h3{font-size:19px;line-height:1.7}.pf-workflow-callout p{font-size:13px;color:#63795b;line-height:2;margin-top:8px}.pf-workflow-callout a{flex-shrink:0;font-size:12px}.pf-wa-summary{font-size:12px;line-height:2;color:#657c58;padding:18px 22px;border:1px solid #d5e1c8;border-radius:15px;background:#f0f5e8;margin-top:18px}.pf-wa-filter{margin-top:13px}.pf-wa-filter label{font-size:12px;color:#63785b;display:block;margin-bottom:7px}.pf-wa-filter select{min-height:44px;padding:10px;border:1px solid #d2e0c5;border-radius:10px;font:inherit;font-size:12px;background:#f8fbf4;color:#315438;max-width:100%;width:100%}
@media(max-width:1050px){.ow-hero-grid{gap:35px}.ow-hero .lead{font-size:16px}.ow-hero h1{font-size:46px}.ow-path-art{padding:21px}.ow-compose{grid-template-columns:1fr 1.6fr;gap:16px}.ow-lead-brief,.ow-draft-panel{padding:22px}.ow-input-grid{grid-template-columns:1fr}.ow-email-grid{gap:30px}.ow-readiness-grid{gap:35px}.ow-raha .container{align-items:start;flex-direction:column;gap:25px}.ow-raha-tools{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media(max-width:760px){.ow-hero-grid{grid-template-columns:1fr;gap:30px}.ow-hero .container{padding-block:40px}.ow-hero h1{font-size:39px;line-height:1.4}.ow-hero .lead{font-size:16px;line-height:2}.ow-hero-tools{flex-direction:column}.ow-hero-tools .btn{text-align:center;justify-content:center;white-space:normal;font-size:13px}.ow-path-art{transform:none;padding:20px}.ow-art-heading{font-size:9px;letter-spacing:.7px}.ow-art-flow{padding-top:17px}.ow-art-flow>div{padding:12px;gap:10px}.ow-art-flow b{font-size:12px}.ow-truth .container{font-size:12px;padding-block:20px;gap:15px}.ow-section-head{flex-direction:column;gap:15px}.ow-section-head h2{font-size:28px}.ow-pill-link{align-self:start;white-space:normal}.ow-stats{gap:9px}.ow-stats>div{flex-direction:column;padding:14px 8px;gap:8px;text-align:center}.ow-stats strong{font-size:28px}.ow-stats span{font-size:10px;line-height:1.7}.ow-picker{grid-template-columns:1fr;padding:18px}.ow-compose{grid-template-columns:1fr;gap:18px}.ow-lead-brief{position:static;padding:22px}.ow-lead-brief h3{font-size:23px}.ow-draft-panel{padding:20px}.ow-record-box{padding:15px}.ow-record-box .ow-input-grid{grid-template-columns:1fr}.ow-record-box .ow-input-grid>div:last-child{max-width:none}.ow-empty-selection{padding:23px}.ow-queue-header{flex-direction:column;align-items:start;gap:18px}.ow-backup-tools{justify-content:flex-start;max-width:none}.ow-queue{grid-template-columns:1fr}.ow-job{padding:20px;gap:12px}.ow-routes{grid-template-columns:1fr}.ow-routes-section select{width:100%;max-width:360px}.ow-route-card{padding:23px}.ow-route-card h3{font-size:19px}.ow-readiness-grid,.ow-email-grid{grid-template-columns:1fr;gap:30px}.ow-readiness h2,.ow-email-section h2{font-size:28px}.ow-setup{padding:24px}.ow-dialog{padding:23px}.ow-raha h2{font-size:25px}.pf-workflow-callout{flex-direction:column;align-items:start;gap:17px}.pf-workflow-callout .btn{white-space:normal}.ow-section-head>*{min-width:0}.ow-route-top{align-items:flex-start}.ow-route-kind{max-width:70%}.ow-art-heading>span{white-space:normal;text-align:center}.ow-application-box small{font-size:11px}.ow-email-tools .btn{white-space:normal}.ow-backup-tools button,.ow-import-label{font-size:11px;min-height:42px}.ow-draft-panel textarea{min-height:420px}.ow-compose-tools>.btn{font-size:12px;white-space:normal}.ow-job-actions button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.ow-path-art{transform:none}.ow-desk-section *{scroll-behavior:auto!important}}

</style>
</head>
<body data-page="program">
<a class="skip" href="#main" data-i18n="a11y.skip">Skip to content</a>

<header class="nav" id="nav">
  <div class="container nav-inner">
    <a class="brand" href="index.html">
      <svg class="logo" viewBox="0 0 48 48" fill="none"><circle cx="24" cy="24" r="23" fill="#0B3B2A"/><path d="M24 38c0-9 2-14 9-19-1 8-3 13-9 19Z" fill="#A3E635"/><path d="M24 38c0-9-2-14-9-19 1 8 3 13 9 19Z" fill="#4ADE80"/><path d="M24 38V22" stroke="#D9F99D" stroke-width="2" stroke-linecap="round"/></svg>
      <span>GreenRoot</span>
    </a>
    <nav class="links" id="links">
      <a href="index.html" data-i18n="nav.home">Home</a>
      <a href="science.html" data-i18n="nav.science">Science</a>
      <a href="program.html" data-i18n="nav.program">Program</a>
      <a href="ai.html" data-i18n="nav.ai">AI companion</a>
      <a href="dashboard.html" data-i18n="nav.impact">Impact</a>
      <a href="cop31.html" data-i18n="nav.cop31">COP31</a>
      <a href="areas.html" data-i18n="nav.areas">Istanbul areas</a>
      <a href="partners.html" data-i18n="nav.partners">Partner finder</a>
      <a href="podcast.html" data-i18n="nav.podcast">Podcast</a>
      <a href="join.html" data-i18n="nav.join">Join</a>
    </nav>
    <div class="nav-actions">
      <div class="lang-sw"><button class="lang on" data-lang="en" type="button">EN</button><button class="lang" data-lang="fa" type="button">فا</button><button class="lang" data-lang="tr" type="button">TR</button></div>
      <a class="btn small" href="join.html" data-i18n="nav.cta">Join the pilot</a>
      <button class="burger" id="burger" aria-label="Menu" type="button"><span></span><span></span><span></span></button>
    </div>
  </div>
</header>

<main id="main">
<section class="hero">
  <div class="container stagger">
    <span class="kicker light" data-i18n="prog.hero.kicker">Twelve months, four phases</span>
    <h1 data-i18n="prog.hero.h1">The GreenRoot program</h1>
    <p class="lead" data-i18n="prog.hero.p">A structured journey from stabilization to a paid green job to the career you had before — with therapy and medicine funded by the work itself.</p>
  </div>
</section>

<!-- Phases -->
<section>
  <div class="container">
    <div class="center rv">
      <span class="kicker" data-i18n="prog.ph.kicker">The four phases</span>
      <h2 class="title" data-i18n="prog.ph.h2">Your path through GreenRoot</h2>
    </div>
    <div class="steps mt">
      <div class="step rv"><div class="num"></div><div><span class="when" data-i18n="prog.ph1w">Weeks 0–4</span><h3 data-i18n="prog.ph1t">Stabilize</h3><p data-i18n="prog.ph1p">Medical check-up and psychiatric assessment; medication-assisted treatment where indicated; a personal safety and craving plan; first meeting with Raha, your AI companion. No shifts yet — health first.</p></div></div>
      <div class="step rv"><div class="num"></div><div><span class="when" data-i18n="prog.ph2w">Weeks 2–12</span><h3 data-i18n="prog.ph2t">Work &amp; heal</h3><p data-i18n="prog.ph2p">Three supported cleanup shifts a week in a small crew with a peer mentor. Group therapy twice a week. Tokens for every shift; weekly token review with your counselor.</p></div></div>
      <div class="step rv"><div class="num"></div><div><span class="when" data-i18n="prog.ph3w">Months 3–6</span><h3 data-i18n="prog.ph3t">Build</h3><p data-i18n="prog.ph3p">Move indoors or to the sorting line: materials handling, machine basics, upcycling workshop, quality control. Raha maps your skills and drafts your career-rewind plan toward your previous profession.</p></div></div>
      <div class="step rv"><div class="num"></div><div><span class="when" data-i18n="prog.ph4w">Months 6–12</span><h3 data-i18n="prog.ph4t">Return</h3><p data-i18n="prog.ph4p">CV rebuild with honest gap-framing, mock interviews, a supported internship or direct placement, and the alumni network. You leave with a job and a community — not just a certificate.</p></div></div>
    </div>
  </div>
</section>

<!-- A day -->
<section style="background:#EFF5EA">
  <div class="container">
    <div class="center rv">
      <span class="kicker" data-i18n="prog.day.kicker">A shift day</span>
      <h2 class="title" data-i18n="prog.day.h2">Structure is the therapy</h2>
      <p class="lead" data-i18n="prog.day.lead">Every hour has a purpose — that's the point.</p>
    </div>
    <div class="grid g4 mt">
      <div class="card rv"><div class="ic green">☕</div><h3>07:30</h3><p data-i18n="prog.day.c1">Crew meet-up &amp; check-in: mood, cravings, safety gear. Raha logs your check-in.</p></div>
      <div class="card rv"><div class="ic amber">🧤</div><h3>08:00</h3><p data-i18n="prog.day.c2">Cleanup shift in park / riverbank / street. Breaks built in; mentor nearby.</p></div>
      <div class="card rv"><div class="ic teal">⚖️</div><h3>11:30</h3><p data-i18n="prog.day.c3">Weigh &amp; sort: PET, metal, paper, glass. Tokens credited on the spot.</p></div>
      <div class="card rv"><div class="ic green">🧠</div><h3>13:30</h3><p data-i18n="prog.day.c4">Lunch, then group therapy, an AI session, or a skills class — your schedule.</p></div>
    </div>
  </div>
</section>

<!-- Economy -->
<section>
  <div class="container">
    <div class="center rv">
      <span class="kicker" data-i18n="prog.eco.kicker">The circular economy of recovery</span>
      <h2 class="title" data-i18n="prog.eco.h2">Where the money goes</h2>
    </div>
    <div class="grid g3 mt">
      <div class="card rv"><div class="ic green">♻️</div><h3 data-i18n="prog.eco.c1t">Recycling revenue</h3><p data-i18n="prog.eco.c1p">Sold materials (PET, metal, paper, glass) plus upcycled medical products generate income for the program.</p></div>
      <div class="card rv"><div class="ic amber">🪙</div><h3 data-i18n="prog.eco.c2t">Participant rewards</h3><p data-i18n="prog.eco.c2p">Fair wages plus tokens redeemable for essentials, transport, phone credit and skills courses.</p></div>
      <div class="card rv"><div class="ic teal">💊</div><h3 data-i18n="prog.eco.c3t">Treatment fund</h3><p data-i18n="prog.eco.c3p">A transparent share funds each crew's therapy, psychiatric care and essential medicines — published on the Impact page.</p></div>
    </div>
    <div class="mt rv" style="display:flex;gap:12px;flex-wrap:wrap;justify-content:center">
      <span class="badge" data-i18n="prog.b1">🧾 Open budget: crew revenue → 40% wages · 30% treatment · 30% operations</span>
      <span class="badge amber" data-i18n="prog.b2">No quotas used against participants — ever</span>
      <span class="badge teal" data-i18n="prog.b3">Wages at or above local minimum</span>
    </div>
  </div>
</section>

<!-- Waste to ward -->
<section style="background:#EFF5EA">
  <div class="container">
    <div class="center rv">
      <span class="kicker" data-i18n="prog.wtw.kicker">Waste → ward</span>
      <h2 class="title" data-i18n="prog.wtw.h2">The upcycling line: from litter to medical supplies</h2>
      <p class="lead" data-i18n="prog.wtw.lead">The most symbolic job in the program: making the material of the street useful to the hospital.</p>
    </div>
    <figure class="hero-art rv" style="margin:26px auto 0;max-width:840px">
  <img src="assets/ward-line.png" alt="Illustration of the upcycling line: bottles to medical supplies" loading="lazy" width="840" height="472">
</figure>
    <div class="grid g4 mt">
      <div class="card rv"><div class="ic green">🧴</div><h3 data-i18n="prog.wtw.c1t">1 · Collect &amp; sort</h3><p data-i18n="prog.wtw.c1p">PET and HDPE plastics separated on the sorting line, weighed and logged.</p></div>
      <div class="card rv"><div class="ic amber">🔪</div><h3 data-i18n="prog.wtw.c2t">2 · Clean &amp; shred</h3><p data-i18n="prog.wtw.c2p">Wash, sanitize and shred into certified flake at the micro-factory.</p></div>
      <div class="card rv"><div class="ic teal">🖨️</div><h3 data-i18n="prog.wtw.c3t">3 · Remanufacture</h3><p data-i18n="prog.wtw.c3p">With certified manufacturing partners: face shields, splint components, clinical packaging.</p></div>
      <div class="card rv"><div class="ic green">🏥</div><h3 data-i18n="prog.wtw.c4t">4 · Deliver</h3><p data-i18n="prog.wtw.c4p">Supplies donated or sold to clinics; proceeds feed the treatment fund.</p></div>
    </div>
    <p class="center small muted mt rv" data-i18n="prog.wtw.note">Safety note: medical-grade remanufacturing happens with certified partners under regulatory standards; GreenRoot crews handle collection, sorting and pre-processing only.</p>
  </div>
</section>

<!-- Raha in the program -->
<section>
  <div class="container">
    <div class="grid g2" style="align-items:center">
      <div class="rv">
        <span class="kicker" data-i18n="prog.ai.kicker">Raha, through every phase</span>
        <h2 class="title" data-i18n="prog.ai.h2">An AI companion in your pocket</h2>
        <p class="lead" data-i18n="prog.ai.p">Raha is with you from day one: craving SOS in the hard moments, daily mood check-ins, relapse-risk alerts shared (only with your consent) with your counselor, token wallet, and the career-rewind plan that maps your old job skills back into reach.</p>
        <a class="btn mt" href="ai.html" data-i18n="prog.ai.b">Try the Raha demo</a>
      </div>
      <div class="card rv"><div class="ic teal">🤖</div><ul style="margin-top:0">
        <li data-i18n="prog.ai.l1">Craving SOS: urge-surfing coach, 24/7</li>
        <li data-i18n="prog.ai.l2">Mood &amp; sleep check-ins with relapse-risk alerts</li>
        <li data-i18n="prog.ai.l3">Token wallet, goals and milestone celebrations</li>
        <li data-i18n="prog.ai.l4">Career rewind: résumé, skills map, interview practice</li>
        <li data-i18n="prog.ai.l5">Private by design: opt-in, encrypted, participant-owned</li>
      </ul></div>
    </div>
  </div>
</section>

<!-- CTA -->
<section style="padding-top:0">
  <div class="container">
    <div class="cta-band rv">
      <h2 data-i18n="prog.cta.h2">Ready for a structured year?</h2>
      <p data-i18n="prog.cta.p">Spots in the pilot cohort are limited. Talk to us — no commitment needed.</p>
      <a class="btn" href="join.html" data-i18n="nav.cta">Join the pilot</a>
    </div>
  </div>
</section>
</main>

<footer>
  <div class="container">
    <div class="grid g3">
      <div>
        <div class="fbrand"><svg class="logo" viewBox="0 0 48 48" fill="none" width="34" height="34"><circle cx="24" cy="24" r="23" fill="#0E4D36"/><path d="M24 38c0-9 2-14 9-19-1 8-3 13-9 19Z" fill="#A3E635"/><path d="M24 38c0-9-2-14-9-19 1 8 3 13 9 19Z" fill="#4ADE80"/><path d="M24 38V22" stroke="#D9F99D" stroke-width="2" stroke-linecap="round"/></svg>GreenRoot</div>
        <p data-i18n="footer.tag">Healing people, healing the planet — recovery through environmental work, funded by recycling, guided by AI.</p>
      </div>
      <div>
        <h4 data-i18n="footer.links">Explore</h4>
        <p><a href="science.html" data-i18n="nav.science">Science</a> · <a href="program.html" data-i18n="nav.program">Program</a> · <a href="ai.html" data-i18n="nav.ai">AI companion</a></p>
        <p class="mt-s"><a href="dashboard.html" data-i18n="nav.impact">Impact</a>
      <a href="cop31.html" data-i18n="nav.cop31">COP31</a> · <a href="areas.html" data-i18n="nav.areas">Areas</a> · <a href="partners.html" data-i18n="nav.partners">Partner finder</a>
        <a href="join.html" data-i18n="nav.join">Join</a></p>
      </div>
      <div>
        <h4 data-i18n="footer.contact">Contact</h4>
        <p>hello@greenroot.example</p>
        <p data-i18n="footer.contact2">Frankfurt · Tehran (pilot cities)</p>
    <p class="mt-s" style="font-size:12.5px">🐙 <a href="https://github.com/Websites-by-AI/greenroot" target="_blank" rel="noopener">GitHub</a> · ☁️ <a href="https://greenroot-af0.pages.dev" target="_blank" rel="noopener">Cloudflare Pages</a> · 🤗 <a href="https://sosa123456-greenroot.static.hf.space" target="_blank" rel="noopener">Hugging Face</a></p>
      </div>
    </div>
    <p class="disclaimer" data-i18n="footer.disclaimer">GreenRoot is a concept prototype. Nothing on this site is medical advice. Addiction is a medical condition — always work with qualified doctors and licensed treatment services. In an emergency, contact your local emergency number.</p>
    <p class="copy">© <span id="year">2026</span> GreenRoot.</p>
  </div>
</footer>

<script>
/* GreenRoot i18n dictionary — English & فارسی */
window.I18N = {
en: {
  "title.home":"GreenRoot — Healing people, healing the planet",
  "title.science":"The Science — GreenRoot",
  "title.program":"The Program — GreenRoot",
  "title.ai":"Raha, the AI companion — GreenRoot",
  "title.dashboard":"Impact dashboard — GreenRoot",
  "title.join":"Join us — GreenRoot",

  "nav.home":"Home","nav.science":"Science","nav.program":"Program","nav.ai":"AI companion","nav.impact":"Impact","nav.join":"Join","nav.cta":"Join the pilot",
  "footer.tag":"Healing people, healing the planet — recovery through environmental work, funded by recycling, guided by AI.",
  "footer.links":"Explore","footer.contact":"Contact","footer.contact2":"Frankfurt · Tehran (pilot cities)",
  "footer.disclaimer":"GreenRoot is a concept prototype. Nothing on this site is medical advice. Addiction is a medical condition — always work with qualified doctors and licensed treatment services. In an emergency, contact your local emergency number.",

  "home.hero.kicker":"Addiction recovery × green work × AI",
  "home.hero.h1":"Heal yourself.<br>Heal your city.",
  "home.hero.p":"GreenRoot turns recovery from addiction into paid environmental work: every bag of waste collected funds therapy and medicine — and an AI companion guides each person back to the career they had before.",
  "home.hero.cta1":"Explore the program","home.hero.cta2":"Try the AI companion",
  "home.chip1":"people in recovery","home.chip2":"waste collected","home.chip3":"less relapse at 6 months",
  "home.loop.title":"The GreenRoot Loop",
  "home.loop.n1":"Collect","home.loop.n2":"Earn","home.loop.n3":"Heal","home.loop.n4":"Return",

  "home.prob.kicker":"Why GreenRoot exists","home.prob.h2":"Three crises, one root",
  "home.prob.lead":"Addiction, unemployment and waste feed each other. GreenRoot attacks all three at once.",
  "home.prob.c1t":"Addiction thrives in emptiness",
  "home.prob.c1p":"Recovery fails when days are empty — no structure, no purpose, no people. Most relapses happen in long, unstructured hours alone.",
  "home.prob.c2t":"The job trap",
  "home.prob.c2p":"Employers reject gaps in a CV, so people in recovery stay jobless — and joblessness pushes them back to use. The door stays closed from both sides.",
  "home.prob.c3t":"Cities are drowning in waste",
  "home.prob.c3p":"Parks, riverbanks and streets collect litter faster than cities can clean it. Meanwhile recyclable material worth millions is lost every year.",

  "home.sol.kicker":"Our answer","home.sol.h2":"One program, three engines",
  "home.sol.lead":"Each engine makes the other two stronger. That is the whole idea.",
  "home.sol.c1t":"Evidence-based recovery",
  "home.sol.c1p":"Contingency management, behavioral activation and therapeutic community — psychology's most proven tools for addiction, built into every workday.",
  "home.sol.c1l":"Read the science →",
  "home.sol.c2t":"Paid green work",
  "home.sol.c2p":"Real wages for cleanup crews, sorting lines and upcycling workshops. Recycling income funds therapy, medicine — and the participants themselves.",
  "home.sol.c2l":"See the program →",
  "home.sol.c3t":"AI career rewind",
  "home.sol.c3p":"Our AI companion, Raha, coaches cravings, tracks mood and maps each person's skills back to their previous profession — the job they had before addiction.",
  "home.sol.c3l":"Meet Raha →",

  "home.med.kicker":"From street to ward","home.med.h2":"Waste in, medicine out",
  "home.med.lead":"The trash participants collect literally becomes part of their cure — twice.",
  "home.med.c1t":"1. Recycling income funds treatment",
  "home.med.c1p":"Sold recyclables — PET, metal, paper, glass — generate revenue. That revenue pays for therapy sessions, psychiatric care and essential medicines for the crew. Every kilo collected is a kilo of treatment funded.",
  "home.med.c2t":"2. Materials become medical supplies",
  "home.med.c2p":"In our upcycling line, collected plastics are cleaned, shredded and re-manufactured — with certified partners — into medical products: face shields, splint components and sterile-grade packaging for clinics.",

  "home.s1":"People in recovery","home.s2":"Waste collected & sorted","home.s3":"Relapse reduction at 6 months*","home.s4":"Toward therapy & medicine*",
  "home.demonote":"*Pilot cohort, demo figures for the concept.",

  "home.aud.kicker":"Who it's for","home.aud.h2":"Everybody wins",
  "home.aud.c1t":"For you in recovery","home.aud.c1p":"Structure, income, therapy and a path back to your old career — with dignity.",
  "home.aud.c2t":"For families","home.aud.c2p":"A safe, monitored program your loved one can be proud to be part of.",
  "home.aud.c3t":"For cities & companies","home.aud.c3p":"Cleaner public space, ESG impact and a proven social-return model.",
  "home.aud.c4t":"For partners & investors","home.aud.c4p":"A dual-revenue circular economy with measurable health outcomes.",
  "home.cta.h2":"One bag of trash. One brick of recovery.",
  "home.cta.p":"Join the pilot city program — as a participant, a partner, or a supporter.",

  "sci.hero.kicker":"The psychology behind the model",
  "sci.hero.h1":"Why work in nature heals addiction",
  "sci.hero.p":"GreenRoot is not \"a job as therapy\" as a slogan. Every element of the program maps onto a well-studied mechanism in addiction science.",
  "sci.m1t":"Contingency management & the token economy",
  "sci.m1p":"Contingency management (CM) — rewarding drug-free behaviour immediately and consistently — is among the most evidence-based psychosocial treatments for substance use disorder, especially stimulants. GreenRoot is a working token economy: every shift, every sorted kilo and every clean screen earns tokens with real value (medicine credit, essentials, skills courses).",
  "sci.m2t":"Behavioral activation & meaningful work",
  "sci.m2p":"Behavioral activation shows that scheduling rewarding, value-driven activities lifts mood and reduces substance use as effectively as some formal therapies. Supported-employment research goes further: for people in recovery, meaningful work improves abstinence, quality of life and treatment retention.",
  "sci.m3t":"Rewiring the reward system",
  "sci.m3p":"Addiction hijacks the brain's dopamine loop: cue → use → relief. Recovery means building a new loop: cue → routine → reward. The cleanup shift does exactly that — stress and empty hours (the cues) are replaced by crew work (the routine), and the payoff is visible, immediate and social: pay, tokens, a clean street, pride.",
  "sci.m4t":"Green care: nature as medicine",
  "sci.m4p":"Time in green space measurably lowers cortisol and rumination and restores attention (\"attention restoration theory\"). Outdoor physical work adds exercise — which trials link to reduced craving intensity and better sleep. Nature is not decoration in GreenRoot; it is the treatment room.",
  "sci.m5t":"Community & identity",
  "sci.m5p":"Therapeutic communities — where people recover together, in roles that matter — have decades of evidence behind them. In GreenRoot every member is not \"a patient\" but a crew member with a contribution the whole city can see. Identity shifts from addict to environmental worker; stigma shrinks with every clean park.",
  "sci.m6t":"The dual-impact loop",
  "sci.m6p":"Each element feeds the next: work → income → treatment → stability → better work → lower relapse risk. Meanwhile the city gets cleaner and clinics get supplies. Recovery and environment compound like interest.",

  "sci.flow.kicker":"The mechanism, end to end","sci.flow.h2":"From craving to career, in one loop",
  "sci.flow.f1":"Cue: empty day, craving","sci.flow.f1s":"High-risk moment",
  "sci.flow.f2":"Crew shift outdoors","sci.flow.f2s":"Structure + exercise + nature",
  "sci.flow.f3":"Wages + tokens","sci.flow.f3s":"Immediate, earned reward",
  "sci.flow.f4":"Therapy & medicine funded","sci.flow.f4s":"Clinical care continues",
  "sci.flow.f5":"Raha AI coaching","sci.flow.f5s":"Cravings, mood, relapse alerts",
  "sci.flow.f6":"Return to old career","sci.flow.f6s":"Identity restored",

  "sci.ev.kicker":"Evidence base","sci.ev.h2":"What the research says",
  "sci.ev.lead":"A summary of the key findings GreenRoot is built on.",
  "sci.ev.th1":"Intervention","sci.ev.th2":"Evidence in brief","sci.ev.th3":"In GreenRoot",
  "sci.ev.r1a":"Contingency management",
  "sci.ev.r1b":"Strong randomized-trial evidence; reliably increases abstinence and treatment retention, including for stimulant use disorder.",
  "sci.ev.r1c":"Token economy with real rewards for shifts and milestones",
  "sci.ev.r2a":"Supported employment / social enterprise",
  "sci.ev.r2b":"Work-integrated programs improve employment outcomes, self-esteem and quality of life for people in recovery.",
  "sci.ev.r2c":"Paid cleanup, sorting and upcycling roles",
  "sci.ev.r3a":"Behavioral activation",
  "sci.ev.r3b":"Structured, value-driven activity reduces depressive symptoms and substance use.",
  "sci.ev.r3c":"Scheduled meaningful shifts replace empty hours",
  "sci.ev.r4a":"Nature / green exercise",
  "sci.ev.r4b":"Green-space time lowers stress hormones and improves mood and attention; exercise is linked to reduced craving.",
  "sci.ev.r4c":"All shifts outdoors in parks, riverbanks and streets",
  "sci.ev.r5a":"Therapeutic community",
  "sci.ev.r5b":"Peer community with meaningful roles shows long-term gains in abstinence and social reintegration.",
  "sci.ev.r5c":"Crew identity, peer mentors, alumni network",
  "sci.ev.note":"GreenRoot cites established scientific literature to explain its design; it does not claim these studies evaluated GreenRoot itself. Pilot outcomes shown elsewhere are demo figures.",

  "sci.eth.t1":"Dignity first — our ethical red lines",
  "sci.eth.l1":"Real wages, never \"therapy tokens\" alone.",
  "sci.eth.l2":"Therapy and medicine are never conditional on work output or quotas.",
  "sci.eth.l3":"Trauma-informed supervision; the pace is set by the participant's health team.",
  "sci.eth.l4":"Full consent and privacy: participation data is never shared with police or employers without consent.",
  "sci.eth.l5":"Recovery comes first — a hard day is a reason to rest, not a reason to lose your place.",
  "sci.eth.t2":"What GreenRoot is not",
  "sci.eth.l6":"Not a replacement for medical detox or psychiatric care — we fund and coordinate it.",
  "sci.eth.l7":"Not unpaid labor disguised as therapy.",
  "sci.eth.l8":"Not a surveillance program — Raha the AI is opt-in and its data belongs to the participant.",
  "sci.eth.l9":"Not a cure — addiction is chronic; we build the structure that makes remission stick.",

  "sci.cta.h2":"Science is the root. People are the growth.",
  "sci.cta.p":"See how the mechanisms become a real 12-month program.",
  "sci.cta.b":"Explore the program",

  "prog.hero.kicker":"Twelve months, four phases",
  "prog.hero.h1":"The GreenRoot program",
  "prog.hero.p":"A structured journey from stabilization to a paid green job to the career you had before — with therapy and medicine funded by the work itself.",
  "prog.ph.kicker":"The four phases","prog.ph.h2":"Your path through GreenRoot",
  "prog.ph1w":"Weeks 0–4","prog.ph1t":"Stabilize",
  "prog.ph1p":"Medical check-up and psychiatric assessment; medication-assisted treatment where indicated; a personal safety and craving plan; first meeting with Raha, your AI companion. No shifts yet — health first.",
  "prog.ph2w":"Weeks 2–12","prog.ph2t":"Work & heal",
  "prog.ph2p":"Three supported cleanup shifts a week in a small crew with a peer mentor. Group therapy twice a week. Tokens for every shift; weekly token review with your counselor.",
  "prog.ph3w":"Months 3–6","prog.ph3t":"Build",
  "prog.ph3p":"Move to the sorting line: materials handling, machine basics, the upcycling workshop, quality control. Raha maps your skills and drafts your career-rewind plan toward your previous profession.",
  "prog.ph4w":"Months 6–12","prog.ph4t":"Return",
  "prog.ph4p":"CV rebuild with honest gap-framing, mock interviews, a supported internship or direct placement, and the alumni network. You leave with a job and a community — not just a certificate.",

  "prog.day.kicker":"A shift day","prog.day.h2":"Structure is the therapy",
  "prog.day.lead":"Every hour has a purpose — that's the point.",
  "prog.day.c1":"Crew meet-up & check-in: mood, cravings, safety gear. Raha logs your check-in.",
  "prog.day.c2":"Cleanup shift in park / riverbank / street. Breaks built in; mentor nearby.",
  "prog.day.c3":"Weigh & sort: PET, metal, paper, glass. Tokens credited on the spot.",
  "prog.day.c4":"Lunch, then group therapy, an AI session, or a skills class — your schedule.",

  "prog.eco.kicker":"The circular economy of recovery","prog.eco.h2":"Where the money goes",
  "prog.eco.c1t":"Recycling revenue",
  "prog.eco.c1p":"Sold materials (PET, metal, paper, glass) plus upcycled medical products generate income for the program.",
  "prog.eco.c2t":"Participant rewards",
  "prog.eco.c2p":"Fair wages plus tokens redeemable for essentials, transport, phone credit and skills courses.",
  "prog.eco.c3t":"Treatment fund",
  "prog.eco.c3p":"A transparent share funds each crew's therapy, psychiatric care and essential medicines — published on the Impact page.",
  "prog.b1":"🧾 Open budget: crew revenue → 40% wages · 30% treatment · 30% operations",
  "prog.b2":"No quotas used against participants — ever",
  "prog.b3":"Wages at or above local minimum",

  "prog.wtw.kicker":"Waste → ward",
  "prog.wtw.h2":"The upcycling line: from litter to medical supplies",
  "prog.wtw.lead":"The most symbolic job in the program: making the material of the street useful to the hospital.",
  "prog.wtw.c1t":"1 · Collect & sort","prog.wtw.c1p":"PET and HDPE plastics separated on the sorting line, weighed and logged.",
  "prog.wtw.c2t":"2 · Clean & shred","prog.wtw.c2p":"Wash, sanitize and shred into certified flake at the micro-factory.",
  "prog.wtw.c3t":"3 · Remanufacture","prog.wtw.c3p":"With certified manufacturing partners: face shields, splint components, clinical packaging.",
  "prog.wtw.c4t":"4 · Deliver","prog.wtw.c4p":"Supplies donated or sold to clinics; proceeds feed the treatment fund.",
  "prog.wtw.note":"Safety note: medical-grade remanufacturing happens with certified partners under regulatory standards; GreenRoot crews handle collection, sorting and pre-processing only.",

  "prog.ai.kicker":"Raha, through every phase","prog.ai.h2":"An AI companion in your pocket",
  "prog.ai.p":"Raha is with you from day one: craving SOS in the hard moments, daily mood check-ins, relapse-risk alerts shared (only with your consent) with your counselor, token wallet, and the career-rewind plan that maps your old job skills back into reach.",
  "prog.ai.b":"Try the Raha demo",
  "prog.ai.l1":"Craving SOS: urge-surfing coach, 24/7",
  "prog.ai.l2":"Mood & sleep check-ins with relapse-risk alerts",
  "prog.ai.l3":"Token wallet, goals and milestone celebrations",
  "prog.ai.l4":"Career rewind: résumé, skills map, interview practice",
  "prog.ai.l5":"Private by design: opt-in, encrypted, participant-owned",

  "prog.cta.h2":"Ready for a structured year?",
  "prog.cta.p":"Spots in the pilot cohort are limited. Talk to us — no commitment needed.",

  "ai.hero.kicker":"AI that walks beside you","ai.hero.h1":"Meet Raha",
  "ai.hero.p":"Raha (رهاء — \"freedom\") is GreenRoot's AI recovery companion: a craving coach in the hard moments, a mood tracker between sessions, and a career guide that leads you back to the job you had before addiction.",
  "ai.hero.cta1":"Try the demo chat","ai.hero.cta2":"Career rewind demo",
  "ai.hero.side":"\"Cravings last about 20 minutes. You never have to face one alone.\"",

  "ai.f.kicker":"What Raha does","ai.f.h2":"Six jobs, one companion",
  "ai.f.c1t":"Craving SOS","ai.f.c1p":"Urge-surfing coach, breathing exercises and a delay timer — plus one-tap call to your buddy or counselor when it's too much.",
  "ai.f.c2t":"Mood & relapse watch","ai.f.c2p":"Daily 30-second check-ins. Raha spots risky patterns — bad sleep, missed shifts, isolation — and alerts your counselor (only if you opt in).",
  "ai.f.c3t":"Token wallet & goals","ai.f.c3p":"See tokens earned per shift, set goals (a course, a bicycle, family gifts) and celebrate milestones — small wins, wired into the habit loop.",
  "ai.f.c4t":"Career rewind","ai.f.c4p":"The signature feature: Raha maps the job you had before addiction, finds your skill gaps, builds a refresh plan and practises interviews with you.",
  "ai.f.c5t":"Family bridge","ai.f.c5p":"Opt-in updates for family: milestones reached, shifts worked, mood trends — rebuilding trust with facts, not promises.",
  "ai.f.c6t":"Private by design","ai.f.c6p":"Your data belongs to you. Encrypted, opt-in for every share, never shared with police or employers. Delete everything with one tap.",

  "ai.demo.kicker":"Interactive demo","ai.demo.h2":"Talk to Raha (prototype)",
  "ai.demo.lead":"This is a scripted demo that runs fully offline in your browser — the real Raha will be an AI model with human oversight.",
  "ai.chat.sub":"GreenRoot AI companion · demo",
  "ai.chat.ph":"Type a message…","ai.chat.send":"Send",

  "ai.cr.kicker":"Career rewind","ai.cr.h2":"Back to the job you had before",
  "ai.cr.lead":"Pick a previous profession and see a sample 3-step rewind plan Raha would build with you.",
  "ai.cr.j1":"Driver","ai.cr.j2":"Nurse / health worker","ai.cr.j3":"Accountant","ai.cr.j4":"Mechanic","ai.cr.j5":"Teacher","ai.cr.j6":"Cook",

  "ai.mood.t":"Daily check-in (try it)",
  "ai.mood.s":"Tap today's mood — Raha tracks the trend and watches for relapse-risk patterns.",
  "ai.mood.hint":"Your streak and trend will appear here.",
  "ai.priv.t":"Safety & honesty",
  "ai.priv.l1":"Raha is an assistant, not a therapist — licensed humans make clinical decisions.",
  "ai.priv.l2":"Crisis messages always route to a human, fast.",
  "ai.priv.l3":"This demo is scripted and stores nothing.",
  "ai.priv.l4":"The production version would require clinical validation and strict data-protection review (GDPR and local law).",

  "ai.cta.h2":"Twenty minutes. One craving. One companion.",
  "ai.cta.p":"Join the pilot and Raha walks with you from the first shift to the first day back at your old job.",

  "dash.hero.badge":"📊 Demo data — pilot concept",
  "dash.hero.h1":"Impact dashboard",
  "dash.hero.p":"Recovery is only real if you can measure it. This dashboard shows the numbers GreenRoot publishes for every cohort — here with demo data.",
  "dash.s1":"People in program","dash.s2":"Waste collected","dash.s3":"To therapy & medicine","dash.s4":"Medical items produced",
  "dash.s5":"GreenRoot 6-month relapse*","dash.s6":"Typical 6-month relapse*","dash.s7":"CO₂e saved by recycling","dash.s8":"Program completion",
  "dash.note":"*Illustrative comparison: internal pilot cohort vs. commonly reported 6-month relapse ranges. Demo figures, not clinical claims.",
  "dash.ch1.t":"Monthly collection (kg)","dash.ch1.s":"Crew output grows as recovery grows — momentum you can weigh.",
  "dash.ch2.t":"Waste mix (%)","dash.ch2.s":"What the crews collect — and what each stream becomes.",
  "dash.ch2.t1":"18.4 t","dash.ch2.t2":"collected",
  "dash.ch3.t":"Treatment fund allocation","dash.ch3.s":"Where the recycling money goes, per month (demo).",
  "dash.ch3.l1":"Therapy sessions","dash.ch3.l2":"Medicines","dash.ch3.l3":"Coordination",
  "dash.ch4.t":"Monthly report — pilot cohort","dash.ch4.s":"Published openly every month.",
  "dash.ch4.th1":"Month","dash.ch4.th2":"Active","dash.ch4.th3":"kg","dash.ch4.th4":"Fund (€)",
  "dash.tr.c1t":"Open budget","dash.tr.c1p":"Every euro of recycling revenue is traced: wages, treatment fund, operations. Published monthly.",
  "dash.tr.c2t":"Independent evaluation","dash.tr.c2p":"Health outcomes are assessed with university partners, not by us alone.",
  "dash.tr.c3t":"Privacy-safe metrics","dash.tr.c3p":"All participant data is aggregated and anonymized. No individual is ever visible in these numbers.",
  "dash.cta.h2":"Want this dashboard for your city?",
  "dash.cta.p":"Municipalities, waste companies and clinics: let's build a cohort together.",
  "dash.cta.b":"Partner with us",

  "join.hero.kicker":"Join GreenRoot","join.hero.h1":"There's a place for you here",
  "join.hero.p":"Whether you're fighting for your own recovery, supporting someone you love, running a city — or ready to fund the model — start here.",
  "join.a.c1t":"I need help","join.a.c1p":"Confidential, no commitment. We'll call you back within 48 hours and explain everything — in your language.",
  "join.a.c2t":"I'm a family member","join.a.c2p":"Ask us anything. We'll explain the program, safety rules and how family updates work.",
  "join.a.c3t":"City / company","join.a.c3p":"Host a crew, supply waste streams, or sponsor a cohort. Measurable ESG with human depth.",
  "join.a.c4t":"Investor / partner","join.a.c4p":"Circular revenue plus health outcomes. Ask for the full pilot report and model.",
  "join.form.kicker":"Contact","join.form.h2":"Send us a message",
  "join.form.lead":"Demo form — in production this connects to our confidential intake line.",
  "join.form.name":"Your name (or a nickname)","join.form.contact":"Email or phone","join.form.role":"I am…","join.form.msg":"Message","join.form.send":"Send message",
  "join.form.o1":"Someone in recovery","join.form.o2":"A family member","join.form.o3":"A city / municipality","join.form.o4":"A company / recycler","join.form.o5":"An investor / NGO","join.form.o6":"Just curious",
  "join.form.ok":"✓ Thank you! This demo doesn't send data anywhere — but in production our team would contact you within 48 hours, confidentially.",
  "join.faq.h2":"Honest questions, honest answers",
  "join.q1":"Is this real employment or just \"therapy theater\"?",
  "join.a1":"Real employment. Participants sign a contract, earn at or above local minimum wage, and tokens are additional rewards on top — never a replacement for pay.",
  "join.q2":"What if I relapse during the program?",
  "join.a2":"You keep your place. Relapse is part of how addiction works medically. We pause the work, restart clinical support, and return when your health team agrees. You are not fired for being sick.",
  "join.q3":"Do I have to quit my medication to join?",
  "join.a3":"No — the opposite. Medication-assisted treatment is funded and encouraged where medically indicated. Our program coordinates with your doctor.",
  "join.q4":"Will the AI report me to anyone?",
  "join.a4":"Never without your consent. Raha's data belongs to you. Only opt-in alerts to your counselor exist, and crisis escalations go to humans who care for you — not to authorities.",
  "join.q5":"Can I really go back to my old career?",
  "join.a5":"In many cases, yes. Raha's career-rewind plan rebuilds skills honestly, frames the gap truthfully, and arranges supported internships with partner employers who hire for ability, not history.",
  "join.q6":"Which cities does the pilot run in?",
  "join.a6":"We are scoping pilot cohorts in Frankfurt and Tehran. Sign up and we'll tell you what's active near you.",
  "join.crisis.t":"🆘 In crisis right now?",
  "join.crisis.p":"If you or someone near you is in immediate danger (overdose, suicidal thoughts), contact your local emergency number now. In Iran, the state social-emergency addiction hotline is 09628. In Germany, you can call 112 for emergencies. You matter. One call can start everything."
},
fa: {
  "title.home":"گرین‌روت — انسان‌ها را شفا بده، سیاره را شفا بده",
  "title.science":"علم پشت گرین‌روت — گرین‌روت",
  "title.program":"برنامه — گرین‌روت",
  "title.ai":"رها، همیار هوش مصنوعی — گرین‌روت",
  "title.dashboard":"داشبورد اثرگذاری — گرین‌روت",
  "title.join":"به ما بپیوندید — گرین‌روت",

  "nav.home":"خانه","nav.science":"علم","nav.program":"برنامه","nav.ai":"همیار هوش مصنوعی","nav.impact":"اثرگذاری","nav.join":"پیوستن","nav.cta":"عضویت در پایلوت",
  "footer.tag":"انسان‌ها را شفا می‌دهیم، سیاره را هم — بهبودی از طریق کار محیط‌زیستی، تأمین‌شده با بازیافت، هدایت‌شده با هوش مصنوعی.",
  "footer.links":"بخش‌ها","footer.contact":"تماس","footer.contact2":"فرانکفورت · تهران (شهرهای پایلوت)",
  "footer.disclaimer":"گرین‌روت یک نمونهٔ مفهومی است. هیچ محتوایی در این سایت توصیهٔ پزشکی نیست. اعتیاد یک بیماری پزشکی است — همیشه با پزشکان واجد شرایط و مراکز درمانی مجاز همکاری کنید. در موارد اورژانسی با شمارهٔ اورژانس محلی خود تماس بگیرید.",

  "home.hero.kicker":"بهبودی از اعتیاد × کار سبز × هوش مصنوعی",
  "home.hero.h1":"خودت را شفا بده.<br>شهرت را شفا بده.",
  "home.hero.p":"گرین‌روت بهبودی از اعتیاد را به کار محیط‌زیستیِ حقوق‌دار تبدیل می‌کند: هر کیسه زباله‌ای که جمع می‌شود، هزینهٔ درمان و دارو می‌شود — و همیار هوش مصنوعی، هر فرد را به شغلی که روزی داشت برمی‌گرداند.",
  "home.hero.cta1":"برنامه را ببینید","home.hero.cta2":"همیار هوش مصنوعی را امتحان کنید",
  "home.chip1":"فرد در مسیر بهبودی","home.chip2":"کیلوگرم زباله جمع‌آوری‌شده","home.chip3":"کاهش لغزش در ۶ ماه",
  "home.loop.title":"چرخهٔ گرین‌روت",
  "home.loop.n1":"جمع‌آوری","home.loop.n2":"درآمد","home.loop.n3":"درمان","home.loop.n4":"بازگشت",

  "home.prob.kicker":"چرا گرین‌روت وجود دارد","home.prob.h2":"سه بحران، یک ریشه",
  "home.prob.lead":"اعتیاد، بیکاری و زباله به هم غذا می‌دهند. گرین‌روت هر سه را هم‌زمان هدف می‌گیرد.",
  "home.prob.c1t":"اعتیاد در خلأ رشد می‌کند",
  "home.prob.c1p":"وقتی روزها خالی باشند، بهبود شکست می‌خورد — نه نظمی، نه هدفی، نه کسی. بیشتر لغزش‌ها در ساعات طولانیِ بی‌ساختار و در تنهایی رخ می‌دهند.",
  "home.prob.c2t":"تلهٔ شغل",
  "home.prob.c2p":"کارفرماها جای خالی رزومه را نمی‌پذیرند؛ پس فردِ در حال بهبودی بیکار می‌ماند — و بیکاری او را به مصرف برمی‌گرداند. در، از هر دو سو بسته است.",
  "home.prob.c3t":"شهرها در زباله غرق می‌شوند",
  "home.prob.c3p":"پارک‌ها، حاشیهٔ رودها و خیابان‌ها سریع‌تر از توان شهرداری‌ها آلوده می‌شوند. در همین حال، مواد بازیافتیِ به‌ارزش میلیون‌ها هر سال از دست می‌رود.",

  "home.sol.kicker":"پاسخ ما","home.sol.h2":"یک برنامه، سه موتور",
  "home.sol.lead":"هر موتور، دو موتور دیگر را قوی‌تر می‌کند. کل ایده همین است.",
  "home.sol.c1t":"بهبودی مبتنی بر شواهد",
  "home.sol.c1p":"مدیریت پیامد، فعال‌سازی رفتاری و جامعهٔ درمانی — اثبات‌شده‌ترین ابزارهای روان‌شناسی در اعتیاد، درون هر روزِ کاری.",
  "home.sol.c1l":"علم پشت آن را بخوانید ←",
  "home.sol.c2t":"کار سبز حقوق‌دار",
  "home.sol.c2p":"دستمزد واقعی برای تیم‌های پاک‌سازی، خطوط جداسازی و کارگاه‌های بازیافت خلاق. درآمد بازیافت، درمان و دارو — و خودِ اعضا — را تأمین می‌کند.",
  "home.sol.c2l":"برنامه را ببینید ←",
  "home.sol.c3t":"بازگشت شغلی با هوش مصنوعی",
  "home.sol.c3p":"همیار هوش مصنوعی ما، رها، برای هوس‌ها مربیگری می‌کند، خلق را رصد می‌کند و مهارت‌های هر فرد را به حرفهٔ قبلی‌اش وصل می‌کند — شغلی که قبل از اعتیاد داشت.",
  "home.sol.c3l":"با رها آشنا شوید ←",

  "home.med.kicker":"از خیابان تا بیمارستان","home.med.h2":"زباله داخل، دارو خارج",
  "home.med.lead":"زباله‌ای که اعضا جمع می‌کنند، واقعاً بخشی از درمان خودشان می‌شود — دو بار.",
  "home.med.c1t":"۱. درآمد بازیافت، هزینهٔ درمان",
  "home.med.c1p":"فروش مواد بازیافتی — پت، فلز، کاغذ، شیشه — درآمد ایجاد می‌کند. این درآمد، جلسات درمان، مراقبت روان‌پزشکی و داروهای ضروری تیم را تأمین می‌کند. هر کیلو زباله، یک واحد درمانِ تأمین‌شده است.",
  "home.med.c2t":"۲. مواد، تبدیل به تجهیزات پزشکی",
  "home.med.c2p":"در خط بازیافت خلاق ما، پلاستیک‌های جمع‌شده شسته، خرد و — با شرکای معتبر — به محصولات پزشکی تبدیل می‌شوند: شیلد صورت، قطعات اسپلینت و بسته‌بندی باکیفیت برای کلینیک‌ها.",

  "home.s1":"فرد در بهبودی","home.s2":"زباله جمع‌آوری و جداسازی‌شده","home.s3":"کاهش لغزش در ۶ ماه*","home.s4":"صرف‌شده برای درمان و دارو*",
  "home.demonote":"*گروه پایلوت؛ ارقام نمایشی برای معرفی مفهوم.",

  "home.aud.kicker":"برای چه کسی","home.aud.h2":"همه برنده‌اند",
  "home.aud.c1t":"برای تو که در بهبودی هستی","home.aud.c1p":"نظم، درآمد، درمان و مسیری برای بازگشت به شغل قبلی‌ات — با عزت.",
  "home.aud.c2t":"برای خانواده‌ها","home.aud.c2p":"برنامه‌ای امن و تحت نظارت که عزیزتان به بودن در آن افتخار کند.",
  "home.aud.c3t":"برای شهرها و شرکت‌ها","home.aud.c3p":"فضای عمومی تمیزتر، اثر ESG قابل‌اندازه‌گیری و مدلی با بازده اجتماعی اثبات‌شده.",
  "home.aud.c4t":"برای شرکا و سرمایه‌گذاران","home.aud.c4p":"اقتصاد چرخشی با درآمد دوگانه و پیامدهای سلامتِ قابل‌سنجش.",
  "home.cta.h2":"یک کیسه زباله. یک آجر بهبودی.",
  "home.cta.p":"به برنامهٔ پایلوت شهری بپیوندید — به‌عنوان عضو، شریک یا حامی.",

  "sci.hero.kicker":"روان‌شناسی پشت این مدل",
  "sci.hero.h1":"چرا کار در طبیعت، اعتیاد را شفا می‌دهد",
  "sci.hero.p":"گرین‌روت شعارِ «کار به‌جای درمان» نیست. هر عنصر برنامه به یک سازوکارِ مطالعه‌شده در علم اعتیاد گره خورده است.",
  "sci.m1t":"مدیریت پیامد و اقتصاد توکنی",
  "sci.m1p":"مدیریت پیامد (CM) — پاداش دادنِ فوری و منظم به رفتار پرهیز از مصرف — از اثبات‌شده‌ترین درمان‌های روانی-اجتماعی اختلال مصرف مواد است، به‌ویژه برای محرک‌ها. گرین‌روت یک اقتصاد توکنیِ در حال کار است: هر شیفت، هر کیلوی جداسازی‌شده و هر تست تمیز، توکنی با ارزش واقعی می‌سازد (اعتبار دارو، اقلام ضروری، دوره‌های مهارتی).",
  "sci.m2t":"فعال‌سازی رفتاری و کارِ معنادار",
  "sci.m2p":"فعال‌سازی رفتاری نشان می‌دهد برنامه‌ریزی فعالیت‌های لذت‌بخش و هم‌راستا با ارزش‌ها، خلق را بهبود می‌دهد و مصرف مواد را به‌اندازهٔ برخی درمان‌های رسمی کاهش می‌دهد. پژوهش‌های اشتغال حمایتی هم فراتر می‌روند: برای افراد در بهبودی، کارِ معنادار، پرهیز از مصرف، کیفیت زندگی و ماندگاری در درمان را بهتر می‌کند.",
  "sci.m3t":"بازسازی سیستم پاداش مغز",
  "sci.m3p":"اعتیاد حلقهٔ دوپامین مغز را می‌دزدد: محرک ← مصرف ← تسکین. بهبود یعنی ساختن حلقه‌ای تازه: محرک ← عمل ← پاداش. شیفت پاک‌سازی دقیقاً همین است — استرس و ساعت‌های خالی (محرک‌ها) با کار تیمی (عمل) جایگزین می‌شود و پاداش، مرئی و فوری و اجتماعی است: دستمزد، توکن، خیابانی تمیز، غرور.",
  "sci.m4t":"مراقبت سبز: طبیعت به‌مثابهٔ دارو",
  "sci.m4p":"وقت گذراندن در فضای سبز به‌طور قابل‌اندازه‌گیری کورتیزول و نشخوار ذهنی را کم و توجه را بازیابی می‌کند (نظریهٔ بازیابی توجه). کارِ بدنی در فضای باز، ورزش را هم اضافه می‌کند — که کارآزمایی‌ها آن را به کاهش شدت هوس و خواب بهتر پیوند می‌زنند. طبیعت در گرین‌روت تزئین نیست؛ اتاق درمان است.",
  "sci.m5t":"جامعه و هویت",
  "sci.m5p":"جامعه‌های درمانی — جایی که افراد با هم و در نقش‌های اثرگذار بهبود می‌یابند — دهه‌ها شواهد پشتشان است. در گرین‌روت هر عضو «بیمار» نیست؛ عضو تیمی است که سهمش را همهٔ شهر می‌بیند. هویت از «معتاد» به «کارگر محیط‌زیست» تغییر می‌کند و با هر پارک تمیز، انگ اجتماعی کوچک‌تر می‌شود.",
  "sci.m6t":"حلقهٔ اثر دوگانه",
  "sci.m6p":"هر حلقه، حلقهٔ بعد را تغذیه می‌کند: کار ← درآمد ← درمان ← ثبات ← کار بهتر ← کاهش خطر لغزش. در همین حین شهر تمیزتر می‌شود و کلینیک‌ها تجهیزات می‌گیرند. بهبودی و محیط‌زیست مثل بهرهٔ مرکب با هم رشد می‌کنند.",

  "sci.flow.kicker":"سازوکار، از ابتدا تا انتها","sci.flow.h2":"از هوس تا حرفه، در یک چرخه",
  "sci.flow.f1":"محرک: روز خالی، هوس","sci.flow.f1s":"لحظهٔ پرخطر",
  "sci.flow.f2":"شیفت تیمی در فضای باز","sci.flow.f2s":"نظم + ورزش + طبیعت",
  "sci.flow.f3":"دستمزد + توکن","sci.flow.f3s":"پاداش فوری و اوده‌شده",
  "sci.flow.f4":"درمان و دارو تأمین شد","sci.flow.f4s":"مراقبت بالینی ادامه دارد",
  "sci.flow.f5":"مربی‌گری رها (AI)","sci.flow.f5s":"هوس، خلق، هشدار لغزش",
  "sci.flow.f6":"بازگشت به شغل قبلی","sci.flow.f6s":"هویت بازیابی شد",

  "sci.ev.kicker":"مبانی شواهد","sci.ev.h2":"پژوهش‌ها چه می‌گویند",
  "sci.ev.lead":"خلاصهٔ یافته‌های کلیدی که گرین‌روت روی آن‌ها بنا شده.",
  "sci.ev.th1":"مداخله","sci.ev.th2":"شواهد در یک نگاه","sci.ev.th3":"در گرین‌روت",
  "sci.ev.r1a":"مدیریت پیامد",
  "sci.ev.r1b":"شواهد قوی از کارآزمایی‌های تصادفی‌سازی‌شده؛ افزایش قابل‌اتکای پرهیز از مصرف و ماندگاری در درمان، از جمله در اختلال مصرف محرک.",
  "sci.ev.r1c":"اقتصاد توکنی با پاداش واقعی برای شیفت‌ها و نقاط عطف",
  "sci.ev.r2a":"اشتغال حمایتی / کارآفرینی اجتماعی",
  "sci.ev.r2b":"برنامه‌های کار-محور برای افراد در بهبودی، نتایج اشتغال، عزت‌نفس و کیفیت زندگی را بهبود می‌دهند.",
  "sci.ev.r2c":"نقش‌های حقوق‌دار: پاک‌سازی، جداسازی، بازیافت خلاق",
  "sci.ev.r3a":"فعال‌سازی رفتاری",
  "sci.ev.r3b":"فعالیت ساخت‌یافته و ارزش‌محور، علائم افسردگی و مصرف مواد را کاهش می‌دهد.",
  "sci.ev.r3c":"شیفت‌های معنادارِ زمان‌بندی‌شده به‌جای ساعت‌های خالی",
  "sci.ev.r4a":"طبیعت / ورزش سبز",
  "sci.ev.r4b":"حضور در فضای سبز، هورمون‌های استرس را کم و خلق و توجه را بهتر می‌کند؛ ورزش با کاهش هوس پیوند دارد.",
  "sci.ev.r4c":"همهٔ شیفت‌ها در فضای باز: پارک، حاشیهٔ رود، خیابان",
  "sci.ev.r5a":"جامعهٔ درمانی",
  "sci.ev.r5b":"جامعهٔ همتا با نقش‌های معنادار، دستاوردهای بلندمدت در پرهیز از مصرف و بازگشت اجتماعی دارد.",
  "sci.ev.r5c":"هویت تیمی، مربیان همتا، شبکهٔ فارغ‌التحصیلان",
  "sci.ev.note":"گرین‌روت برای توضیح طراحی‌اش به ادبیات علمیِ تثبیت‌شده ارجاع می‌دهد؛ ادعا نمی‌کند این مطالعات خودِ گرین‌روت را ارزیابی کرده‌اند. نتایج پایلوتِ نشان‌داده‌شده در صفحات دیگر، ارقام نمایشی است.",

  "sci.eth.t1":"اول عزت — خطوط قرمز اخلاقی ما",
  "sci.eth.l1":"دستمزد واقعی؛ هرگز فقط «توکن درمانی».",
  "sci.eth.l2":"درمان و دارو هرگز مشروط به خروجی کار یا سهمیه نیست.",
  "sci.eth.l3":"نظارتِ مبتنی بر آگاهی از تروما؛ سرعتِ مسیر را تیم سلامتِ خودِ فرد تعیین می‌کند.",
  "sci.eth.l4":"رضایت کامل و حریم خصوصی: داده‌های مشارکت بدون رضایت، هرگز با پلیس یا کارفرما به اشتراک گذاشته نمی‌شود.",
  "sci.eth.l5":"بهبود مقدم است — روزِ سخت، دلیل استراحت است، نه دلیل از دست دادن جایگاه.",
  "sci.eth.t2":"گرین‌روت چه چیزی نیست",
  "sci.eth.l6":"جایگزین سم‌زدایی پزشکی یا مراقبت روان‌پزشکی نیست — ما آن را تأمین مالی و هماهنگ می‌کنیم.",
  "sci.eth.l7":"کارِ بی‌مزدِ پوشیده در لباس درمان نیست.",
  "sci.eth.l8":"برنامهٔ نظارتی نیست — رها اختیاری است و داده‌اش مالِ خودِ فرد است.",
  "sci.eth.l9":"شفا نیست — اعتیاد مزمن است؛ ما ساختاری می‌سازیم که بهبودی را پایدار کند.",

  "sci.cta.h2":"علم، ریشه است. آدم‌ها، رشد.",
  "sci.cta.p":"ببینید سازوکارها چطور به یک برنامهٔ واقعی ۱۲ماهه تبدیل می‌شوند.",
  "sci.cta.b":"برنامه را ببینید",

  "prog.hero.kicker":"دوازده ماه، چهار فاز",
  "prog.hero.h1":"برنامهٔ گرین‌روت",
  "prog.hero.p":"مسیری ساخت‌یافته از تثبیت تا شغل سبزِ حقوق‌دار تا حرفه‌ای که قبلاً داشتید — با درمان و دارویی که خودِ کار تأمینشان می‌کند.",
  "prog.ph.kicker":"چهار فاز","prog.ph.h2":"مسیر شما در گرین‌روت",
  "prog.ph1w":"هفته‌های ۰–۴","prog.ph1t":"تثبیت",
  "prog.ph1p":"چکاپ پزشکی و ارزیابی روان‌پزشکی؛ درمان با دارو در صورت لزوم؛ برنامهٔ شخصی ایمنی و هوس؛ اولین دیدار با رها، همیار هوش مصنوعی‌تان. هنوز شیفت نه — اول سلامت.",
  "prog.ph2w":"هفته‌های ۲–۱۲","prog.ph2t":"کار و شفا",
  "prog.ph2p":"هفته‌ای سه شیفت پاک‌سازیِ همراهی‌شده در تیمی کوچک با مربی همتا. دو جلسهٔ گروهی درمان در هفته. توکن برای هر شیفت؛ مرور هفتگی توکن با مشورتان.",
  "prog.ph3w":"ماه‌های ۳–۶","prog.ph3t":"ساختن",
  "prog.ph3p":"رفتن به خط جداسازی: کار با مواد، مبانی ماشین، کارگاه بازیافت خلاق، کنترل کیفیت. رها نقشهٔ مهارت‌هایتان را می‌کشد و طرحِ بازگشت شغلی به سمت حرفهٔ قبلی‌تان را می‌نویسد.",
  "prog.ph4w":"ماه‌های ۶–۱۲","prog.ph4t":"بازگشت",
  "prog.ph4p":"بازسازی رزومه با روایتِ صادقانهٔ وقفه، مصاحبهٔ تمرینی، کارآموزی حمایتی یا استخدام مستقیم، و شبکهٔ فارغ‌التحصیلان. با شغل و یک جامعه بیرون می‌روید — نه فقط گواهی.",

  "prog.day.kicker":"یک روزِ شیفت","prog.day.h2":"نظم، خودِ درمان است",
  "prog.day.lead":"هر ساعت یک هدف دارد — این دقیقاً نکته است.",
  "prog.day.c1":"قرار تیم و چک-این: خلق، هوس‌ها، تجهیزات ایمنی. رها چک-این را ثبت می‌کند.",
  "prog.day.c2":"شیفت پاک‌سازی در پارک / حاشیهٔ رود / خیابان. استراحت‌های برنامه‌ریزی‌شده؛ مربی در دسترس.",
  "prog.day.c3":"توزین و جداسازی: پت، فلز، کاغذ، شیشه. توکن‌ها همان‌جا شارژ می‌شوند.",
  "prog.day.c4":"ناهار، سپس گروه‌درمانی، جلسه با هوش مصنوعی یا کلاس مهارت — طبق برنامهٔ خودتان.",

  "prog.eco.kicker":"اقتصاد چرخه‌ایِ بهبودی","prog.eco.h2":"پول کجا می‌رود",
  "prog.eco.c1t":"درآمد بازیافت",
  "prog.eco.c1p":"فروش مواد (پت، فلز، کاغذ، شیشه) به‌علاوهٔ محصولات پزشکیِ بازیافت‌شده، درآمد برنامه را می‌سازد.",
  "prog.eco.c2t":"پاداش اعضا",
  "prog.eco.c2p":"دستمزد منصفانه به‌علاوهٔ توکن قابل‌خرج برای اقلام ضروری، حمل‌ونقل، شارژ و دوره‌های مهارتی.",
  "prog.eco.c3t":"صندوق درمان",
  "prog.eco.c3p":"سهمی شفاف، درمان، مراقبت روان‌پزشکی و داروهای ضروریِ هر تیم را تأمین می‌کند — و در صفحهٔ اثرگذاری منتشر می‌شود.",
  "prog.b1":"🧾 بودجهٔ باز: درآمد تیم ← ۴۰٪ دستمزد · ۳۰٪ درمان · ۳۰٪ عملیات",
  "prog.b2":"هیچ سهمیه‌ای علیه اعضا استفاده نمی‌شود — هرگز",
  "prog.b3":"دستمزد در حد یا بالای حداقلِ محلی",

  "prog.wtw.kicker":"زباله ← بیمارستان",
  "prog.wtw.h2":"خط بازیافت خلاق: از آشغال تا تجهیزات پزشکی",
  "prog.wtw.lead":"نمادین‌ترین شغل برنامه: تبدیل مادّهٔ خیابان به چیزِ مفید برای بیمارستان.",
  "prog.wtw.c1t":"۱ · جمع‌آوری و جداسازی","prog.wtw.c1p":"پلاستیک‌های پت و HDPE در خط جداسازی تفکیک، توزین و ثبت می‌شوند.",
  "prog.wtw.c2t":"۲ · شست‌وشو و خردایش","prog.wtw.c2p":"شست‌وشو، ضدعفونی و خردایش به فلِیکِ استاندارد در ریز-کارخانه.",
  "prog.wtw.c3t":"۳ · ساخت دوباره","prog.wtw.c3p":"با شرکای تولیدی معتبر: شیلد صورت، قطعات اسپلینت، بسته‌بندی کلینیکال.",
  "prog.wtw.c4t":"۴ · تحویل","prog.wtw.c4p":"تجهیزات به کلینیک‌ها اهدا یا فروخته می‌شود؛ عواید به صندوق درمان برمی‌گردد.",
  "prog.wtw.note":"نکتهٔ ایمنی: تولید دوباره با گرید پزشکی توسط شرکای معتبر و زیر استانداردهای قانونی انجام می‌شود؛ تیم‌های گرین‌روت فقط جمع‌آوری، جداسازی و پیش‌پردازش را بر عهده دارند.",

  "prog.ai.kicker":"رها، در تمام فازها","prog.ai.h2":"همیار هوش مصنوعی در جیبتان",
  "prog.ai.p":"رها از روز اول کنار شماست: SOS هوس در لحظه‌های سخت، چک-این روزانهٔ خلق، هشدارهای خطر لغزش (فقط با رضایت شما) برای مشورتان، کیف توکن، و طرحِ بازگشت شغلی که مهارت‌های شغل قبلی‌تان را دوباره در دسترس می‌کند.",
  "prog.ai.b":"دموی رها را امتحان کنید",
  "prog.ai.l1":"SOS هوس: مربی موج‌سواریِ هوس، شبانه‌روزی",
  "prog.ai.l2":"چک-این خلق و خواب با هشدار خطر لغزش",
  "prog.ai.l3":"کیف توکن، اهداف و جشنِ نقاط عطف",
  "prog.ai.l4":"بازگشت شغلی: رزومه، نقشهٔ مهارت، تمرین مصاحبه",
  "prog.ai.l5":"خصوصی از پایه: اختیاری، رمزنگاری‌شده، متعلق به خودتان",

  "prog.cta.h2":"برای یک سالِ ساخت‌یافته آماده‌اید؟",
  "prog.cta.p":"ظرفیت گروه پایلوت محدود است. با ما حرف بزنید — بدون هیچ تعهدی.",

  "ai.hero.kicker":"هوش مصنوعی که کنارتان قدم می‌زند","ai.hero.h1":"با رها آشنا شوید",
  "ai.hero.p":"رها («رهاء» یعنی آزادی) همیار بهبودیِ گرین‌روت است: مربی هوس در لحظه‌های سخت، ردیاب خلق بین جلسات، و راهنمای شغلی که شما را به کاری که قبل از اعتیاد داشتید برمی‌گرداند.",
  "ai.hero.cta1":"دموی چت را امتحان کنید","ai.hero.cta2":"دموی بازگشت شغلی",
  "ai.hero.side":"«هوس‌ها حدود ۲۰ دقیقه طول می‌کشند. شما هرگز مجبور نیستید تنها با یکی روبه‌رو شوید.»",

  "ai.f.kicker":"رها چه می‌کند","ai.f.h2":"شش کار، یک همیار",
  "ai.f.c1t":"SOS هوس","ai.f.c1p":"مربی موج‌سواریِ هوس، تمرین تنفس و تایمر تأخیر — و تماس یک‌ضربه‌ای با همراه یا مشورتان وقتی از حد می‌گذرد.",
  "ai.f.c2t":"رصد خلق و لغزش","ai.f.c2p":"چک-این روزانهٔ ۳۰ثانیه‌ای. رها الگوهای پرخطر را می‌بیند — بدخوابی، شیفت جاافتاده، انزوا — و به مشورتان هشدار می‌دهد (فقط اگر خودتان بخواهید).",
  "ai.f.c3t":"کیف توکن و اهداف","ai.f.c3p":"توکن‌های هر شیفت را ببینید، هدف تعیین کنید (یک دوره، دوچرخه، هدیه برای خانواده) و نقاط عطف را جشن بگیرید — برد کوچک، قلاب‌شده در حلقهٔ عادت.",
  "ai.f.c4t":"بازگشت شغلی","ai.f.c4p":"ویژگی امضا: رها شغلی که قبل از اعتیاد داشتید را نقشه می‌کشد، شکاف مهارتی را پیدا می‌کند، طرحِ به‌روزرسانی می‌سازد و با شما مصاحبه تمرین می‌کند.",
  "ai.f.c5t":"پل خانواده","ai.f.c5p":"به‌روزرسانیِ اختیاری برای خانواده: نقاط عطف، شیفت‌های انجام‌شده، روند خلق — بازسازی اعتماد با واقعیت، نه قول.",
  "ai.f.c6t":"خصوصی از پایه","ai.f.c6p":"داده‌هایتان مال شماست. رمزنگاری‌شده، به‌اشتراک‌گذاری فقط اختیاری، هرگز با پلیس یا کارفرما نه. حذف همه‌چیز با یک لمس.",

  "ai.demo.kicker":"دموی تعاملی","ai.demo.h2":"با رها حرف بزنید (نمونهٔ اولیه)",
  "ai.demo.lead":"این یک دموی اسکریپت‌شده است که کاملاً آفلاین در مرورگر شما اجرا می‌شود — رهای واقعی، یک مدل هوش مصنوعی با نظارت انسانی خواهد بود.",
  "ai.chat.sub":"همیار هوش مصنوعی گرین‌روت · دمو",
  "ai.chat.ph":"پیامی بنویسید…","ai.chat.send":"بفرست",

  "ai.cr.kicker":"بازگشت شغلی","ai.cr.h2":"به شغلی که قبل‌تر داشتید",
  "ai.cr.lead":"یک حرفهٔ قبلی انتخاب کنید و نمونهٔ طرح ۳مرحله‌ای که رها با شما می‌سازد را ببینید.",
  "ai.cr.j1":"راننده","ai.cr.j2":"پرستار / کارمند سلامت","ai.cr.j3":"حسابدار","ai.cr.j4":"مکانیک","ai.cr.j5":"معلم","ai.cr.j6":"آشپز",

  "ai.mood.t":"چک-این روزانه (امتحان کنید)",
  "ai.mood.s":"خلق امروز را لمس کنید — رها روند را رصد و الگوهای خطر لغزش را می‌پاید.",
  "ai.mood.hint":"رشته و روند شما اینجا ظاهر می‌شود.",
  "ai.priv.t":"ایمنی و صداقت",
  "ai.priv.l1":"رها دستیار است، نه درمانگر — تصمیم‌های بالینی را انسان‌های مجاز می‌گیرند.",
  "ai.priv.l2":"پیام‌های بحرانی همیشه سریع به یک انسان می‌رسند.",
  "ai.priv.l3":"این دمو اسکریپت‌شده است و چیزی ذخیره نمی‌کند.",
  "ai.priv.l4":"نسخهٔ تولیدی نیازمند اعتبارسنجی بالینی و بازبینی سخت‌گیرانهٔ حفاظت داده (GDPR و قوانین محلی) است.",

  "ai.cta.h2":"بیست دقیقه. یک هوس. یک همیار.",
  "ai.cta.p":"به پایلوت بپیوندید و رها از اولین شیفت تا اولین روزِ برگشتن به شغل قبلی‌تان همراهتان است.",

  "dash.hero.badge":"📊 دادهٔ نمایشی — مفهوم پایلوت",
  "dash.hero.h1":"داشبورد اثرگذاری",
  "dash.hero.p":"بهبودی فقط وقتی واقعی است که قابل اندازه‌گیری باشد. این داشبورد عددهایی را نشان می‌دهد که گرین‌روت برای هر گروه منتشر می‌کند — اینجا با دادهٔ نمایشی.",
  "dash.s1":"فرد در برنامه","dash.s2":"زباله جمع‌آوری‌شده","dash.s3":"صرف‌شده برای درمان و دارو","dash.s4":"قلم تجهیزات پزشکی تولیدشده",
  "dash.s5":"لغزش ۶ماهه گرین‌روت*","dash.s6":"لغزش ۶ماهه معمول*","dash.s7":"CO₂e صرفه‌جویی‌شده با بازیافت","dash.s8":"تکمیل برنامه",
  "dash.note":"*مقایسهٔ تشریحی: گروه داخلی پایلوت در برابر بازه‌های رایج لغزش ۶ماهه. ارقام نمایشی، نه ادعای بالینی.",
  "dash.ch1.t":"جمع‌آوری ماهانه (کیلوگرم)","dash.ch1.s":"خروجی تیم همراه با بهبودی رشد می‌کند — مومنتمی که می‌شود وزنش کرد.",
  "dash.ch2.t":"ترکیب زباله (٪)","dash.ch2.s":"تیم‌ها چه جمع می‌کنند — و هر جریان چه می‌شود.",
  "dash.ch2.t1":"۱۸.۴ تن","dash.ch2.t2":"جمع‌آوری‌شده",
  "dash.ch3.t":"تخصیص صندوق درمان","dash.ch3.s":"پول بازیافت کجا می‌رود، به تفکیک ماه (نمایشی).",
  "dash.ch3.l1":"جلسات درمان","dash.ch3.l2":"داروها","dash.ch3.l3":"هماهنگی",
  "dash.ch4.t":"گزارش ماهانه — گروه پایلوت","dash.ch4.s":"هر ماه، علنی منتشر می‌شود.",
  "dash.ch4.th1":"ماه","dash.ch4.th2":"فعال","dash.ch4.th3":"کیلوگرم","dash.ch4.th4":"صندوق (€)",
  "dash.tr.c1t":"بودجهٔ باز","dash.tr.c1p":"هر یوروی درآمد بازیافت ردیابی می‌شود: دستمزد، صندوق درمان، عملیات. انتشار ماهانه.",
  "dash.tr.c2t":"ارزیابی مستقل","dash.tr.c2p":"پیامدهای سلامت با همکاری دانشگاه‌ها سنجیده می‌شود، نه فقط توسط خودمان.",
  "dash.tr.c3t":"سنجه‌های حفظ حریم خصوصی","dash.tr.c3p":"همهٔ داده‌های اعضا تجمیعی و بی‌نام است. هیچ فردی در این عددها دیده نمی‌شود.",
  "dash.cta.h2":"این داشبورد را برای شهرتان می‌خواهید؟",
  "dash.cta.p":"شهرداری‌ها، شرکت‌های پسماند و کلینیک‌ها: بیایید یک گروه بسازیم.",
  "dash.cta.b":"همکاری با ما",

  "join.hero.kicker":"به گرین‌روت بپیوندید","join.hero.h1":"اینجا برای شما جایی هست",
  "join.hero.p":"چه در حال جنگیدن برای بهبودی خودتان باشید، چه حمایتی برای عزیزی، چه ادارهٔ یک شهر — یا آمادهٔ تأمین مالی مدل — از همین‌جا شروع کنید.",
  "join.a.c1t":"کمک لازم دارم","join.a.c1p":"محرمانه، بدون تعهد. تا ۴۸ ساعت با شما تماس می‌گیریم و همه‌چیز را — به زبان خودتان — توضیح می‌دهیم.",
  "join.a.c2t":"عضو خانواده‌ام","join.a.c2p":"هر چیزی می‌خواهید بپرسید. برنامه، قواعد ایمنی و نحوهٔ به‌روزرسانی خانوادگی را توضیح می‌دهیم.",
  "join.a.c3t":"شهر / شرکت","join.a.c3p":"میزبان یک تیم شوید، جریان پسماند تأمین کنید یا یک گروه را اسپانسر شوید. ESG قابل‌اندازه‌گیری با عمق انسانی.",
  "join.a.c4t":"سرمایه‌گذار / شریک","join.a.c4p":"درآمد چرخشی به‌علاوهٔ پیامدهای سلامت. گزارش کامل پایلوت و مدل را بخواهید.",
  "join.form.kicker":"تماس","join.form.h2":"برایمان پیام بفرستید",
  "join.form.lead":"فرم نمایشی — در نسخهٔ اصلی به خط ورودی محرمانهٔ ما وصل می‌شود.",
  "join.form.name":"نام شما (یا یک نام مستعار)","join.form.contact":"ایمیل یا تلفن","join.form.role":"من هستم…","join.form.msg":"پیام","join.form.send":"ارسال پیام",
  "join.form.o1":"فردی در حال بهبودی","join.form.o2":"عضو خانواده","join.form.o3":"شهر / شهرداری","join.form.o4":"شرکت / بازیافت","join.form.o5":"سرمایه‌گذار / NGO","join.form.o6":"فقط کنجکاو",
  "join.form.ok":"✓ سپاسگزاریم! این دمو داده‌ای به جایی نمی‌فرستد — اما در نسخهٔ اصلی، تیم ما حداکثر تا ۴۸ ساعت بعد، محرمانه با شما تماس می‌گیرد.",
  "join.faq.h2":"سؤال‌های صادقانه، جواب‌های صادقانه",
  "join.q1":"این اشتغال واقعی است یا «تئاتر درمان»؟",
  "join.a1":"اشتغال واقعی. اعضا قرارداد می‌بندند، دستمزد در حد یا بالای حداقلِ محلی می‌گیرند و توکن‌ها پاداشِ اضافه‌اند — هرگز جایگزین دستمزد نیستند.",
  "join.q2":"اگر وسط برنامه لغزش کنم چه؟",
  "join.a2":"جایتان حفظ می‌شود. لغزش بخشی از ماهیت پزشکی اعتیاد است. کار را موقتاً متوقف، حمایت بالینی را از نو شروع می‌کنیم و با تأیید تیم سلامت‌تان برمی‌گردید. به‌خاطر مریض‌شدن اخراج نمی‌شوید.",
  "join.q3":"برای پیوستن باید دارو را قطع کنم؟",
  "join.a3":"نه — برعکس. درمان با دارو در صورت صلاحدید پزشکی تأمین مالی و تشویق می‌شود. برنامه با پزشکتان هماهنگ است.",
  "join.q4":"هوش مصنوعی من را به کسی گزارش می‌کند؟",
  "join.a4":"هرگز بدون رضایت شما. دادهٔ رها مال شماست. فقط هشدارهای اختیاری به مشورتان وجود دارد و موارد بحرانی به انسان‌هایی می‌رسد که مراقب شما هستند — نه به مقامات.",
  "join.q5":"واقعاً می‌توانم به شغل قبلی‌ام برگردم؟",
  "join.a5":"در بسیاری موارد، بله. طرح بازگشت شغلی رها مهارت‌ها را صادقانه بازسازی می‌کند، وقفه را راست‌گانه روایت می‌کند و کارآموزیِ حمایتی با کارفرمایانی می‌چیند که بر پایهٔ توانایی استخدام می‌کنند، نه پیشینه.",
  "join.q6":"پایلوت در چه شهرهایی اجرا می‌شود؟",
  "join.a6":"در حال بررسی گروه‌های پایلوت در فرانکفورت و تهران هستیم. ثبت‌نام کنید تا بگوییم نزدیک شما چه چیزی فعال است.",
  "join.crisis.t":"🆘 همین حالا در بحران هستید؟",
  "join.crisis.p":"اگر شما یا کسی نزدیک‌تان در خطر فوری است (اوردوز، افکار خودکشی)، همین حالا با شمارهٔ اورژانس محلی تماس بگیرید. در ایران، خط ویژهٔ اعتیادِ اورژانس اجتماعی ۰۹۶۲۸ است. در آلمان برای اورژانس با ۱۱۲ تماس بگیرید. شما مهم هستید. یک تماس می‌تواند همه‌چیز را شروع کند."
}
};

</script>
<script>
/* GreenRoot Turkish language pack + COP31 campaign keys (merged at load) */
(function(){
"use strict";
if (!window.I18N) window.I18N = {};

/* ================= TURKISH SITE DICTIONARY ================= */
window.I18N.tr = {
  "title.home":"GreenRoot — İnsanları iyileştir, gezegeni iyileştir",
  "title.science":"Bilim — GreenRoot",
  "title.program":"Program — GreenRoot",
  "title.ai":"Raha, yapay zekâ dostu — GreenRoot",
  "title.dashboard":"Etki panosu — GreenRoot",
  "title.join":"Katıl — GreenRoot",
  "title.cop31":"GreenRoot at COP31 — Antalya & İstanbul",

  "nav.home":"Anasayfa","nav.science":"Bilim","nav.program":"Program","nav.ai":"YZ dostu","nav.impact":"Etki","nav.cop31":"COP31","nav.join":"Katıl","nav.cta":"Pilota katıl",
  "footer.tag":"İnsanları iyileştiriyoruz, gezegeni de — çevre işiyle toparlanma, geri dönüşümle finanse edilen tedavi, yapay zekâ desteğiyle dönüş.",
  "footer.links":"Keşfet","footer.contact":"İletişim","footer.contact2":"Frankfurt · Tahran · İstanbul (pilot şehirler)",
  "footer.disclaimer":"GreenRoot kavramsal bir prototiptir. Bu sitedeki hiçbir içerik tıbbi tavsiye değildir. Bağımlılık tıbbi bir durumdur — daima yetkili hekimler ve lisanslı tedavi hizmetleriyle çalışın. Acil durumda yerel acil numaranızı arayın.",

  "home.hero.kicker":"Bağımlılıktan toparlanma × yeşil iş × yapay zekâ",
  "home.hero.h1":"Kendini iyileştir.<br>Şehrini iyileştir.",
  "home.hero.p":"GreenRoot, bağımlılıktan toparlanmayı ücretli çevre işine dönüştürür: toplanan her çöp torbası terapiye ve ilaca dönüşür — ve bir yapay zekâ dostu her kişiyi bağımlılık öncesi mesleğine geri taşır.",
  "home.hero.cta1":"Programı keşfet","home.hero.cta2":"YZ dostunu dene",
  "home.chip1":"toparlanmada kişi","home.chip2":"toplanan atık","home.chip3":"6 ayda daha az nüks",
  "home.loop.title":"GreenRoot Döngüsü",
  "home.loop.n1":"Topla","home.loop.n2":"Kazan","home.loop.n3":"İyileş","home.loop.n4":"Dön",

  "home.prob.kicker":"GreenRoot neden var","home.prob.h2":"Üç kriz, tek kök",
  "home.prob.lead":"Bağımlılık, işsizlik ve atık birbirini besler. GreenRoot üçüne aynı anda vurur.",
  "home.prob.c1t":"Bağımlılık boşlukta büyür",
  "home.prob.c1p":"Günler boşken toparlanma çöker — yapı yok, amaç yok, insan yok. Nükslerin çoğu uzun ve yapılandırılmamış saatlerde, yalnızken yaşanır.",
  "home.prob.c2t":"İş tuzağı",
  "home.prob.c2p":"İşverenler özgeçmişteki boşluğu görür ve reddeder; toparlanan kişi işsiz kalır — işsizlik onu yeniden kullanıma iter. Kapı iki taraftan da kapalıdır.",
  "home.prob.c3t":"Şehirler çöpe gömülüyor",
  "home.prob.c3p":"Parklar, nehir kenarları ve sokaklar, belediyelerin temizleme hızından hızlı kirlenir. Bu arada her yıl milyonlar değerinde geri dönüştürülebilir malzeme çöpe gider.",

  "home.sol.kicker":"Cevabımız","home.sol.h2":"Tek program, üç motor",
  "home.sol.lead":"Her motor diğer ikisini güçlendirir. Tüm fikir budur.",
  "home.sol.c1t":"Kanıta dayalı toparlanma",
  "home.sol.c1p":"Sonuç yönetimi, davranışsal aktivasyon ve terapötik topluluk — bağımlılıkta psikolojinin en kanıtlanmış araçları, her iş gününe işlenmiş.",
  "home.sol.c1l":"Bilimi oku →",
  "home.sol.c2t":"Ücretli yeşil iş",
  "home.sol.c2p":"Temizlik ekipleri, ayrıştırma hatları ve geri dönüşüm atölyeleri için gerçek ücret. Geri dönüşüm geliri; terapiyi, ilacı — ve katılımcıların kendisini — finanse eder.",
  "home.sol.c2l":"Programı gör →",
  "home.sol.c3t":"YZ ile kariyer dönüşü",
  "home.sol.c3p":"YZ dostumuz Raha kriz anında koçluk yapar, ruh halini izler ve herkesin becerilerini eski mesleğine geri bağlar — bağımlılık öncesi işine.",
  "home.sol.c3l":"Raha ile tanış →",

  "home.med.kicker":"Sokaktan servise","home.med.h2":"Atık girer, ilaç çıkar",
  "home.med.lead":"Katılımcıların topladığı çöp, gerçek anlamda iki kez tedavinin parçası olur.",
  "home.med.c1t":"1. Geri dönüşüm geliri tedaviyi finanse eder",
  "home.med.c1p":"Satılan geri dönüşüm malzemesi — PET, metal, kâğıt, cam — gelir üretir. Bu gelir ekibin terapi seanslarını, psikiyatrik bakımını ve temel ilaçlarını öder. Toplanan her kilo, finanse edilen bir doz tedavidir.",
  "home.med.c2t":"2. Malzeme tıbbi sarfa dönüşür",
  "home.med.c2p":"Geri dönüşüm hattımızda toplanan plastiğe yıkanır, parçalanır ve sertifikalı ortaklarla tıbbi ürünlere dönüştürülür: yüz siperleri, atel bileşenleri ve klinikler için steril sınıf ambalaj.",

  "home.s1":"Toparlanmada kişi","home.s2":"Toplanan & ayrıştırılan atık","home.s3":"6 ayda nüks azalması*","home.s4":"Terapi ve ilaca aktarılan*",
  "home.demonote":"*Pilot kohort; konsept için temsili rakamlar.",

  "home.aud.kicker":"Kimin için","home.aud.h2":"Herkese kazanç",
  "home.aud.c1t":"Toparlanmakta olan senin için","home.aud.c1p":"Yapı, gelir, terapi ve eski kariyerine dönüş yolu — itibarla.",
  "home.aud.c2t":"Aileler için","home.aud.c2p":"Sevdiğin insanın gurur duyabileceği güvenli, denetlenen bir program.",
  "home.aud.c3t":"Şehirler ve şirketler için","home.aud.c3p":"Daha temiz kamusal alan, ölçülebilir ESG etkisi ve kanıtlanmış sosyal getiri modeli.",
  "home.aud.c4t":"Ortaklar ve yatırımcılar için","home.aud.c4p":"Ölçülebilir sağlık sonuçlarıyla çifte gelirli döngüsel ekonomi.",
  "home.cta.h2":"Bir çöp torbası. Bir toparlanma tuğlası.",
  "home.cta.p":"Pilot şehir programına katıl — katılımcı, ortak ya da destekçi olarak.",

  "home.cop.kicker":"Kasım 2026 — Antalya & İstanbul",
  "home.cop.t":"GreenRoot, COP31'e gidiyor",
  "home.cop.p":"Toparlanma, iklim adaletidir. Üç dilli kampanya kiti, sunum desteleri ve barışçıl eylem mesajlarımız hazır.",
  "home.cop.b":"COP31 sayfasını gör",

  "sci.hero.kicker":"Modelin arkasındaki psikoloji",
  "sci.hero.h1":"Doğada çalışmak bağımlılığı neden iyileştirir",
  "sci.hero.p":"GreenRoot slogan olarak 'tedavi yerine iş' demiyor. Programın her ögesi, bağımlılık biliminde iyi çalışılmış bir mekanizmaya oturur.",
  "sci.m1t":"Sonuç yönetimi ve jeton ekonomisi",
  "sci.m1p":"Sonuç yönetimi (CM) — madde kullanmama davranışını anında ve tutarlı ödüllendirmek — madde kullanım bozukluğu için en kanıtlı psikososyal tedaviler arasındadır, özellikle uyarıcılarda. GreenRoot işleyen bir jeton ekonomisidir: her vardiya, her ayrıştırılan kilo ve her temiz test, gerçek değeri olan jeton kazandırır (ilaç kredisi, temel ihtiyaç, beceri kursu).",
  "sci.m2t":"Davranışsal aktivasyon ve anlamlı iş",
  "sci.m2p":"Davranışsal aktivasyon; ödüllendirici ve değerlere uygun etkinliklerin planlanmasının ruh halini iyileştirdiğini ve madde kullanımını bazı resmî terapiler kadar azalttığını gösterir. Destekli istihdam araştırmaları daha ileri gider: toparlanmakta olan insanlar için anlamlı iş; kesinleşmeyi, yaşam kalitesini ve tedavide kalmayı iyileştirir.",
  "sci.m3t":"Ödül sistemini yeniden kablolamak",
  "sci.m3p":"Bağımlılık beynin dopamin döngüsünü ele geçirir: uyaran → kullanım → rahatlama. Toparlanma yeni bir döngü kurmaktır: uyaran → rutin → ödül. Temizlik vardiyası tam olarak bunu yapar — stres ve boş saatler (uyaranlar) ekip işiyle (rutin) değişir; karşılık görünür, anlık ve sosyaldir: ücret, jeton, temiz sokak, gurur.",
  "sci.m4t":"Yeşil bakım: doğa ilaçtır",
  "sci.m4p":"Yeşil alanda geçen süre kortizolü ve zihinsel geviş getirmeyi ölçülebilir biçimde düşürür, dikkati onarır ('dikkat restorasyonu kuramı'). Açık havada bedensel iş egzersiz ekler — çalışmalar bunun kriz yoğunluğunu azalttığını ve uykuyu düzelttiğini gösterir. GreenRoot'ta doğa dekor değildir; tedavi odasıdır.",
  "sci.m5t":"Topluluk ve kimlik",
  "sci.m5p":"Terapötik topluluklar — insanların birlikte ve anlamlı rollerle iyileştiği ortamlar — onlarca yıllık kanıta sahiptir. GreenRoot'ta her üye 'hasta' değil; katkısını tüm şehrin gördüğü bir ekip üyesidir. Kimlik 'bağımlı'dan 'çevre işçisi'ne kayar; her temiz parkla damga küçülür.",
  "sci.m6t":"Çifte etki döngüsü",
  "sci.m6p":"Her halka bir sonrakini besler: iş → gelir → tedavi → istikrar → daha iyi iş → düşük nüks riski. Bu arada şehir temizlenir, klinikler sarf alır. Toparlanma ve çevre, bileşik faiz gibi büyür.",

  "sci.flow.kicker":"Uçtan uca mekanizma","sci.flow.h2":"Krizden kariyere, tek döngüde",
  "sci.flow.f1":"Uyaran: boş gün, kriz","sci.flow.f1s":"Yüksek riskli an",
  "sci.flow.f2":"Açık havada ekip vardiyası","sci.flow.f2s":"Yapı + egzersiz + doğa",
  "sci.flow.f3":"Ücret + jeton","sci.flow.f3s":"Anında, kazanılmış ödül",
  "sci.flow.f4":"Terapi ve ilaç finanse edildi","sci.flow.f4s":"Klinik bakım sürüyor",
  "sci.flow.f5":"Raha YZ koçluğu","sci.flow.f5s":"Kriz, ruh hali, nüks uyarısı",
  "sci.flow.f6":"Eski kariyere dönüş","sci.flow.f6s":"Kimlik geri kazanıldı",

  "sci.ev.kicker":"Kanıt temeli","sci.ev.h2":"Araştırmalar ne diyor",
  "sci.ev.lead":"GreenRoot'un üzerine kurulduğu temel bulguların özeti.",
  "sci.ev.th1":"Müdahale","sci.ev.th2":"Kanıt, kısaca","sci.ev.th3":"GreenRoot'ta",
  "sci.ev.r1a":"Sonuç yönetimi",
  "sci.ev.r1b":"Güçlü randomize çalışma kanıtı; uyarıcı kullanım bozukluğu dahil, kesinleşmeyi ve tedavide kalmayı güvenilir biçimde artırır.",
  "sci.ev.r1c":"Vardiyalar ve kilometre taşları için gerçek ödüllü jeton ekonomisi",
  "sci.ev.r2a":"Destekli istihdam / sosyal girişim",
  "sci.ev.r2b":"İşle bütünleşik programlar; toparlanmakta olan kişilerde istihdam sonucunu, benlik saygısını ve yaşam kalitesini iyileştirir.",
  "sci.ev.r2c":"Ücretli temizlik, ayrıştırma ve geri dönüşüm rolleri",
  "sci.ev.r3a":"Davranışsal aktivasyon",
  "sci.ev.r3b":"Yapılandırılmış, değer güdümlü etkinlik; depresif belirtileri ve madde kullanımını azaltır.",
  "sci.ev.r3c":"Planlı anlamlı vardiyalar, boş saatlerin yerine geçer",
  "sci.ev.r4a":"Doğa / yeşil egzersiz",
  "sci.ev.r4b":"Yeşil alan süresi stres hormonlarını düşürür, ruh halini ve dikkati iyileştirir; egzersiz azalan krizle ilişkilendirilir.",
  "sci.ev.r4c":"Tüm vardiyalar açık havada: park, nehir kenarı, sokak",
  "sci.ev.r5a":"Terapötik topluluk",
  "sci.ev.r5b":"Anlamlı rollere sahip akran topluluğu; kesinleşme ve topluma yeniden katılımda uzun vadeli kazanım gösterir.",
  "sci.ev.r5c":"Ekip kimliği, akran mentorları, mezunlar ağı",
  "sci.ev.note":"GreenRoot tasarımını açıklamak için yerleşik bilimsel literatüre atıf yapar; bu çalışmaların GreenRoot'u değerlendirdiğini iddia etmez. Başka sayfalarda gösterilen pilot sonuçlar temsilidir.",

  "sci.eth.t1":"Önce onur — etik kırmızı çizgilerimiz",
  "sci.eth.l1":"Gerçek ücret; asla yalnızca 'terapi jetonu' değil.",
  "sci.eth.l2":"Terapi ve ilaç asla iş çıktısına veya kotaya bağlı değildir.",
  "sci.eth.l3":"Travma bilgili gözetim; tempo, katılımcının sağlık ekibi tarafından belirlenir.",
  "sci.eth.l4":"Tam rıza ve gizlilik: katılım verisi rıza olmadan asla polisle veya işverenle paylaşılmaz.",
  "sci.eth.l5":"Önce toparlanma — zor bir gün dinlenme sebebidir, yerini kaybetme sebebi değil.",
  "sci.eth.t2":"GreenRoot ne değildir",
  "sci.eth.l6":"Tıbbi detoks veya psikiyatrik bakımın yerine geçmez — onu finanse eder ve koordine ederiz.",
  "sci.eth.l7":"Terapi kılığındaki ücretsiz emek değildir.",
  "sci.eth.l8":"Gözetim programı değildir — Raha isteğe bağlıdır ve verisi katılımcıya aittir.",
  "sci.eth.l9":"Bir 'çare' değildir — bağımlılık kroniktir; remisyonu kalıcı kılan yapıyı kurarız.",

  "sci.cta.h2":"Bilim köktür. İnsanlar büyümedir.",
  "sci.cta.p":"Mekanizmaların 12 aylık gerçek bir programa nasıl dönüştüğünü gör.",
  "sci.cta.b":"Programı keşfet",

  "prog.hero.kicker":"On iki ay, dört evre",
  "prog.hero.h1":"GreenRoot programı",
  "prog.hero.p":"Sağlamlaşmadan ücretli yeşil işe, oradan bağımlılık öncesi kariyerine uzanan yapılandırılmış bir yolculuk — terapi ve ilaç, işin kendisi tarafından finanse edilir.",
  "prog.ph.kicker":"Dört evre","prog.ph.h2":"GreenRoot'taki yolun",
  "prog.ph1w":"0–4. haftalar","prog.ph1t":"Sağlamlaş",
  "prog.ph1p":"Tıbbi check-up ve psikiyatrik değerlendirme; endikasyon varsa ilaçla tedavi; kişisel güvenlik ve kriz planı; YZ dostun Raha ile ilk tanışma. Henüz vardiya yok — önce sağlık.",
  "prog.ph2w":"2–12. haftalar","prog.ph2t":"Çalış ve iyileş",
  "prog.ph2p":"Akran mentorlu küçük bir ekipte haftada üç destekli temizlik vardiyası. Haftada iki grup terapisi. Her vardiya için jeton; danışmanla haftalık jeton gözden geçirmesi.",
  "prog.ph3w":"3–6. aylar","prog.ph3t":"İnşa et",
  "prog.ph3p":"Ayrıştırma hattına geç: malzeme kullanımı, makine temelleri, geri dönüşüm atölyesi, kalite kontrol. Raha becerilerini haritalar ve eski mesleğine yönelik kariyer dönüşü planını yazar.",
  "prog.ph4w":"6–12. aylar","prog.ph4t":"Dön",
  "prog.ph4p":"Dürüst boşluk anlatımıyla özgeçmiş yeniden inşası, deneme mülakatları, destekli staj ya da doğrudan yerleştirme ve mezunlar ağı. Sadece sertifika değil — bir iş ve bir toplulukla ayrılırsın.",

  "prog.day.kicker":"Bir vardiya günü","prog.day.h2":"Yapı, tedavinin kendisidir",
  "prog.day.lead":"Her saatin bir amacı var — mesele tam olarak bu.",
  "prog.day.c1":"Ekip buluşması ve check-in: ruh hali, krizler, koruyucu ekipman. Raha check-in'i kaydeder.",
  "prog.day.c2":"Park / nehir kenarı / sokakta temizlik vardiyası. Molalar planlı; mentor yakında.",
  "prog.day.c3":"Tartma ve ayrıştırma: PET, metal, kâğıt, cam. Jetonlar anında yüklenir.",
  "prog.day.c4":"Öğle yemeği; ardından grup terapisi, bir YZ seansı ya da beceri dersi — senin takvimin.",

  "prog.eco.kicker":"Toparlanmanın döngüsel ekonomisi","prog.eco.h2":"Para nereye gidiyor",
  "prog.eco.c1t":"Geri dönüşüm geliri",
  "prog.eco.c1p":"Satılan malzeme (PET, metal, kâğıt, cam) artı geri dönüştürülmüş tıbbi ürünler; programın gelirini oluşturur.",
  "prog.eco.c2t":"Katılımcı ödülleri",
  "prog.eco.c2p":"Adil ücret artı; temel ihtiyaç, ulaşım, telefon kredisi ve beceri kursları için harcanabilir jeton.",
  "prog.eco.c3t":"Tedavi fonu",
  "prog.eco.c3p":"Şeffaf bir pay; her ekibin terapisini, psikiyatrik bakımını ve temel ilaçlarını finanse eder — Etki sayfasında yayımlanır.",
  "prog.b1":"🧾 Açık bütçe: ekip geliri → %40 ücret · %30 tedavi · %30 operasyon",
  "prog.b2":"Kota asla katılımcılara karşı kullanılmaz — hiçbir zaman",
  "prog.b3":"Ücretler yerel asgarinin düzeyinde veya üzerinde",

  "prog.wtw.kicker":"Atık → hastane",
  "prog.wtw.h2":"Geri dönüşüm hattı: çöpten tıbbi sarfa",
  "prog.wtw.lead":"Programdaki en simgesel iş: sokağın malzemesini hastaneye faydalı kılmak.",
  "prog.wtw.c1t":"1 · Topla ve ayrıştır","prog.wtw.c1p":"PET ve HDPE plastikler ayrıştırma hattında ayrılır, tartılır, kayda geçer.",
  "prog.wtw.c2t":"2 · Yıka ve parçala","prog.wtw.c2p":"Mikro fabrikada yıkanır, dezenfekte edilir, sertifikalı pul ğa parçalanır.",
  "prog.wtw.c3t":"3 · Yeniden üret","prog.wtw.c3p":"Sertifikalı üretim ortaklarıyla: yüz siperi, atel bileşeni, klinik ambalaj.",
  "prog.wtw.c4t":"4 · Teslim et","prog.wtw.c4p":"Sarflar kliniklere bağışlanır ya da satılır; gelir tedavi fonuna akar.",
  "prog.wtw.note":"Güvenlik notu: tıbbi sınıf yeniden üretim, mevzuata uygun sertifikalı ortaklarca yapılır; GreenRoot ekipleri yalnızca toplama, ayrıştırma ve ön işlemden sorumludur.",

  "prog.ai.kicker":"Her evrede Raha","prog.ai.h2":"Cebinde bir YZ dostu",
  "prog.ai.p":"Raha ilk günden yanında: zor anlarda kriz SOS'u, günlük ruh hali kontrolü, (yalnızca rızanla) danışmana nüks-riski uyarısı, jeton cüzdanı ve eski meslek becerilerini yeniden erişilir kılan kariyer dönüşü planı.",
  "prog.ai.b":"Raha demosunu dene",
  "prog.ai.l1":"Kriz SOS: 7/24 dürtü sörfü koçu",
  "prog.ai.l2":"Nüks-riski uyarılı ruh hali ve uyku takibi",
  "prog.ai.l3":"Jeton cüzdanı, hedefler ve kilometre taşı kutlaması",
  "prog.ai.l4":"Kariyer dönüşü: özgeçmiş, beceri haritası, mülakat pratiği",
  "prog.ai.l5":"Tasarım gereği özel: isteğe bağlı, şifreli, katılımcıya ait",

  "prog.cta.h2":"Yapılandırılmış bir yıla hazır mısın?",
  "prog.cta.p":"Pilot kohortta kontenjan sınırlı. Konuş bizimle — hiçbir taahhüt yok.",

  "ai.hero.kicker":"Yanında yürüyen yapay zekâ","ai.hero.h1":"Raha ile tanış",
  "ai.hero.p":"Raha ('rehâ' — özgürlük), GreenRoot'un toparlanma dostudur: zor anlarda kriz koçu, seanslar arasında ruh hali izleyicisi ve seni bağımlılık öncesi işine geri götüren kariyer rehberi.",
  "ai.hero.cta1":"Demo sohbeti dene","ai.hero.cta2":"Kariyer dönüşü demosu",
  "ai.hero.side":"'Krizler yaklaşık 20 dakika sürer. Bir krizle asla yalnız yüzleşmek zorunda değilsin.'",

  "ai.f.kicker":"Raha ne yapar","ai.f.h2":"Altı iş, tek dost",
  "ai.f.c1t":"Kriz SOS","ai.f.c1p":"Dürtü sörfü koçu, nefes egzersizleri ve geciktirme sayacı — işin zorleştiğinde tek dokunuşla yoldaşını ya da danışmanını ara.",
  "ai.f.c2t":"Ruh hali ve nüks gözcüsü","ai.f.c2p":"Günlük 30 saniyelik check-in. Raha riskli örüntüleri görür — kötü uyku, atlanan vardiya, izolasyon — ve danışmanını uyarır (yalnızca kabul edersen).",
  "ai.f.c3t":"Jeton cüzdanı ve hedefler","ai.f.c3p":"Vardiya başına kazanılan jetonu gör, hedef koy (bir kurs, bir bisiklet, aileye hediye) ve kilometre taşlarını kutla — alışkanlık döngüsüne bağlanmış küçük zaferler.",
  "ai.f.c4t":"Kariyer dönüşü","ai.f.c4p":"İmza özellik: Raha bağımlılık öncesi işini haritalar, beceri boşluklarını bulur, tazeleme planı kurar ve seninle mülakat pratiği yapar.",
  "ai.f.c5t":"Aile köprüsü","ai.f.c5p":"Aileye isteğe bağlı güncelleme: ulaşılan kilometre taşları, çalışılan vardiyalar, ruh hali eğilimi — sözle değil, olguyla güven inşası.",
  "ai.f.c6t":"Tasarım gereği özel","ai.f.c6p":"Veri sana aittir. Şifreli, her paylaşım için ayrı rıza, asla polisle veya işverenle paylaşılmaz. Tek dokunuşla tamamen silinir.",

  "ai.demo.kicker":"Etkileşimli demo","ai.demo.h2":"Raha ile konuş (prototip)",
  "ai.demo.lead":"Bu, tarayıcında tamamen çevrimdışı çalışan yazılı bir demodur — gerçek Raha; insan gözetimli bir YZ modeli olacaktır.",
  "ai.chat.sub":"GreenRoot YZ dostu · demo",
  "ai.chat.ph":"Bir mesaj yaz…","ai.chat.send":"Gönder",

  "ai.cr.kicker":"Kariyer dönüşü","ai.cr.h2":"Bağımlılık öncesi işine geri dön",
  "ai.cr.lead":"Eski bir meslek seç; Raha'nın seninle kuracağı örnek 3 adımlı dönüş planını gör.",
  "ai.cr.j1":"Şoför","ai.cr.j2":"Hemşire / sağlık çalışanı","ai.cr.j3":"Muhasebeci","ai.cr.j4":"Tamirci","ai.cr.j5":"Öğretmen","ai.cr.j6":"Aşçı",

  "ai.mood.t":"Günlük check-in (dene)",
  "ai.mood.s":"Bugünkü ruh haline dokun — Raha eğilimi tutar, nüks-riski örüntülerini gözcülük eder.",
  "ai.mood.hint":"Serin ve eğilimin burada görünecek.",
  "ai.priv.t":"Güvenlik ve dürüstlük",
  "ai.priv.l1":"Raha asistandır, terapist değil — klinik kararları yetkili insanlar verir.",
  "ai.priv.l2":"Kriz mesajları her zaman hızla bir insana yönlendirilir.",
  "ai.priv.l3":"Bu demo yazılıdır ve hiçbir şey kaydetmez.",
  "ai.priv.l4":"Üretim sürümü klinik doğrulama ve sıkı veri koruma denetimi gerektirecektir (GDPR ve yerel hukuk).",

  "ai.cta.h2":"Yirmi dakika. Bir kriz. Bir dost.",
  "ai.cta.p":"Pilota katıl — Raha ilk vardiyadan, eski işindeki ilk güne kadar yanında.",

  "dash.hero.badge":"📊 Temsili veri — pilot konsept",
  "dash.hero.h1":"Etki panosu",
  "dash.hero.p":"Toparlanma ancak ölçülürse gerçektir. Bu pano, GreenRoot'un her kohort için yayımladığı sayıları gösterir — burada temsili veriyle.",
  "dash.s1":"Programda kişi","dash.s2":"Toplanan atık","dash.s3":"Terapiye ve ilaca","dash.s4":"Üretilen tıbbi ürün",
  "dash.s5":"GreenRoot 6 aylık nüks*","dash.s6":"Tipik 6 aylık nüks*","dash.s7":"Geri dönüşümle tasarruf edilen CO₂e","dash.s8":"Program tamamlama",
  "dash.note":"*Temsili karşılaştırma: iç pilot kohort ile yaygın bildirilen 6 aylık nüks aralıkları. Temsili rakamlar; klinik iddia değildir.",
  "dash.ch1.t":"Aylık toplama (kg)","dash.ch1.s":"Ekip çıktısı, toparlanma büyüdükçe büyür — tartılabilen ivme.",
  "dash.ch2.t":"Atık karışımı (%)","dash.ch2.s":"Ekipler ne topluyor — her akış neye dönüşüyor.",
  "dash.ch2.t1":"18,4 t","dash.ch2.t2":"toplandı",
  "dash.ch3.t":"Tedavi fonu dağılımı","dash.ch3.s":"Geri dönüşüm parası nereye gidiyor (temsili).",
  "dash.ch3.l1":"Terapi seansları","dash.ch3.l2":"İlaçlar","dash.ch3.l3":"Koordinasyon",
  "dash.ch4.t":"Aylık rapor — pilot kohort","dash.ch4.s":"Her ay açıkça yayımlanır.",
  "dash.ch4.th1":"Ay","dash.ch4.th2":"Aktif","dash.ch4.th3":"kg","dash.ch4.th4":"Fon (€)",
  "dash.tr.c1t":"Açık bütçe","dash.tr.c1p":"Geri dönüşüm gelirinin her avrosu izlenir: ücret, tedavi fonu, operasyon. Aylık yayımlanır.",
  "dash.tr.c2t":"Bağımsız değerlendirme","dash.tr.c2p":"Sağlık sonuçları üniversite ortaklarıyla değerlendirilir — yalnız bizimle değil.",
  "dash.tr.c3t":"Gizlilik-güvenli metrikler","dash.tr.c3p":"Tüm katılımcı verisi toplu ve anonimdir. Bu sayılarda hiçbir birey görünmez.",
  "dash.cta.h2":"Bu panoyu şehrin için ister misin?",
  "dash.cta.p":"Belediyeler, atık şirketleri, klinikler: birlikte bir kohort kuralım.",
  "dash.cta.b":"Ortak ol",

  "join.hero.kicker":"GreenRoot'a katıl","join.hero.h1":"Burada senin için bir yer var",
  "join.hero.p":"Kendi toparlanman için mücadele ediyor, bir sevdiğini destekliyor, bir şehri yönetiyor ya da modeli finanse etmeye hazırsan — buradan başla.",
  "join.a.c1t":"Yardıma ihtiyacım var","join.a.c1p":"Gizli, taahhütsüz. 48 saat içinde döneriz ve her şeyi — kendi dilinde — anlatırız.",
  "join.a.c2t":"Aile üyesiyim","join.a.c2p":"Bize her şeyi sor. Programı, güvenlik kurallarını ve aile bilgilendirmelerinin nasıl işlediğini anlatırız.",
  "join.a.c3t":"Şehir / şirket","join.a.c3p":"Bir ekibe ev sahipliği yap, atık akışı sağla ya da bir kohorta sponsor ol. İnsan derinliğiyle ölçülebilir ESG.",
  "join.a.c4t":"Yatırımcı / ortak","join.a.c4p":"Döngüsel gelir artı sağlık sonuçları. Tam pilot raporunu ve modeli iste.",
  "join.form.kicker":"İletişim","join.form.h2":"Bize mesaj gönder",
  "join.form.lead":"Demo form — üretimde gizli kabul hattımıza bağlanır.",
  "join.form.name":"Adın (ya da bir takma ad)","join.form.contact":"E-posta veya telefon","join.form.role":"Ben…","join.form.msg":"Mesaj","join.form.send":"Mesajı gönder",
  "join.form.o1":"Toparlanmakta olan biri","join.form.o2":"Bir aile üyesi","join.form.o3":"Bir şehir / belediye","join.form.o4":"Bir şirket / geri dönüşümcü","join.form.o5":"Bir yatırımcı / STK","join.form.o6":"Sadece meraklıyım",
  "join.form.ok":"✓ Teşekkürler! Bu demo hiçbir yere veri göndermez — ama üretimde ekibimiz 48 saat içinde gizlice sana ulaşır.",
  "join.faq.h2":"Dürüst sorular, dürüst cevaplar",
  "join.q1":"Bu gerçek istihdam mı, yoksa 'terapi tiyatrosu' mu?",
  "join.a1":"Gerçek istihdam. Katılımcılar sözleşme imzalar, yerel asgarinin düzeyinde ya da üzerinde kazanır; jetonlar üstüne ek ödüldür — asla ücretin yerine geçmez.",
  "join.q2":"Program sırasında nüks edersem?",
  "join.a2":"Yerin korunur. Nüks, bağımlılığın tıbbi gidişatının parçasıdır. İşi duraklatır, klinik desteği yeniden başlatır; sağlık ekibin onaylayınca dönersin. Hasta olduğun için işten çıkarılmazsın.",
  "join.q3":"Katılmak için ilacımı bırakmam gerekir mi?",
  "join.a3":"Hayır — tam tersi. Tıbbi endikasyon varsa ilaçla tedavi finanse edilir ve teşvik edilir. Program doktorunla koordineli çalışır.",
  "join.q4":"YZ beni birine bildirir mi?",
  "join.a4":"Asla rızan olmadıkça. Raha'nın verisi sana aittir. Yalnızca isteğe bağlı danışman uyarısı vardır; kriz yükseltmeleri seni önemseyen insanlara gider — makamlara değil.",
  "join.q5":"Gerçekten eski kariyerime dönebilir miyim?",
  "join.a5":"Çoğu durumda evet. Raha'nın kariyer dönüşü planı becerileri dürüstçe yeniden inşa eder, boşluğu doğru anlatır ve yeteneğe göre işe alan ortak işverenlerle destekli staj ayarlar.",
  "join.q6":"Pilot hangi şehirlerde?",
  "join.a6":"Frankfurt, Tahran ve İstanbul'da pilot kohort planlıyoruz. Kaydol; sana en yakında neyin aktif olduğunu söyleyelim.",
  "join.crisis.t":"🆘 Şu anda krizde misin?",
  "join.crisis.p":"Sen ya da yanındaki kişi derhal tehlikedeyse (aşırı doz, intihar düşüncesi) şimdi yerel acil numarayı ara. Türkiye'de acil durum: 112; Yeşilay bağımlılık danışma hattı: 115. İran'da bağımlılık hattı: 09628. Almanya'da: 112. Sen önemlisin. Tek bir arama her şeyi başlatabilir."
};

/* ================= COP31 keys — all languages ================= */
Object.assign(window.I18N.en, {
  "nav.cop31":"COP31",
  "title.cop31":"GreenRoot at COP31 — Antalya & Istanbul",
  "footer.contact2":"Frankfurt · Tehran · Istanbul (pilot cities)",
  "home.cop.kicker":"November 2026 — Antalya & Istanbul",
  "home.cop.t":"GreenRoot goes to COP31",
  "home.cop.p":"Recovery is climate justice. Our trilingual campaign kit, pitch decks and protest messages are ready.",
  "home.cop.b":"See the COP31 page",
  "cop.hero.kicker":"COP31 — Antalya & Istanbul · 9–20 November 2026",
  "cop.hero.h1":"Recovery is climate justice too",
  "cop.hero.p":"The world's climate summit meets in Türkiye this November. GreenRoot will be there — in Antalya and at the Istanbul leaders' meetings — with one message: there is no just transition without the people the crisis left behind.",
  "cop.countdown":"COP31 starts in {d} days — Antalya & Istanbul, 9–20 Nov 2026",
  "cop.facts.t":"COP31 in one minute",
  "cop.facts.f1":"📅 9–20 November 2026 — Antalya, Türkiye (Antalya EXPO Center)",
  "cop.facts.f2":"🇹🇷 Host: Türkiye; COP31 President: Murat Kurum; Australia leads the negotiations",
  "cop.facts.f3":"🏛 High-level leaders' meetings expected in Istanbul — our city of action",
  "cop.facts.f4":"🌍 Peoples' Climate Summit — the civil-society space where voices like ours belong",
  "cop.facts.src":"Based on the published COP31 schedule and public reporting.",
  "cop.why.kicker":"Why we're going",
  "cop.why.h2":"Why a recovery program belongs at a climate summit",
  "cop.why.w1t":"Waste work is climate work",
  "cop.why.w1p":"Cities cannot hit recycling targets without thousands of hands. GreenRoot turns a marginalized community into a trained green workforce — mitigation and social inclusion in one budget line.",
  "cop.why.w2t":"Just transition must include people in recovery",
  "cop.why.w2p":"Climate policy keeps saying \"no one left behind.\" People with addiction histories are among the most left-behind workers in our region — and the most motivated when someone finally offers structure and dignity.",
  "cop.why.w3t":"Health is adaptation",
  "cop.why.w3p":"Addiction worsens in heatwaves, displacement and disaster. GreenRoot is a replicable adaptation model: treatment funded by public-service work, resilient crews a city can call on in a crisis.",
  "cop.ask.kicker":"Our campaign",
  "cop.ask.h2":"Five asks we bring to the negotiators",
  "cop.ask.a1":"Recognize recovery-through-work as climate finance: fund therapeutic green employment.",
  "cop.ask.a2":"Include waste-picker and recovery communities in national just-transition plans.",
  "cop.ask.a3":"Back city pilots — Istanbul, Frankfurt, Tehran — with open impact dashboards.",
  "cop.ask.a4":"Set data rights for AI recovery tools: opt-in, participant-owned, never policing tools.",
  "cop.ask.a5":"Count health outcomes next to CO₂: a tonne of waste diverted and a person in remission are both climate results.",
  "cop.act.kicker":"Civil society",
  "cop.act.h2":"Join us — peaceful, lawful, loud",
  "cop.act.p":"GreenRoot joins the peaceful civil-society mobilization around COP31, including the Peoples' Climate Summit and public events. We act with respect for Turkish law and each other: stay peaceful, follow local assembly rules, look after one another.",
  "cop.act.s1t":"🗣 Our slogans",
  "cop.act.s1a":"\"Clean streets, clean starts!\"",
  "cop.act.s1b":"\"Recovery is climate action!\"",
  "cop.act.s1c":"\"No one left behind — not even us!\"",
  "cop.act.s2t":"🤝 Meet the crew (demo)",
  "cop.act.s2p":"Istanbul meet-ups planned in the month before COP31; Antalya presence during both summit weekends. Register on the Join page and we'll send times and places.",
  "cop.act.s3t":"🧭 Stay safe",
  "cop.act.s3p":"Emergency in Türkiye: 112. Addiction counseling (Yeşilay): 115. Know the assembly rules for your city, keep ID with you, and never attend actions alone — crew rules apply to protests too.",
  "cop.kit.kicker":"Campaign kit",
  "cop.kit.h2":"Take the message with you",
  "cop.kit.p":"Trilingual pitch decks and a one-page explainer — print them, share them, hand them to a delegate, a journalist or your mayor.",
  "cop.kit.d1":"Pitch deck — English",
  "cop.kit.d2":"Pitch deck — فارسی",
  "cop.kit.d3":"Pitch deck — Türkçe",
  "cop.kit.d4":"One-pager (EN/FA/TR)",
  "cop.cta.h2":"Be the crew that cleans two crises at once.",
  "cop.cta.p":"Join the pilot, partner with us, or carry our message to Antalya and Istanbul.",
  "cop.cta.b":"Join GreenRoot"
});
Object.assign(window.I18N.fa, {
  "nav.cop31":"COP31",
  "title.cop31":"گرین‌روت در COP31 — آنتالیا و استانبول",
  "footer.contact2":"فرانکفورت · تهران · استانبول (شهرهای پایلوت)",
  "home.cop.kicker":"نوامبر ۲۰۲۶ — آنتالیا و استانبول",
  "home.cop.t":"گرین‌روت به COP31 می‌رود",
  "home.cop.p":"بهبودی، عدالتِ اقلیمی است. کیت سه‌زبانهٔ کارزار، پایتچ‌دک‌ها و پیام‌های اعتراضیِ ما آماده‌اند.",
  "home.cop.b":"صفحهٔ COP31 را ببینید",
  "cop.hero.kicker":"COP31 — آنتالیا و استانبول · ۹ تا ۲۰ نوامبر ۲۰۲۶",
  "cop.hero.h1":"بهبودی هم عدالتِ اقلیمی است",
  "cop.hero.p":"اجلاس اقلیم جهان این نوامبر در ترکیه برگزار می‌شود. گرین‌روت هم آنجا خواهد بود — در آنتالیا و در نشست‌های سران استانبول — با یک پیام: بدونِ آدم‌هایی که بحران جا گذاشته، «گذار عادلانه» معنا ندارد.",
  "cop.countdown":"COP31 تا {d} روز دیگر آغاز می‌شود — آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶",
  "cop.facts.t":"COP31 در یک دقیقه",
  "cop.facts.f1":"📅 ۹ تا ۲۰ نوامبر ۲۰۲۶ — آنتالیا، ترکیه (مرکز اکسپو آنتالیا)",
  "cop.facts.f2":"🇹🇷 میزبان: ترکیه؛ رئیس COP31: مرات قوروم؛ هدایت مذاکرات: استرالیا",
  "cop.facts.f3":"🏛 نشست‌های سطح بالای سران در استانبول — شهرِ اکشنِ ما",
  "cop.facts.f4":"🌍 قلهٔ اقلیم مردم‌ها — فضای جامعهٔ مدنی؛ جای صدایی مثل صدای ما",
  "cop.facts.src":"بر پایهٔ برنامهٔ منتشرشدهٔ COP31 و گزارش‌های عمومی.",
  "cop.why.kicker":"چرا می‌رویم",
  "cop.why.h2":"چرا یک برنامهٔ بهبودی جای خودش را در یک اجلاس اقلیمی دارد",
  "cop.why.w1t":"کار پسماند، کارِ اقلیم است",
  "cop.why.w1p":"شهرها بدون هزاران دست، هدف‌های بازیافت را نمی‌زنند. گرین‌روت یک جامعهٔ به‌حاشیه‌رانده‌شده را به نیروی کار سبزِ آموزش‌دیده تبدیل می‌کند — کاهش انتشار و جامعه‌پذیری در یک ردیف بودجه.",
  "cop.why.w2t":"گذار عادلانه باید افراد در بهبودی را هم ببیند",
  "cop.why.w2p":"سیاست اقلیمی مدام می‌گوید «هیچ‌کس جا نمانَد». افرادی با سابقهٔ اعتیاد از جا مانده‌ترین نیروهای کار منطقه‌اند — و وقتی کسی سرانجام نظم و عزت پیشنهاد بدهد، باانگیزه‌ترین‌ها هم هستند.",
  "cop.why.w3t":"سلامت، سازگاری است",
  "cop.why.w3p":"اعتیاد در موج گرما، آواره‌گی و بلایا بدتر می‌شود. گرین‌روت یک مدل سازگاریِ قابل‌تکثیر است: درمانِ تأمین‌شده با کارِ خدمت عمومی، و تیم‌های باثباتی که شهر در بحران می‌تواند صدا بزند.",
  "cop.ask.kicker":"کارزار ما",
  "cop.ask.h2":"پنج خواسته‌ای که سر میز مذاکره می‌بریم",
  "cop.ask.a1":"بهبودی از راه کار به‌عنوان تأمین مالی اقلیمی به رسمیت شناخته شود: کارِ سبزِ درمانی را تأمین مالی کنید.",
  "cop.ask.a2":"جامعهٔ زباله‌چین‌ها و افراد در بهبودی در برنامه‌های گذار عادلانهٔ ملی دیده شوند.",
  "cop.ask.a3":"از پایلوت‌های شهری — استانبول، فرانکفورت، تهران — با داشبوردهای باز پشتیبانی شود.",
  "cop.ask.a4":"حقوق داده برای ابزارهای هوش مصنوعی بهبودی تعیین شود: اختیاری، متعلق به خودِ فرد، هرگز ابزارِ پلیس‌گری نه.",
  "cop.ask.a5":"پیامدهای سلامت را کنار CO₂ بشمارید: یک تن زبالهٔ بازیافتی و یک انسان در بهبودی، هر دو نتیجهٔ اقلیمی‌اند.",
  "cop.act.kicker":"جامعهٔ مدنی",
  "cop.act.h2":"به ما بپیوندید — مسالمت‌آمیز، قانونی، بلند",
  "cop.act.p":"گرین‌روت به بسیج مسالمت‌آمیز جامعهٔ مدنی پیرامون COP31 می‌پیوندد؛ از جمله قلهٔ اقلیم مردم‌ها و رویدادهای عمومی. با احترام به قانون ترکیه و به خودمان عمل می‌کنیم: مسالمت‌آمیز بمانیم، قواعد تجمع محلی را رعایت کنیم، مراقب هم باشیم.",
  "cop.act.s1t":"🗣 شعارهای ما",
  "cop.act.s1a":"«خیابان تمیز، آغازِ تمیز!»",
  "cop.act.s1b":"«بهبودی، اقلیم-عمل است!»",
  "cop.act.s1c":"«هیچ‌کس جا نمانَد — حتی ما!»",
  "cop.act.s2t":"🤝 با تیم ما دیدار کنید (نمونه)",
  "cop.act.s2p":"قرارهای استانبول در ماه مانده به COP31 برنامه‌ریزی می‌شود؛ حضور در آنتالیا در هر دو آخرهفتهٔ اجلاس. در صفحهٔ پیوستن ثبت‌نام کنید تا زمان و مکان را بفرستیم.",
  "cop.act.s3t":"🧭 ایمن بمانید",
  "cop.act.s3p":"اورژانس ترکیه: ۱۱۲. مشاورهٔ اعتیاد (یه‌شیل‌آی): ۱۱۵. قواعد تجمع شهرتان را بدانید، مدارک‌تان همراه باشد، و هرگز تنها به رویداد نروید — قاعدهٔ تیم، برای اعتراض هم هست.",
  "cop.kit.kicker":"کیت کارزار",
  "cop.kit.h2":"پیام را با خودتان ببرید",
  "cop.kit.p":"پایتچ‌دک‌های سه‌زبانه و برشوانهٔ یک‌صفحه‌ای — چاپ کنید، بفرستید، دستِ یک نماینده، یک روزنامه‌نگار یا شهردارتان بدهید.",
  "cop.kit.d1":"پایتچ‌دک — English",
  "cop.kit.d2":"پایتچ‌دک — فارسی",
  "cop.kit.d3":"پایتچ‌دک — Türkçe",
  "cop.kit.d4":"برشوانه (EN/FA/TR)",
  "cop.cta.h2":"همان تیمی باش که دو بحران را با هم تمیز می‌کند.",
  "cop.cta.p":"به پایلوت بپیوندید، شریک شوید، یا پیام ما را به آنتالیا و استانبول برسانید.",
  "cop.cta.b":"به گرین‌روت بپیوندید"
});
Object.assign(window.I18N.tr, {
  "nav.cop31":"COP31",
  "title.cop31":"GreenRoot COP31'de — Antalya & İstanbul",
  "cop.hero.kicker":"COP31 — Antalya & İstanbul · 9–20 Kasım 2026",
  "cop.hero.h1":"İyileşmek de iklim adaletidir",
  "cop.hero.p":"Dünyanın iklim zirvesi bu kasım Türkiye'de toplanıyor. GreenRoot orada olacak — Antalya'da ve İstanbul'daki liderler toplantılarında — tek bir mesajla: krizin geride bıraktığı insanlar olmadan 'adil geçiş' olmaz.",
  "cop.countdown":"COP31 {d} gün içinde başlıyor — Antalya ve İstanbul, 9–20 Kasım 2026",
  "cop.facts.t":"COP31 bir dakikada",
  "cop.facts.f1":"📅 9–20 Kasım 2026 — Antalya, Türkiye (Antalya EXPO Merkezi)",
  "cop.facts.f2":"🇹🇷 Ev sahibi: Türkiye; COP31 Başkanı: Murat Kurum; müzakerelerin lideri: Avustralya",
  "cop.facts.f3":"🏛 İstanbul'da beklenen liderler toplantıları — bizim eylem şehrimiz",
  "cop.facts.f4":"🌍 Halkların İklim Zirvesi — bizim gibi seslerin yeri: sivil toplum alanı",
  "cop.facts.src":"Yayımlanan COP31 takvimi ve kamuya açık haberlere dayanır.",
  "cop.why.kicker":"Neden gidiyoruz",
  "cop.why.h2":"Bir toparlanma programı neden bir iklim zirvesine aittir",
  "cop.why.w1t":"Atık işi, iklim işidir",
  "cop.why.w1p":"Şehirler binlerce el olmadan geri dönüşüm hedeflerini tutturamaz. GreenRoot; marginalized bir topluluğu eğitimli yeşil iş gücüne dönüştürür — azaltım ve sosyal katılım tek bütçe satırında.",
  "cop.why.w2t":"Adil geçiş, toparlanmakta olanları da kapsamalı",
  "cop.why.w2p":"İklim politikası sürekli 'kimse geride kalmasın' diyor. Bağımlılık geçmişi olan insanlar bölgemizin en çok geride bırakılmış işçileri arasındadır — ve birileri sonunda yapı ve onur teklif ettiğinde en motive olanları da onlardır.",
  "cop.why.w3t":"Sağlık, uyumdur",
  "cop.why.w3p":"Bağımlılık sıcak dalgalarında, yerinden edilmede ve afetlerde ağırlaşır. GreenRoot çoğaltılabilir bir uyum modelidir: kamu hizmeti işiyle finanse edilen tedavi; şehrin kriz anında çağırabileceği dirençli ekipler.",
  "cop.ask.kicker":"Kampanyamız",
  "cop.ask.h2":"Müzakerecilere götürdüğümüz beş talep",
  "cop.ask.a1":"İşle toparlanma iklim finansmanı olarak tanınsın: terapötik yeşil istihdam fonlansın.",
  "cop.ask.a2":"Çöp toplayıcı ve toparlanma toplulukları ulusal adil geçiş planlarına alınsın.",
  "cop.ask.a3":"Şehir pilotları desteklensin — İstanbul, Frankfurt, Tahran — açık etki panolarıyla.",
  "cop.ask.a4":"YZ destekli toparlanma araçları için veri hakları belirlensin: isteğe bağlı, katılımcıya ait, asla kolluk aracı değil.",
  "cop.ask.a5":"Sağlık sonuçlarını CO₂'nin yanına koyun: geri kazanılmış bir ton atık da, remisyondaki bir insan da iklim sonucudur.",
  "cop.act.kicker":"Sivil toplum",
  "cop.act.h2":"Bize katıl — barışçıl, yasal, gürültülü",
  "cop.act.p":"GreenRoot; Halkların İklim Zirvesi ve kamuya açık etkinlikler dahil, COP31 çevresindeki barışçıl sivil toplum hareketlenmesine katılır. Türkiye hukukuna ve birbirimize saygıyla hareket ederiz: barışçıl kalır, yerel toplanma kurallarına uyarız, birbirimize göz kulak oluruz.",
  "cop.act.s1t":"🗣 Sloganlarımız",
  "cop.act.s1a":"'Temiz sokaklar, temiz başlangıçlar!'",
  "cop.act.s1b":"'İyileşmek iklim eylemidir!'",
  "cop.act.s1c":"'Kimse geride kalmasın — biz de kalmyacağız!'",
  "cop.act.s2t":"🤝 Ekiple buluş (demo)",
  "cop.act.s2p":"COP31'den önceki ay İstanbul buluşmaları; zirvenin iki hafta sonunda Antalya varlığı. Katıl sayfasından kaydol; saat ve mekânı gönderelim.",
  "cop.act.s3t":"🧭 Güvende kal",
  "cop.act.s3p":"Türkiye'de acil: 112. Bağımlılık danışma (Yeşilay): 115. Şehrinin toplanma kurallarını öğren, kimliğini yanına al ve asla tek başına eyleme gitme — ekip kuralı eylemlerde de geçerlidir.",
  "cop.kit.kicker":"Kampanya kiti",
  "cop.kit.h2":"Mesajı yanında götür",
  "cop.kit.p":"Üç dilli sunum desteleri ve tek sayfalık anlatım — yazdır, paylaş; bir delegasyona, gazeteciye ya da belediye başkanına uzat.",
  "cop.kit.d1":"Sunum destesi — English",
  "cop.kit.d2":"Sunum destesi — فارسی",
  "cop.kit.d3":"Sunum destesi — Türkçe",
  "cop.kit.d4":"Tek sayfa (EN/FA/TR)",
  "cop.cta.h2":"İki krizi birden temizleyen ekiple gel.",
  "cop.cta.p":"Pilota katıl, ortak ol ya da mesajımızı Antalya ve İstanbul'a taşı.",
  "cop.cta.b":"GreenRoot'a katıl"
});

/* ================= Turkish chat / career / mood data ================= */
window.GR_EXTRA_TR = {
  greeting:"Merhaba, ben Raha 🌱 GreenRoot'un toparlanma dostuyum. Bugün nasılsın? Aşağıdaki düğmelere dokun ya da serbestçe yaz — Türkçe ya da فارسی, ikisi de olur.",
  fallback:"Seni duydum. Ben demo sürümüyüm — kriz, ruh hali, jeton, haftalık plan ve kariyer dönüşünü bilirim. Aşağıdan bir düğme seç ya da 'kriz', 'iş', 'bakiye' yaz…",
  chips:[
    {id:"craving", tr:"Kriz yaşıyorum"},
    {id:"mood", tr:"Kendimi kötü hissediyorum"},
    {id:"career", tr:"Kariyer dönüşü"},
    {id:"balance", tr:"Jeton bakiyem"},
    {id:"schedule", tr:"Bu haftanın planı"}
  ],
  intents:{
    crisis:"Söylediğine çok sevindim. Lütfen hemen bir insana ulaş:\n• Yerel acil numaran (Türkiye: 112)\n• Yeşilay danışmanlık hattı: 115\n• GreenRoot danışmanınin numarası kartında.\nYalnız değilsin ve bu an geçecek. Benimle kal — sonra ara.",
    craving:"Krizi duydum — söylemen bile bir kazanç. Dalgayı sörfleyelim:\n1. Düşünceyi 10 dakikalık zamanlayıcıya koy.\n2. Benimle 3 kez 4-7-8 nefesi: al 4… tut 7… ver 8…\n3. Ekip arkadaşına yönel ya da yoldaşını ara.\nKriz zirve yapar ve geçer — genelde 20 dakikadan kısa. Buradayım.",
    mood:"Anlattığın için teşekkürler. Kötü günler veridir, başarısızlık değil.\n• Bugünkü vardiya isteğe bağlı — dinlenmek de tedavidir.\n• Danışmanına bir mesaj yazmamı ister misin?\n• Küçük bir şey: su, pencere, 5 yavaş nefes. Şimdilik bu yeter.",
    career:"Kariyer dönüşü en sevdiğim konu 💼 Planının 3 adımı var: beceri haritası → program içinde ücretli tazeleme rolü → ortak bir işverenle yerleştirme.\nEski mesleğini söyle — şoför, hemşire, muhasebeci, tamirci, öğretmen, aşçı — ya da sohbetin altındaki Kariyer dönüşü demosunu dene.",
    balance:"Jeton bakiyesi: 340 🪙\n• Bu hafta: +60 (3 vardiya)\n• Mevcut ödüller: otobüs kartı (40) · telefon kredisi (25) · kaynak kursu (220)\nİpucu: cüzdanda hedef koy — hedefler bağlılığı yaklaşık iki katına çıkarır.",
    schedule:"Bu haftanın planı:\n• Pzt / Çar / Cum 08:00 — temizlik vardiyası (depoda buluşma)\n• Sal 17:00 — grup terapisi\n• Per 16:00 — Raha seansı + beceri dersi\nYağmur planı: kapalı ayrıştırma hattı. Bir gün kaçtı mı? Olur — mentoruna söyle, yerin güvende.",
    trash:"Bugünkü ekipler 214 kg topladı: 96 kg PET · 41 kg metal · 52 kg kâğıt · 25 kg cam.\nYaklaşık €118 tedavi fonuna — ve atölyeye gidecek 3 yüz siperi için yeterli pul. Bunu sen gerçekleştiriyorsun.",
    about:"Ben Raha — 'rehâ' özgürlük demek. Programın YZ dostuyum: kriz SOS'u, ruh hali kontrolleri, jeton cüzdanı ve kariyer dönüşü koçu. İnsan gözetiminde bir araçtım — klinik kararları danışmanın ve doktorların verir. Veri politikam basit: hikâyen sana ait.",
    thanks:"Ne zaman. Ben bunun için buradayım — yarın check-in'de görüşür müyüz? 🌱"
  },
  mood:{
    1:"Çok kötü — yalnız değilsin. 'Kriz yaşıyorum'/SOS'a dokun ya da danışmanını ara. Bir check-in işaretledim.",
    2:"Kötü — kaydettiğin için teşekkürler. Bir SOS seansı ya da erken yatmayı düşün.",
    3:"İdare eder günler de sayılır. Kaydedildi.",
    4:"İyi — kaydedildi. Ritmi koru.",
    5:"Harika bir gün — kaydedildi. Toparlanma böyle serilerle kurulur. 🌱"
  },
  career:{
    driver:{title:"🚚 Şoför — dönüş planı",
      s1:"Ehliyet ve sicil kontrolü: ehliyet durumunu doğrularız; beceri fonu yenileme kursunu karşılar.",
      s2:"Temizlik ekiplerinin lojistiğinde 6 ücretli hafta yedek şoför — temiz vardiya sertifikasıyla.",
      s3:"Raha özgeçmişini 12+ ay belgelenmiş güvenilirlik üzerine kurar; sonra ortak lojistik firmalarıyla yerleştirir.",
      story:"Ekipte geçen zaman bir boşluk değil — güvenilirlik kanıtıdır."},
    nurse:{title:"🧑‍⚕️ Hemşire / sağlık çalışanı — dönüş planı",
      s1:"Düşük yoğunluklu rollerle klinik yaşama dönüş: ekipler içinde hijyen ve sağlık taraması turları.",
      s2:"Beceri yenileme: BLS tekrarı, ruhsat evrakları — beceri fonu destekli.",
      s3:"Ortak kliniklerde destekli vardiyalar; Raha kademeli tam dönüş planını kurar.",
      story:"Kendine vermeyi öğrendiğin bakım, artık referansındır."},
    accountant:{title:"🧾 Muhasebeci — dönüş planı",
      s1:"Ücretsiz değerlendirmelerle beceri denetimi (Excel, ön muhasebe) — bir hafta içinde boşluk haritası.",
      s2:"Altı hafta yazılım tazeleme + gerçek rol: ekiplerin malzeme gelirini saymak ve raporlamak.",
      s3:"Raha özgeçmişi '12 ay temiz veri' çerçevesiyle kurar; ortak firmalarla mülakat pratiği yapar.",
      story:"Toparlanmada inşa ettiğin disiplin, tam olarak muhasebenin aradığı şeydir."},
    mechanic:{title:"🔧 Tamirci — dönüş planı",
      s1:"Atölye değerlendirmesi: araç-gereç, güvenlik, mevcut beceriler — teknik bir mentorla.",
      s2:"Geri dönüşüm hattının makineleri ve araçları için sahada belgelenmiş bakım deneyimi.",
      s3:"Beceri fonundan uzmanlık sertifikası (örn. elektromekanik) + ortak atölyelere yerleştirme.",
      story:"Hayata döndürdüğün makineler, en iyi özgeçmişindir."},
    teacher:{title:"🧑‍🏫 Öğretmen — dönüş planı",
      s1:"Dürüst anlatı planı: mülakatta boşluğu nasıl anlatacağını Raha ile güç olana dek pratik et.",
      s2:"Gerçek sınıf: ekibin temizlediği parklarda okul gruplarına çevre okuryazarlığı dersleri.",
      s3:"Öğretmenlik sertifikası tazeleme + ortak okullarda asistanlık; tam kademe çıkışa kadar.",
      story:"Toparlanman, gelecekteki sınıfının alacağı en derin derstir."},
    cook:{title:"🍳 Aşçı — dönüş planı",
      s1:"Gıda güvenliği ve hijyen sertifikası — resmî; masrafı beceri fonunda.",
      s2:"Gerçek hacim deneyimi: her gün 50+ kişiye ekip yemeği pişirmek.",
      s3:"Ortak mutfakta mentorlu destekli staj; ardından yarı zamanlı ya da tam zamanlı yerleştirme.",
      story:"Ekip için pişirdiğin yemekler, dönüşünün ilk siparişidir."}
  }
};
})();

/* COP31 areas section + join modal keys */
Object.assign(window.I18N.en, {
  "ar.cop.h2":"Ten crews across Istanbul — join yours",
  "ar.cop.all":"All 10 districts",
  "ar.cop.more":"…and more: Şişli · Bakırköy · Üsküdar · Beyoğlu · Sarıyer · Maltepe · Kartal — see the areas page."
});
Object.assign(window.I18N.fa, {
  "ar.cop.h2":"ده تیم در سراسر استانبول — تیم خودتان را بسازید",
  "ar.cop.all":"هر ۱۰ منطقه",
  "ar.cop.more":"و موارد دیگر: شیشلی · باکرکوی · اسکودار · بی‌اوغلو · ساری‌یر · مالتپه · كارتال — صفحهٔ مناطق را ببینید."
});
Object.assign(window.I18N.tr, {
  "ar.cop.h2":"İstanbul genelinde on ekip — sizinkine katılın",
  "ar.cop.all":"10 bölgenin tümü",
  "ar.cop.more":"…ve devamı: Şişli · Bakırköy · Üsküdar · Beyoğlu · Sarıyer · Maltepe · Kartal — bölgeler sayfasına bakın."
});

/* ===== Podcast page keys ===== */
Object.assign(window.I18N.en, {
  "nav.podcast":"Podcast",
  "title.podcast":"Podcast & media kit — GreenRoot",
  "pod.hero.kicker":"Listen in three languages","pod.hero.h1":"The GreenRoot podcast",
  "pod.hero.p":"One story in three voices: what GreenRoot is, the science behind it, and the five asks we carry to COP31. Listen here, or download and share.",
  "pod.ep.en.t":"Episode 1 · English","pod.ep.tr.t":"Bölüm 1 · Türkçe","pod.ep.fa.t":"قسمت ۱ · فارسی",
  "pod.ep.s":"What is GreenRoot? · ~2.5 min · recovery, green work, AI, COP31 asks",
  "pod.dl":"Download MP3 ↓","pod.tr":"Transcript",
  "pod.fa.soon":"⏳ Persian audio — being finalized, ready in the next update",
  "pod.kit.kicker":"Media kit","pod.kit.h2":"Read it, print it, share it",
  "pod.kit.b":"Booklet — 3 pages (EN/FA/TR)","pod.kit.o":"One-pager (EN/FA/TR)","pod.kit.d":"Pitch decks ×3 (EN/FA/TR)","pod.kit.m":"Mirror on Hugging Face",
  "pod.trk.kicker":"Full transcripts","pod.trk.h2":"Read every word",
  "pod.cta.h2":"Press play. Join a crew. Change two things at once.",
  "pod.cta.p":"Every listen is a seed — share the episode with one person who needs a second chance."
});
Object.assign(window.I18N.fa, {
  "nav.podcast":"پادکست",
  "title.podcast":"پادکست و کیت رسانه — گرین‌روت",
  "pod.hero.kicker":"به سه زبان گوش بدهید","pod.hero.h1":"پادکست گرین‌روت",
  "pod.hero.p":"یک روایت به سه زبان: گرین‌روت چیست، علم پشت آن چیست، و پنج خواسته‌ای که به COP31 می‌بریم. همین‌جا گوش بدهید یا دانلود و به اشتراک بگذارید.",
  "pod.ep.en.t":"قسمت ۱ · English","pod.ep.tr.t":"قسمت ۱ · Türkçe","pod.ep.fa.t":"قسمت ۱ · فارسی",
  "pod.ep.s":"گرین‌روت چیست؟ · ~۲.۵ دقیقه · بهبودی، کار سبز، هوش مصنوعی، خواسته‌های COP31",
  "pod.dl":"دانلود MP3 ↓","pod.tr":"متن کامل",
  "pod.fa.soon":"⏳ صدای فارسی — در حال نهایی شدن، در به‌روزرسانی بعدی آماده می‌شود",
  "pod.kit.kicker":"کیت رسانه","pod.kit.h2":"بخوانید، چاپ کنید، به اشتراک بگذارید",
  "pod.kit.b":"دفترچه — ۳ صفحه (EN/FA/TR)","pod.kit.o":"برشوانه (EN/FA/TR)","pod.kit.d":"پایتچ‌دک ×۳ (EN/FA/TR)","pod.kit.m":"آینه در Hugging Face",
  "pod.trk.kicker":"متن‌های کامل","pod.trk.h2":"کلمه به کلمه بخوانید",
  "pod.cta.h2":"دکمهٔ پخش را بزنید. به تیمی بپیوندید. دو چیز را با هم تغییر دهید.",
  "pod.cta.p":"هر پخش یک دانه است — قسمت را با یک نفری بفرستید که شانسِ دومی لازم دارد."
});
Object.assign(window.I18N.tr, {
  "nav.podcast":"Podcast",
  "title.podcast":"Podcast & medya kiti — GreenRoot",
  "pod.hero.kicker":"Üç dilde dinleyin","pod.hero.h1":"GreenRoot podcast'i",
  "pod.hero.p":"Üç sesle tek hikâye: GreenRoot nedir, arkasındaki bilim ne, ve COP31'e taşıdığımız beş talep. Burada dinleyin ya da indirip paylaşın.",
  "pod.ep.en.t":"Bölüm 1 · English","pod.ep.tr.t":"Bölüm 1 · Türkçe","pod.ep.fa.t":"Bölüm 1 · Farsça",
  "pod.ep.s":"GreenRoot nedir? · ~2,5 dk · toparlanma, yeşil iş, YZ, COP31 talepleri",
  "pod.dl":"MP3 indir ↓","pod.tr":"Metin",
  "pod.fa.soon":"⏳ Farsça ses — tamamlanıyor, sonraki güncellemede hazır",
  "pod.kit.kicker":"Medya kiti","pod.kit.h2":"Okuyun, yazdırın, paylaşın",
  "pod.kit.b":"Broşür — 3 sayfa (EN/FA/TR)","pod.kit.o":"Tek sayfa (EN/FA/TR)","pod.kit.d":"Sunum desteleri ×3 (EN/FA/TR)","pod.kit.m":"Hugging Face yansısı",
  "pod.trk.kicker":"Tam metinler","pod.trk.h2":"Her kelimeyi okuyun",
  "pod.cta.h2":"Oynat'a bas. Bir ekibe katıl. İki şeyi aynı anda değiştir.",
  "pod.cta.p":"Her dinleme bir tohumdur — bölümü ikinci şansa ihtiyacı olan birine gönderin."
});

/* ===== UX pass keys ===== */
Object.assign(window.I18N.en, {
  "a11y.skip":"Skip to content","pod.share":"Copy link","pod.copied":"Copied!","pod.cta.b2":"Join a crew",
  "ar.back":"← All areas"
});
Object.assign(window.I18N.fa, {
  "a11y.skip":"پرش به محتوا","pod.share":"کپی لینک","pod.copied":"کپی شد!","pod.cta.b2":"پیوستن به تیم",
  "ar.back":"← همهٔ مناطق"
});
Object.assign(window.I18N.tr, {
  "a11y.skip":"İçeriğe atla","pod.share":"Bağlantıyı kopyala","pod.copied":"Kopyalandı!","pod.cta.b2":"Ekibe katıl",
  "ar.back":"← Tüm bölgeler"
});

</script>
<script>
(function(){ "use strict";
if(!window.I18N) window.I18N={en:{},fa:{},tr:{}};
Object.assign(window.I18N.en, {
  "nav.areas": "Istanbul areas",
  "ar.index.kicker": "Ten districts, one city",
  "ar.index.h1": "GreenRoot Istanbul crews",
  "ar.index.lead": "Ten neighborhood crews across Istanbul — European and Asian side. Each one: paid green roles for people in recovery, two supported shifts a week, therapy funded by recycling. Pick your district.",
  "ar.index.note": "Meetup points are set with the first registered members of each crew — your vote counts. Istanbul emergency: 112 · Yeşilay: 115.",
  "ar.kadikoy.kicker": "Istanbul crew · Kadıköy",
  "ar.kadikoy.h1": "GreenRoot Kadıköy",
  "ar.kadikoy.lead": "The GreenRoot crew for Kadıköy: two supported cleanup shifts a week in Coastline, parks and market streets — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.kadikoy.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.kadikoy.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.kadikoy.cop": "This crew carries Kadıköy's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.besiktas.kicker": "Istanbul crew · Beşiktaş",
  "ar.besiktas.h1": "GreenRoot Beşiktaş",
  "ar.besiktas.lead": "The GreenRoot crew for Beşiktaş: two supported cleanup shifts a week in Bosphorus shore and park entrances — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.besiktas.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.besiktas.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.besiktas.cop": "This crew carries Beşiktaş's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.sisli.kicker": "Istanbul crew · Şişli",
  "ar.sisli.h1": "GreenRoot Şişli",
  "ar.sisli.lead": "The GreenRoot crew for Şişli: two supported cleanup shifts a week in Boulevards, squares and metro exits — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.sisli.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.sisli.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.sisli.cop": "This crew carries Şişli's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.fatih.kicker": "Istanbul crew · Fatih",
  "ar.fatih.h1": "GreenRoot Fatih",
  "ar.fatih.lead": "The GreenRoot crew for Fatih: two supported cleanup shifts a week in Historic streets and neighborhood parks — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.fatih.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.fatih.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.fatih.cop": "This crew carries Fatih's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.bakirkoy.kicker": "Istanbul crew · Bakırköy",
  "ar.bakirkoy.h1": "GreenRoot Bakırköy",
  "ar.bakirkoy.lead": "The GreenRoot crew for Bakırköy: two supported cleanup shifts a week in Seaside walkways and shopping streets — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.bakirkoy.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.bakirkoy.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.bakirkoy.cop": "This crew carries Bakırköy's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.uskudar.kicker": "Istanbul crew · Üsküdar",
  "ar.uskudar.h1": "GreenRoot Üsküdar",
  "ar.uskudar.lead": "The GreenRoot crew for Üsküdar: two supported cleanup shifts a week in Shoreline, hills and neighborhood squares — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.uskudar.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.uskudar.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.uskudar.cop": "This crew carries Üsküdar's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.beyoglu.kicker": "Istanbul crew · Beyoğlu",
  "ar.beyoglu.h1": "GreenRoot Beyoğlu",
  "ar.beyoglu.lead": "The GreenRoot crew for Beyoğlu: two supported cleanup shifts a week in Side streets off the main corridor — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.beyoglu.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.beyoglu.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.beyoglu.cop": "This crew carries Beyoğlu's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.sariyer.kicker": "Istanbul crew · Sarıyer",
  "ar.sariyer.h1": "GreenRoot Sarıyer",
  "ar.sariyer.lead": "The GreenRoot crew for Sarıyer: two supported cleanup shifts a week in Bosphorus villages and forest edges — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.sariyer.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.sariyer.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.sariyer.cop": "This crew carries Sarıyer's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.maltepe.kicker": "Istanbul crew · Maltepe",
  "ar.maltepe.h1": "GreenRoot Maltepe",
  "ar.maltepe.lead": "The GreenRoot crew for Maltepe: two supported cleanup shifts a week in Long coastline and event lawns — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.maltepe.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.maltepe.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.maltepe.cop": "This crew carries Maltepe's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
  "ar.kartal.kicker": "Istanbul crew · Kartal",
  "ar.kartal.h1": "GreenRoot Kartal",
  "ar.kartal.lead": "The GreenRoot crew for Kartal: two supported cleanup shifts a week in Harbor shore and city squares — paid roles for people in recovery, tokens for every shift, and therapy and medicine funded by the recycling income.",
  "ar.kartal.meet": "Meetup point: announced to registered crew members. Register on the Join page — it takes one minute.",
  "ar.kartal.sched": "Draft rhythm: one weekday morning shift + one weekend shift · equipment and safety gear provided · Raha logs your check-in.",
  "ar.kartal.cop": "This crew carries Kartal's voice to COP31 (Antalya & Istanbul, 9–20 November 2026): clean streets, clean starts.",
});
Object.assign(window.I18N.fa, {
  "nav.areas": "مناطق استانبول",
  "ar.index.kicker": "ده منطقه، یک شهر",
  "ar.index.h1": "تیم‌های گرین‌روت استانبول",
  "ar.index.lead": "ده تیم محله‌ای در سراسر استانبول — سمت اروپایی و آسیایی. هر تیم: نقش‌های سبزِ حقوق‌دار برای افراد در بهبودی، دو شیفت همراهی‌شده در هفته، درمانِ تأمین‌شده با بازیافت. منطقهٔ خودتان را انتخاب کنید.",
  "ar.index.note": "نقاط قرار، با نخستین اعضای ثبت‌نام‌شدهٔ هر تیم تعیین می‌شود — رأی شما مؤثر است. اورژانس استانبول: ۱۱۲ · یشیل‌آی: ۱۱۵.",
  "ar.kadikoy.kicker": "تیم استانبول · کادی‌کوی",
  "ar.kadikoy.h1": "گرین‌روت کادی‌کوی",
  "ar.kadikoy.lead": "تیم گرین‌روت در کادی‌کوی: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در ساحل، پارک‌ها و خیابان‌های بازار — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.kadikoy.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.kadikoy.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.kadikoy.cop": "این تیم، صدای کادی‌کوی را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.besiktas.kicker": "تیم استانبول · بشیکتاش",
  "ar.besiktas.h1": "گرین‌روت بشیکتاش",
  "ar.besiktas.lead": "تیم گرین‌روت در بشیکتاش: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در کرانهٔ بسفر و ورودی پارک‌ها — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.besiktas.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.besiktas.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.besiktas.cop": "این تیم، صدای بشیکتاش را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.sisli.kicker": "تیم استانبول · شیشلی",
  "ar.sisli.h1": "گرین‌روت شیشلی",
  "ar.sisli.lead": "تیم گرین‌روت در شیشلی: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در بلوارها، میدان‌ها و خروجی‌های مترو — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.sisli.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.sisli.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.sisli.cop": "این تیم، صدای شیشلی را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.fatih.kicker": "تیم استانبول · فاتح",
  "ar.fatih.h1": "گرین‌روت فاتح",
  "ar.fatih.lead": "تیم گرین‌روت در فاتح: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در خیابان‌های تاریخی و پارک‌های محله — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.fatih.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.fatih.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.fatih.cop": "این تیم، صدای فاتح را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.bakirkoy.kicker": "تیم استانبول · باکرکوی",
  "ar.bakirkoy.h1": "گرین‌روت باکرکوی",
  "ar.bakirkoy.lead": "تیم گرین‌روت در باکرکوی: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در پیاده‌راه‌های ساحلی و خیابان‌های خرید — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.bakirkoy.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.bakirkoy.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.bakirkoy.cop": "این تیم، صدای باکرکوی را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.uskudar.kicker": "تیم استانبول · اسکودار",
  "ar.uskudar.h1": "گرین‌روت اسکودار",
  "ar.uskudar.lead": "تیم گرین‌روت در اسکودار: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در کرانه، تپه‌ها و میدان‌های محله — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.uskudar.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.uskudar.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.uskudar.cop": "این تیم، صدای اسکودار را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.beyoglu.kicker": "تیم استانبول · بی‌اوغلو",
  "ar.beyoglu.h1": "گرین‌روت بی‌اوغلو",
  "ar.beyoglu.lead": "تیم گرین‌روت در بی‌اوغلو: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در کوچه‌های اطراف محور اصلی — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.beyoglu.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.beyoglu.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.beyoglu.cop": "این تیم، صدای بی‌اوغلو را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.sariyer.kicker": "تیم استانبول · ساری‌یر",
  "ar.sariyer.h1": "گرین‌روت ساری‌یر",
  "ar.sariyer.lead": "تیم گرین‌روت در ساری‌یر: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در روستاهای بسفر و حاشیهٔ جنگل — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.sariyer.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.sariyer.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.sariyer.cop": "این تیم، صدای ساری‌یر را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.maltepe.kicker": "تیم استانبول · مالتپه",
  "ar.maltepe.h1": "گرین‌روت مالتپه",
  "ar.maltepe.lead": "تیم گرین‌روت در مالتپه: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در ساحل طولانی و چمن‌های رویداد — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.maltepe.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.maltepe.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.maltepe.cop": "این تیم، صدای مالتپه را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
  "ar.kartal.kicker": "تیم استانبول · كارتال",
  "ar.kartal.h1": "گرین‌روت كارتال",
  "ar.kartal.lead": "تیم گرین‌روت در كارتال: دو شیفت پاک‌سازیِ همراهی‌شده در هفته در کرانهٔ بندر و میدان‌های شهر — نقش‌های حقوق‌دار برای افراد در بهبودی، توکن برای هر شیفت، و تأمین درمان و دارو از درآمد بازیافت.",
  "ar.kartal.meet": "نقطهٔ قرار: به اعضای ثبت‌نام‌شده اعلام می‌شود. در صفحهٔ پیوستن ثبت‌نام کنید — یک دقیقه بیشتر وقت نمی‌گیرد.",
  "ar.kartal.sched": "ریتم پیشنهادی: یک شیفت صبح در هفته + یک شیفت آخر هفته · تجهیزات و وسایل ایمنی ارائه می‌شود · رها چک-این را ثبت می‌کند.",
  "ar.kartal.cop": "این تیم، صدای كارتال را به COP31 می‌رساند (آنتالیا و استانبول، ۹ تا ۲۰ نوامبر ۲۰۲۶): خیابان تمیز، آغازِ تمیز.",
});
Object.assign(window.I18N.tr, {
  "nav.areas": "İstanbul bölgeleri",
  "ar.index.kicker": "On bölge, tek şehir",
  "ar.index.h1": "GreenRoot İstanbul ekipleri",
  "ar.index.lead": "İstanbul genelinde on mahalle ekibi — Avrupa ve Anadolu yakası. Her biri: toparlanmakta olanlar için ücretli yeşil roller, haftada iki destekli vardiya, geri dönüşümle finanse edilen terapi. Bölgenizi seçin.",
  "ar.index.note": "Buluşma noktaları her ekibin ilk kayıtlı üyeleriyle belirlenir — oyunuz önemli. İstanbul acil: 112 · Yeşilay: 115.",
  "ar.kadikoy.kicker": "İstanbul ekibi · Kadıköy",
  "ar.kadikoy.h1": "GreenRoot Kadıköy",
  "ar.kadikoy.lead": "Kadıköy GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Sahil, parklar ve çarşı sokakları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.kadikoy.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.kadikoy.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.kadikoy.cop": "Bu ekip, Kadıköy sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.besiktas.kicker": "İstanbul ekibi · Beşiktaş",
  "ar.besiktas.h1": "GreenRoot Beşiktaş",
  "ar.besiktas.lead": "Beşiktaş GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Boğaz kıyısı ve park girişleri bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.besiktas.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.besiktas.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.besiktas.cop": "Bu ekip, Beşiktaş sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.sisli.kicker": "İstanbul ekibi · Şişli",
  "ar.sisli.h1": "GreenRoot Şişli",
  "ar.sisli.lead": "Şişli GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Bulvarlar, meydanlar ve metro çıkışları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.sisli.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.sisli.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.sisli.cop": "Bu ekip, Şişli sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.fatih.kicker": "İstanbul ekibi · Fatih",
  "ar.fatih.h1": "GreenRoot Fatih",
  "ar.fatih.lead": "Fatih GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Tarihî sokaklar ve mahalle parkları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.fatih.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.fatih.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.fatih.cop": "Bu ekip, Fatih sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.bakirkoy.kicker": "İstanbul ekibi · Bakırköy",
  "ar.bakirkoy.h1": "GreenRoot Bakırköy",
  "ar.bakirkoy.lead": "Bakırköy GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Deniz kenarı yolları ve çarşı sokakları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.bakirkoy.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.bakirkoy.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.bakirkoy.cop": "Bu ekip, Bakırköy sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.uskudar.kicker": "İstanbul ekibi · Üsküdar",
  "ar.uskudar.h1": "GreenRoot Üsküdar",
  "ar.uskudar.lead": "Üsküdar GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Kıyı, tepeler ve mahalle meydanları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.uskudar.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.uskudar.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.uskudar.cop": "Bu ekip, Üsküdar sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.beyoglu.kicker": "İstanbul ekibi · Beyoğlu",
  "ar.beyoglu.h1": "GreenRoot Beyoğlu",
  "ar.beyoglu.lead": "Beyoğlu GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Ana aksın yan sokakları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.beyoglu.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.beyoglu.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.beyoglu.cop": "Bu ekip, Beyoğlu sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.sariyer.kicker": "İstanbul ekibi · Sarıyer",
  "ar.sariyer.h1": "GreenRoot Sarıyer",
  "ar.sariyer.lead": "Sarıyer GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Boğaz köyleri ve orman kenarları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.sariyer.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.sariyer.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.sariyer.cop": "Bu ekip, Sarıyer sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.maltepe.kicker": "İstanbul ekibi · Maltepe",
  "ar.maltepe.h1": "GreenRoot Maltepe",
  "ar.maltepe.lead": "Maltepe GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Uzun kıyı ve etkinlik çayırları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.maltepe.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.maltepe.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.maltepe.cop": "Bu ekip, Maltepe sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
  "ar.kartal.kicker": "İstanbul ekibi · Kartal",
  "ar.kartal.h1": "GreenRoot Kartal",
  "ar.kartal.lead": "Kartal GreenRoot ekibi: haftada iki destekli temizlik vardiyası — Sahil ve kent meydanları bölgesinde. Toparlanmakta olanlar için ücretli roller, her vardiya için jeton; terapi ve ilaç, geri dönüşüm geliriyle finanse edilir.",
  "ar.kartal.meet": "Buluşma noktası: kayıtlı ekip üyelerine duyurulur. Katıl sayfasından kaydolun — bir dakika sürer.",
  "ar.kartal.sched": "Önerilen ritim: hafta içi bir sabah vardiyası + hafta sonu bir vardiya · ekipman ve güvenlik malzemesi sağlanır · Raha check-in'i kaydeder.",
  "ar.kartal.cop": "Bu ekip, Kartal sesini COP31'e taşır (Antalya ve İstanbul, 9–20 Kasım 2026): temiz sokaklar, temiz başlangıçlar.",
});
})();
Object.assign(window.I18N.en, {
  "ar.meet.t":"Meetup point","ar.meet.b":"Register now →",
  "ar.sched.t":"Shift rhythm","ar.cop.t":"To COP31","ar.cop.b":"COP31 page →",
  "ar.other.k":"Other districts","ar.other.t":"Find your crew",
  "ar.idx.cta":"Open crew page →"
});
Object.assign(window.I18N.fa, {
  "ar.meet.t":"نقطهٔ قرار","ar.meet.b":"همین حالا ثبت‌نام کنید ←",
  "ar.sched.t":"ریتم شیفت‌ها","ar.cop.t":"به سوی COP31","ar.cop.b":"صفحهٔ COP31 ←",
  "ar.other.k":"مناطق دیگر","ar.other.t":"تیم خودتان را پیدا کنید",
  "ar.idx.cta":"صفحهٔ تیم ←"
});
Object.assign(window.I18N.tr, {
  "ar.meet.t":"Buluşma noktası","ar.meet.b":"Hemen kaydol →",
  "ar.sched.t":"Vardiya ritmi","ar.cop.t":"COP31'e","ar.cop.b":"COP31 sayfası →",
  "ar.other.k":"Diğer bölgeler","ar.other.t":"Ekibinizi bulun",
  "ar.idx.cta":"Ekip sayfası →"
});

</script>
<script>
/* Researched outreach directory UI: EN / FA / TR. */
(function(){
var X={"en": {"pf.more": "More filters & saved leads", "pf.xlsshort": "Download Excel", "nav.partners": "Partner finder", "title.partners": "Partner finder — GreenRoot", "pf.kicker": "Research directory · 11 October 2026", "pf.title": "Find the people.<br>Build the pilot.", "pf.lead": "210 source-backed outreach leads for GreenRoot — recovery, recycling, green work and research. Start locally. Ask for one small, safe collaboration.", "pf.browse": "Explore the directory", "pf.download": "Download Excel · 210 leads", "pf.stat1": "Istanbul leads", "pf.stat2": "Other Türkiye leads", "pf.stat3": "Iran · Tehran leads", "pf.heroNote": "Potential collaborators, not confirmed partners. Branches and public units are labelled.", "pf.artLabel": "Three regions. One starting point.", "pf.artNote": "An outreach map, not a map of existing partnerships.", "pf.truth": "What these numbers mean", "pf.truthText": "210 contact entries across 88 parent institutions: 120 branches and 5 public units are included. 204 entries have a published public phone; 6 have no phone found in the checked source. The researcher has made no calls or collaboration messages. A listed number is not a tested line.", "pf.heading": "Your outreach workspace", "pf.sub": "Search official names, places or sectors. Open the source before your first call.", "pf.all": "All regions · 210", "pf.istanbul": "Istanbul · 100", "pf.turkey": "Other Türkiye · 100", "pf.iran": "Iran · 10", "pf.searchLabel": "Search the directory", "pf.searchPh": "Name, district, phone or topic…", "pf.categoryLabel": "Cooperation area", "pf.catAll": "All areas", "pf.cat.civic": "Municipalities", "pf.cat.recovery": "Recovery & mental health", "pf.cat.recycling": "Recycling & waste", "pf.cat.environment": "Environment & climate", "pf.cat.employment": "Work & enterprise", "pf.cat.research": "Research & evaluation", "pf.cat.family": "Families & safeguarding", "pf.placeLabel": "City / Istanbul district", "pf.placeAll": "All places", "pf.typeLabel": "Entry type", "pf.typeAll": "Organizations + branches + units", "pf.type.organization": "Institution / organization", "pf.type.branch": "Local branch", "pf.type.public_unit": "Public / university unit", "pf.sortLabel": "Sort", "pf.sort.priority": "Suggested first contacts", "pf.sort.name": "Name A–Z", "pf.shortlist": "Suggested first contacts only", "pf.phoneOnly": "Has a published phone", "pf.savedOnly": "My saved leads only", "pf.reset": "Reset filters", "pf.export": "Export filtered CSV", "pf.results": "{n} results · {p} parent institutions", "pf.savedCount": "{n} saved on this device", "pf.localNote": "Saved leads stay in this browser only. They are not sent to GreenRoot.", "pf.empty": "No matching leads. Clear a filter or try a different spelling.", "pf.prev": "Previous", "pf.next": "Next", "pf.page": "Page {p} of {n}", "pf.showing": "Showing {a}–{b} of {n}", "pf.start": "Suggested first contact", "pf.parent": "Parent institution", "pf.ask": "Proposed conversation", "pf.call": "Call public number", "pf.noPhone": "No public phone found — use the source / contact page.", "pf.domestic": "Türkiye domestic short line; may not connect from abroad.", "pf.email": "Email", "pf.website": "Website / contact route", "pf.source": "Source", "pf.checked": "Source checked: 11 Oct 2026", "pf.direct": "Official page retrieved", "pf.indexed": "Official source, search-index evidence", "pf.untested": "Published number · not called", "pf.save": "Save lead", "pf.unsave": "Saved", "pf.copy": "Copy contact", "pf.copied": "Contact copied", "pf.copyFailed": "Copy is unavailable here. Select the phone or download the spreadsheet.", "pf.priorityNote": "Priority is an editorial judgement of thematic fit — not a probability of funding or agreement.", "pf.method": "Sources, limits & a safe first approach", "pf.method1": "Names and contact routes come from official websites and public institutional directories. Original Turkish and Persian names are preserved. The check date records our review, not the source’s last update.", "pf.method2": "A public line can be a switchboard, a branch line or a domestic call centre. Ask to be connected to partnerships, environmental services, supported employment or the hospital administration. Do not use emergency or counselling hotlines for sales.", "pf.method3": "These are researched leads, not endorsements, signed agreements or an exhaustive census. Clinical licensing, foreign-founder eligibility, work permits and funding eligibility still need local professional checks. GreenRoot remains a concept prototype; other site metrics are demo data.", "pf.method4": "Keep outreach individual and respectful. Do not send patient names, diagnoses or recovery records. Clinical care must be independent of work output; any pilot needs lawful contracts, real wages, safety assessment, insurance and clinical oversight.", "pf.planTitle": "Turn a directory into a first meeting", "pf.plan1": "Choose five local leads", "pf.plan1p": "Start with one recovery organization, one recycler, one municipality, one employment route and one research team.", "pf.plan2": "Make a small, specific ask", "pf.plan2p": "Request a 20-minute introduction. Offer a written concept note, a waste-flow sketch and a safety-first pilot outline — no invented outcome claims.", "pf.plan3": "Record a real next step", "pf.plan3p": "Use the spreadsheet to record the date, contact owner and agreed follow-up. Follow up once after 5–7 business days; respect a decline.", "pf.templateTitle": "A first message you can adapt", "pf.templateSub": "Replace the bracketed fields before sending. This page never sends messages for you.", "pf.templateCopy": "Copy message", "pf.templateFile": "Download EN / FA / TR messages", "pf.homeTitle": "A source-backed way to find your first collaborators", "pf.homeText": "100 Istanbul leads, 100 elsewhere in Türkiye and 10 in Tehran — with public contact routes and clearly labelled branches.", "pf.homeButton": "Open the partner finder", "pf.note.branch": "Local Yeşilay branch. A branch is not a separate independent charity. Contact for a partnership introduction, not urgent care.", "pf.note.nophone": "The checked official branch directory does not publish a usable phone here. No headquarters phone has been passed off as a local number.", "pf.note.hqroute": "General institutional switchboard, also published by Yeşilay Akademi. Ask for cooperation / project staff; do not use 115 for business outreach.", "pf.note.switchboard": "Public switchboard / municipal line. Ask for the relevant team; this is not a direct partnership manager’s number.", "pf.note.sharedline": "Central İBB employment line, shared by its offices. Counted once; it is not a new independent organization.", "pf.note.eligibility": "Entrepreneurship support route, not a grant promise. Company registration and founder / programme eligibility need checking.", "pf.note.bugday": "The cited FAQ prints 349 99 93; older official pages print 349 99 33. Prefer email and reconfirm the phone before calling.", "pf.note.toloo": "The current homepage prints 8883 2002; older English contact pages show other numbers. Email first and reconfirm the route.", "pf.note.congress": "Peer-recovery organization, not a substitute for licensed medical care. The listed number is the website office, not an emergency service.", "pf.note.raad": "Vocational / disability inclusion expertise. An addiction-specific service or partnership has not been verified.", "pf.note.journal": "Published association telephone/fax via its journal office. Email the journal to ask for the association’s current project contact.", "pf.note.legacy": "Official municipal directory is legacy / intermittently inaccessible. Reconfirm the current number and authority before outreach."}, "fa": {"pf.more": "فیلترهای بیشتر و موارد ذخیره‌شده", "pf.xlsshort": "دانلود اکسل", "nav.partners": "بانک همکاری", "title.partners": "بانک همکاران پیشنهادی — گرین‌روت", "pf.kicker": "بانک پژوهش‌شده · ۱۱ اکتبر ۲۰۲۶", "pf.title": "همکار مناسب را پیدا کنید.<br>پایلوت را بسازید.", "pf.lead": "۲۱۰ مسیر تماس منبع‌دار برای گرین‌روت: بهبودی، بازیافت، کار سبز و پژوهش. از نزدیک‌ترین مجموعه‌ها شروع کنید و یک همکاری کوچک و ایمن پیشنهاد دهید.", "pf.browse": "جست‌وجوی مجموعه‌ها", "pf.download": "دانلود اکسل · ۲۱۰ مورد", "pf.stat1": "مسیر تماس در استانبول", "pf.stat2": "مسیر تماس در دیگر شهرهای ترکیه", "pf.stat3": "مسیر تماس در ایران · تهران", "pf.heroNote": "همکاران بالقوه، نه شرکای تأییدشده. شعب و واحدهای عمومی با برچسب مشخص شده‌اند.", "pf.artLabel": "سه منطقه؛ یک نقطه شروع.", "pf.artNote": "نقشه مسیرهای تماس؛ نه شبکه همکاری‌های موجود.", "pf.truth": "این تعداد دقیقاً به چه معناست؟", "pf.truthText": "۲۱۰ ردیف تماس زیرمجموعه ۸۸ نهاد مادر؛ شامل ۱۲۰ شعبه و ۵ واحد عمومی یا دانشگاهی. برای ۲۰۴ ردیف شماره عمومی منتشر شده و برای ۶ ردیف شماره‌ای در منبع بررسی‌شده پیدا نشد. پژوهشگر هیچ تماس یا پیام همکاری ارسال نکرده؛ شماره منتشرشده به معنی خط آزمایش‌شده نیست.", "pf.heading": "میز کار ارتباط با همکاران", "pf.sub": "نام رسمی، شهر، منطقه یا حوزه فعالیت را جست‌وجو کنید. پیش از اولین تماس، منبع را باز کنید.", "pf.all": "همه مناطق · ۲۱۰", "pf.istanbul": "استانبول · ۱۰۰", "pf.turkey": "دیگر شهرهای ترکیه · ۱۰۰", "pf.iran": "ایران · ۱۰", "pf.searchLabel": "جست‌وجو در بانک تماس", "pf.searchPh": "نام، منطقه، تلفن یا موضوع…", "pf.categoryLabel": "زمینه همکاری", "pf.catAll": "همه زمینه‌ها", "pf.cat.civic": "شهرداری‌ها", "pf.cat.recovery": "بهبودی و سلامت روان", "pf.cat.recycling": "بازیافت و پسماند", "pf.cat.environment": "محیط‌زیست و اقلیم", "pf.cat.employment": "اشتغال و کسب‌وکار", "pf.cat.research": "پژوهش و ارزیابی", "pf.cat.family": "خانواده و حمایت ایمن", "pf.placeLabel": "شهر / منطقه استانبول", "pf.placeAll": "همه شهرها و مناطق", "pf.typeLabel": "نوع ردیف", "pf.typeAll": "نهادها + شعب + واحدها", "pf.type.organization": "نهاد / سازمان", "pf.type.branch": "شعبه محلی", "pf.type.public_unit": "واحد عمومی / دانشگاهی", "pf.sortLabel": "مرتب‌سازی", "pf.sort.priority": "پیشنهادهای شروع تماس", "pf.sort.name": "نام مجموعه", "pf.shortlist": "فقط پیشنهادهای شروع تماس", "pf.phoneOnly": "دارای شماره منتشرشده", "pf.savedOnly": "فقط موارد ذخیره‌شده من", "pf.reset": "حذف فیلترها", "pf.export": "دانلود CSV نتیجه‌ها", "pf.results": "{n} نتیجه · {p} نهاد مادر", "pf.savedCount": "{n} مورد ذخیره‌شده روی این دستگاه", "pf.localNote": "موارد ذخیره‌شده فقط در همین مرورگر می‌مانند و برای گرین‌روت ارسال نمی‌شوند.", "pf.empty": "نتیجه‌ای پیدا نشد. یک فیلتر را بردارید یا املای دیگری را امتحان کنید.", "pf.prev": "صفحه قبل", "pf.next": "صفحه بعد", "pf.page": "صفحه {p} از {n}", "pf.showing": "نمایش {a} تا {b} از {n}", "pf.start": "پیشنهاد شروع تماس", "pf.parent": "نهاد مادر", "pf.ask": "پیشنهاد گفت‌وگو", "pf.call": "تماس با شماره عمومی", "pf.noPhone": "شماره عمومی پیدا نشد؛ از منبع یا صفحه تماس استفاده کنید.", "pf.domestic": "شماره کوتاه داخل ترکیه؛ ممکن است از خارج وصل نشود.", "pf.email": "ایمیل", "pf.website": "وب‌سایت / مسیر تماس", "pf.source": "منبع", "pf.checked": "تاریخ بررسی منبع: ۱۱ اکتبر ۲۰۲۶", "pf.direct": "صفحه رسمی بازیابی شده", "pf.indexed": "منبع رسمی؛ شواهد از نمایه جست‌وجو", "pf.untested": "شماره منتشرشده · تماس آزمایش نشده", "pf.save": "ذخیره مورد", "pf.unsave": "ذخیره شد", "pf.copy": "کپی اطلاعات تماس", "pf.copied": "اطلاعات تماس کپی شد", "pf.copyFailed": "کپی در این محیط در دسترس نیست. شماره را انتخاب کنید یا فایل اکسل را بگیرید.", "pf.priorityNote": "اولویت‌ها برآورد موضوعی ما از تناسب همکاری‌اند؛ نه درصد احتمال دریافت پول یا موافقت مجموعه.", "pf.method": "منابع، محدودیت‌ها و روش تماس ایمن", "pf.method1": "نام‌ها و مسیرهای تماس از وب‌سایت‌های رسمی و فهرست‌های عمومی نهادها گرفته شده‌اند. نام اصلی ترکی و فارسی حفظ شده است. تاریخ بررسی ما لزوماً تاریخ آخرین به‌روزرسانی منبع نیست.", "pf.method2": "شماره ممکن است تلفنخانه، خط شعبه یا مرکز تماس داخلی باشد. درخواست اتصال به بخش همکاری، خدمات محیط‌زیست، اشتغال حمایتی یا مدیریت بیمارستان کنید. خطوط اضطراری و مشاوره را برای پیشنهاد تجاری اشغال نکنید.", "pf.method3": "این‌ها سرنخ‌های بررسی‌شده‌اند؛ نه تأیید کیفیت، قرارداد همکاری یا سرشماری کامل. مجوز درمان، شرایط مؤسس خارجی، اجازه کار و شرایط حمایت مالی نیازمند بررسی تخصصی محلی‌اند. گرین‌روت نمونه اولیه مفهومی است و آمار دیگر صفحات سایت داده نمایشی است.", "pf.method4": "تماس‌ها را شخصی‌سازی‌شده و محترمانه انجام دهید. نام بیمار، تشخیص یا سوابق بهبودی را ارسال نکنید. درمان نباید به میزان کار وابسته باشد. هر پایلوت به قرارداد قانونی، مزد واقعی، ارزیابی ایمنی، بیمه و نظارت بالینی نیاز دارد.", "pf.planTitle": "از فهرست تماس تا اولین جلسه", "pf.plan1": "پنج مسیر محلی انتخاب کنید", "pf.plan1p": "یک مجموعه بهبودی، یک بازیافت‌کننده، یک شهرداری، یک مسیر اشتغال و یک تیم پژوهشی را انتخاب کنید.", "pf.plan2": "درخواست کوچک و مشخص بدهید", "pf.plan2p": "یک جلسه آشنایی ۲۰ دقیقه‌ای بخواهید. معرفی مکتوب ایده، طرح جریان پسماند و چارچوب ایمن پایلوت را ارائه کنید؛ بدون ادعای نتیجه ساختگی.", "pf.plan3": "گام بعدی واقعی را ثبت کنید", "pf.plan3p": "تاریخ، مسئول پیگیری و اقدام توافق‌شده را در اکسل بنویسید. یک بار پس از ۵ تا ۷ روز کاری پیگیری کنید و پاسخ منفی را محترم بدانید.", "pf.templateTitle": "متن اولیه قابل ویرایش", "pf.templateSub": "قبل از ارسال، بخش‌های داخل کروشه را جایگزین کنید. این صفحه به جای شما پیام ارسال نمی‌کند.", "pf.templateCopy": "کپی متن پیام", "pf.templateFile": "دانلود متن انگلیسی / فارسی / ترکی", "pf.homeTitle": "مسیر منبع‌دار برای پیدا کردن اولین همکاران", "pf.homeText": "۱۰۰ مسیر تماس استانبول، ۱۰۰ مسیر دیگر شهرهای ترکیه و ۱۰ مسیر تهران؛ همراه تماس عمومی و برچسب روشن برای شعب.", "pf.homeButton": "باز کردن بانک همکاری", "pf.note.branch": "شعبه محلی یشیلای است، نه یک خیریه مستقل دیگر. برای معرفی همکاری تماس بگیرید، نه دریافت مراقبت فوری.", "pf.note.nophone": "فهرست رسمیِ بررسی‌شده برای این شعبه شماره قابل استفاده‌ای منتشر نکرده است. شماره دفتر مرکزی به عنوان شماره شعبه جا زده نشده است.", "pf.note.hqroute": "تلفن عمومی نهاد، در سایت آکادمی یشیلای هم منتشر شده است. بخش همکاری یا پروژه‌ها را بخواهید؛ از ۱۱۵ برای تماس تجاری استفاده نکنید.", "pf.note.switchboard": "تلفنخانه یا خط عمومی شهرداری؛ درخواست اتصال به تیم مربوطه کنید. این شماره مستقیم مدیر همکاری نیست.", "pf.note.sharedline": "خط مرکزی مشترک دفاتر اشتغال شهرداری استانبول؛ فقط یک بار شمرده شده و نهاد مستقل جدید نیست.", "pf.note.eligibility": "مسیر بررسی حمایت از کارآفرینی است، نه وعده کمک‌هزینه. شرایط ثبت شرکت، مؤسس و برنامه باید بررسی شود.", "pf.note.bugday": "صفحه پرسش‌های متداول شماره 349 99 93 و صفحات رسمی قدیمی‌تر 349 99 33 را نوشته‌اند. ابتدا ایمیل بزنید و شماره را دوباره تأیید کنید.", "pf.note.toloo": "صفحه اصلی فعلی 8883 2002 را نوشته است؛ صفحات تماس انگلیسی قدیمی شماره‌های دیگری دارند. ابتدا با ایمیل مسیر تماس را تأیید کنید.", "pf.note.congress": "مجموعه بهبودی همتاست، نه جایگزین مراقبت پزشکی مجاز. شماره درج‌شده دفتر وب‌سایت است، نه خدمات اضطراری.", "pf.note.raad": "تخصص آموزش شغلی و مشارکت افراد دارای معلولیت؛ خدمت اختصاصی اعتیاد یا همکاری با گرین‌روت تأیید نشده است.", "pf.note.journal": "تلفن/نمابر منتشرشده انجمن از طریق دفتر نشریه؛ با ایمیل از دفتر، راه ارتباط با مسئول فعلی پروژه‌ها را بخواهید.", "pf.note.legacy": "فهرست رسمی شهرداری قدیمی است یا گاهی در دسترس نیست؛ شماره و مسئولیت فعلی را پیش از ارتباط دوباره تأیید کنید."}, "tr": {"pf.more": "Diğer filtreler ve kaydedilenler", "pf.xlsshort": "Excel indir", "nav.partners": "Ortak bul", "title.partners": "Potansiyel ortak rehberi — GreenRoot", "pf.kicker": "Araştırma rehberi · 11 Ekim 2026", "pf.title": "Doğru kişileri bul.<br>Pilotu birlikte kur.", "pf.lead": "GreenRoot için kaynaklı 210 iletişim kaydı: bağımlılıktan toparlanma, geri dönüşüm, yeşil iş ve araştırma. Yerelden başlayın; küçük, güvenli bir iş birliği önerin.", "pf.browse": "Rehberi keşfet", "pf.download": "Excel indir · 210 kayıt", "pf.stat1": "İstanbul kaydı", "pf.stat2": "Diğer Türkiye illeri", "pf.stat3": "İran · Tahran kaydı", "pf.heroNote": "Potansiyel iş birlikleri; onaylanmış ortaklar değil. Şube ve kamu birimleri etiketlidir.", "pf.artLabel": "Üç bölge. Tek başlangıç.", "pf.artNote": "İletişim haritasıdır; mevcut ortaklık ağı değildir.", "pf.truth": "Sayılar ne anlama geliyor?", "pf.truthText": "88 ana kurum altında 210 iletişim kaydı; 120 şube ve 5 kamu/üniversite birimi dahil. 204 kayıtta yayımlanmış telefon vardır, 6 kayıt için incelenen kaynakta telefon bulunamadı. Araştırmacı arama veya işbirliği mesajı göndermedi. Yayımlanmış numara, test edilmiş hat değildir.", "pf.heading": "İş birliği çalışma alanınız", "pf.sub": "Resmî ad, yer veya sektör arayın. İlk aramadan önce kaynağı açın.", "pf.all": "Tüm bölgeler · 210", "pf.istanbul": "İstanbul · 100", "pf.turkey": "Diğer Türkiye · 100", "pf.iran": "İran · 10", "pf.searchLabel": "Rehberde ara", "pf.searchPh": "Ad, ilçe, telefon veya konu…", "pf.categoryLabel": "İş birliği alanı", "pf.catAll": "Tüm alanlar", "pf.cat.civic": "Belediyeler", "pf.cat.recovery": "Toparlanma & ruh sağlığı", "pf.cat.recycling": "Geri dönüşüm & atık", "pf.cat.environment": "Çevre & iklim", "pf.cat.employment": "İstihdam & girişim", "pf.cat.research": "Araştırma & değerlendirme", "pf.cat.family": "Aile & koruma", "pf.placeLabel": "İl / İstanbul ilçesi", "pf.placeAll": "Tüm yerler", "pf.typeLabel": "Kayıt türü", "pf.typeAll": "Kurumlar + şubeler + birimler", "pf.type.organization": "Kurum / kuruluş", "pf.type.branch": "Yerel şube", "pf.type.public_unit": "Kamu / üniversite birimi", "pf.sortLabel": "Sıralama", "pf.sort.priority": "Önerilen ilk temaslar", "pf.sort.name": "Ad A–Z", "pf.shortlist": "Yalnız önerilen ilk temaslar", "pf.phoneOnly": "Yayımlanmış telefonu var", "pf.savedOnly": "Yalnız kaydettiklerim", "pf.reset": "Filtreleri sıfırla", "pf.export": "Filtrelenen CSV’yi indir", "pf.results": "{n} sonuç · {p} ana kurum", "pf.savedCount": "Bu cihazda {n} kayıt", "pf.localNote": "Kaydedilenler yalnız bu tarayıcıda tutulur; GreenRoot’a gönderilmez.", "pf.empty": "Eşleşme bulunamadı. Bir filtreyi kaldırın veya farklı yazım deneyin.", "pf.prev": "Önceki", "pf.next": "Sonraki", "pf.page": "Sayfa {p} / {n}", "pf.showing": "{n} kaydın {a}–{b} arası", "pf.start": "Önerilen ilk temas", "pf.parent": "Ana kurum", "pf.ask": "Önerilen görüşme", "pf.call": "Yayımlanmış numarayı ara", "pf.noPhone": "Telefon bulunamadı; kaynak / iletişim sayfasını kullanın.", "pf.domestic": "Türkiye içi kısa hat; yurt dışından bağlanmayabilir.", "pf.email": "E-posta", "pf.website": "Web sitesi / iletişim", "pf.source": "Kaynak", "pf.checked": "Kaynak kontrolü: 11 Ekim 2026", "pf.direct": "Resmî sayfa alındı", "pf.indexed": "Resmî kaynak, arama dizini kanıtı", "pf.untested": "Yayımlanmış numara · aranmadı", "pf.save": "Kaydet", "pf.unsave": "Kaydedildi", "pf.copy": "İletişimi kopyala", "pf.copied": "İletişim kopyalandı", "pf.copyFailed": "Burada kopyalama kullanılamıyor. Telefonu seçin veya Excel’i indirin.", "pf.priorityNote": "Öncelik, konu uyumuna ilişkin editoryal değerlendirmedir; fon veya kabul olasılığı değildir.", "pf.method": "Kaynaklar, sınırlar ve güvenli ilk temas", "pf.method1": "İsim ve iletişim yolları resmî web sitelerinden ve kamu kurum rehberlerinden alınmıştır. Özgün Türkçe ve Farsça isimler korunur. Kontrol tarihi bizim incelememizdir; kaynağın son güncelleme tarihi değildir.", "pf.method2": "Numara santral, şube hattı veya ülke içi çağrı merkezi olabilir. İş birliği, çevre hizmetleri, destekli istihdam ya da hastane yönetimine bağlanmayı isteyin. Acil ve danışmanlık hatlarını ticari teklif için kullanmayın.", "pf.method3": "Bunlar araştırılmış adaylardır; tavsiye, anlaşma veya tam sayım değildir. Klinik ruhsat, yabancı kurucu uygunluğu, çalışma izni ve destek koşulları yerel uzmanlarla kontrol edilmelidir. GreenRoot bir konsept prototipidir; diğer sayfalardaki metrikler demo veridir.", "pf.method4": "Tek tek, saygılı ve kişiselleştirilmiş iletişim kurun. Hasta adı, tanı veya toparlanma kaydı paylaşmayın. Tedavi iş çıktısından bağımsız olmalıdır. Pilot; yasal sözleşme, gerçek ücret, güvenlik değerlendirmesi, sigorta ve klinik gözetim gerektirir.", "pf.planTitle": "Rehberden ilk toplantıya", "pf.plan1": "Beş yerel aday seçin", "pf.plan1p": "Bir toparlanma kuruluşu, bir geri dönüşümcü, bir belediye, bir istihdam kanalı ve bir araştırma ekibiyle başlayın.", "pf.plan2": "Küçük ve net bir talep iletin", "pf.plan2p": "20 dakikalık tanışma isteyin. Yazılı konsept, atık akışı taslağı ve güvenli pilot çerçevesi sunun; uydurma sonuç iddiaları kullanmayın.", "pf.plan3": "Gerçek bir sonraki adımı kaydedin", "pf.plan3p": "Tarihi, takip sorumlusunu ve mutabık kalınan adımı Excel’e yazın. 5–7 iş günü sonra bir kez takip edin; olumsuz yanıtı kabul edin.", "pf.templateTitle": "Uyarlayabileceğiniz ilk mesaj", "pf.templateSub": "Göndermeden önce köşeli parantezli alanları doldurun. Bu sayfa sizin adınıza mesaj göndermez.", "pf.templateCopy": "Mesajı kopyala", "pf.templateFile": "EN / FA / TR mesajlarını indir", "pf.homeTitle": "İlk iş birlikleri için kaynaklı bir başlangıç", "pf.homeText": "İstanbul’da 100, Türkiye’nin diğer illerinde 100, Tahran’da 10 kayıt; kamuya açık iletişim yolları ve açık şube etiketleri.", "pf.homeButton": "Ortak bulma rehberini aç", "pf.note.branch": "Yerel Yeşilay şubesi; ayrı ve bağımsız bir dernek değildir. Acil bakım için değil, iş birliği tanışması için iletişim kurun.", "pf.note.nophone": "İncelenen resmî şube rehberinde kullanılabilir telefon yoktur. Genel merkez numarası yerel numara gibi gösterilmemiştir.", "pf.note.hqroute": "Yeşilay Akademi’de de yayımlanan kurumsal santral. İş birliği / proje ekibini isteyin; ticari temas için 115’i kullanmayın.", "pf.note.switchboard": "Kamu santrali / belediye hattı. İlgili ekibi isteyin; doğrudan ortaklık yöneticisinin numarası değildir.", "pf.note.sharedline": "İBB istihdam ofislerinin ortak merkez hattı. Bir kez sayılmıştır; yeni bağımsız kurum değildir.", "pf.note.eligibility": "Girişimcilik desteği kanalıdır; hibe sözü değildir. Şirket, kurucu ve program uygunluğu kontrol edilmelidir.", "pf.note.bugday": "Atıf yapılan SSS 349 99 93; eski resmî sayfalar 349 99 33 yazıyor. Önce e-posta ile numarayı teyit edin.", "pf.note.toloo": "Güncel ana sayfada 8883 2002, eski İngilizce iletişim sayfalarında farklı numaralar var. Önce e-posta ile teyit edin.", "pf.note.congress": "Akran toparlanma kuruluşu; ruhsatlı tıbbi bakım yerine geçmez. Numara web sitesi ofisine aittir; acil hizmet değildir.", "pf.note.raad": "Mesleki eğitim ve engellilik kapsayıcılığı uzmanlığı. Bağımlılığa özel hizmet veya GreenRoot ortaklığı doğrulanmadı.", "pf.note.journal": "Dergi ofisi üzerinden yayımlanan dernek telefon/faksı. Güncel proje irtibatını e-posta ile isteyin.", "pf.note.legacy": "Eski / zaman zaman erişilemeyen resmî belediye rehberi. Güncel numara ve yetkiyi iletişim öncesi teyit edin."}};
Object.keys(X).forEach(function(l){window.I18N[l]=Object.assign(window.I18N[l]||{},X[l]);});
window.GR_MESSAGES={"en": "Subject: A 20-minute introduction — recovery + paid green work pilot\n\nHello [organization/team],\nI’m [name], developing GreenRoot: a concept linking addiction recovery support with safe, paid green work and transparent recycling income.\nWe are seeking a small local collaboration in [city/district], not claiming proven results or existing partnerships. Clinical care must stay independent of work output; participation would be voluntary, with lawful wages and professional safety oversight.\nCould we arrange a 20-minute introduction to discuss [one specific ask relevant to your organization] and whether this fits your remit?\nConcept note: https://greenroot-af0.pages.dev/program\nPartner research directory: https://greenroot-af0.pages.dev/partners\nThank you,\n[name / role / public contact]\n", "fa": "موضوع: جلسه آشنایی ۲۰ دقیقه‌ای — پایلوت بهبودی و کار سبز با مزد\n\nسلام به [نام مجموعه/تیم]،\nمن [نام] هستم و روی ایده گرین‌روت کار می‌کنم: پیوند حمایت از بهبودی اعتیاد با کار سبز ایمن و با مزد و درآمد شفاف بازیافت.\nبرای [شهر/منطقه] به دنبال یک همکاری کوچک محلی هستیم؛ نه ادعای نتیجه اثبات‌شده داریم و نه شریک تأییدشده. درمان باید مستقل از میزان کار بماند و مشارکت با رضایت، مزد قانونی و نظارت حرفه‌ای ایمنی انجام شود.\nآیا امکان یک جلسه آشنایی ۲۰ دقیقه‌ای برای بررسی [یک درخواست مشخص مرتبط با مجموعه] و تناسب آن با حوزه فعالیت شما وجود دارد؟\nمعرفی ایده: https://greenroot-af0.pages.dev/program\nبانک بررسی همکاران: https://greenroot-af0.pages.dev/partners?lang=fa\nبا سپاس،\n[نام / نقش / راه تماس عمومی]\n", "tr": "Konu: 20 dakikalık tanışma — toparlanma + ücretli yeşil iş pilotu\n\nMerhaba [kurum/ekip],\nBen [ad], bağımlılıktan toparlanma desteğini güvenli, ücretli yeşil işler ve şeffaf geri dönüşüm geliriyle ilişkilendiren GreenRoot konsepti üzerinde çalışıyorum.\n[İl/ilçe] için küçük bir yerel iş birliği arıyoruz; kanıtlanmış sonuç veya mevcut ortaklık iddiasında bulunmuyoruz. Klinik bakım iş çıktısından bağımsız kalmalı; katılım gönüllü olmalı, yasal ücret ve profesyonel güvenlik gözetimi sağlanmalıdır.\n[Kurumla ilgili tek somut talep] ve bunun görev alanınıza uyumunu görüşmek için 20 dakikalık bir tanışma mümkün mü?\nKonsept: https://greenroot-af0.pages.dev/program\nAday iş birliği rehberi: https://greenroot-af0.pages.dev/partners?lang=tr\nTeşekkürler,\n[ad / rol / kamuya açık iletişim]\n"};
window.GR_PLACES_FA={"İstanbul": "استانبول", "Tehran": "تهران", "Antalya": "آنتالیا", "Ankara": "آنکارا", "Bursa": "بورسا", "İzmir": "ازمیر", "Balıkesir": "بالیکسیر", "Adalar": "آدالار", "Arnavutköy": "آرناووت‌کوی", "Ataşehir": "آتاشهیر", "Avcılar": "آوجیلار", "Bağcılar": "باغجیلار", "Bahçelievler": "باهچه‌لی‌اولر", "Bakırköy": "باکرکوی", "Başakşehir": "باشاک‌شهیر", "Bayrampaşa": "بایرام‌پاشا", "Beşiktaş": "بشیکتاش", "Beykoz": "بیکوز", "Beylikdüzü": "بیلیک‌دوزو", "Beyoğlu": "بی‌اوغلو", "Büyükçekmece": "بیوک‌چکمجه", "Çatalca": "چاتالجا", "Çekmeköy": "چکمه‌کوی", "Esenler": "اسنلر", "Esenyurt": "اسنیورت", "Eyüpsultan": "ایوب‌سلطان", "Fatih": "فاتح", "Gaziosmanpaşa": "قاضی‌عثمان‌پاشا", "Güngören": "گونگورن", "Kadıköy": "کادی‌کوی", "Kağıthane": "کاغیت‌خانه", "Kartal": "کارتال", "Küçükçekmece": "کوچوک‌چکمجه", "Maltepe": "مالتپه", "Pendik": "پندیک", "Sancaktepe": "سانجاک‌تپه", "Sarıyer": "ساری‌یر", "Silivri": "سیلیوری", "Sultanbeyli": "سلطان‌بیلی", "Sultangazi": "سلطان‌غازی", "Şile": "شیله", "Şişli": "شیشلی", "Tuzla": "توزلا", "Ümraniye": "عمرانیه", "Üsküdar": "اسکودار", "Zeytinburnu": "زیتین‌بورنو"};
})();

</script>
<script>
/* Outreach workflow: no autonomous external actions. */
(function(){var X={"en": {"ow.nav": "Outreach desk", "ow.kicker": "GREENROOT / IDEA → EVIDENCE → APPLICATION", "ow.h1": "One contact.<br>One real next step.", "ow.lead": "A practical desk for an unincorporated GreenRoot team: recipient-specific messages, university / incubation routes, funding gates and follow-up dates. No automatic outreach or registrations.", "ow.start": "Open my outreach desk", "ow.pick": "Choose from the 210-lead bank", "ow.heroNote": "Prepared for the idea stage · source review 11 October 2026 · eligibility remains conditional", "ow.clock": "After YOU record sending", "ow.clock2": "+2 calendar days: check the response", "ow.clock3": "No reply? Review ONE later follow-up", "ow.truth": "No service connected, no email claimed. Dates work locally now; real email reminders require the deployed service to be configured and your address verified.", "ow.desk": "Your next-action desk", "ow.deskSub": "Pick a lead, inspect its route, edit a draft and record only actions you actually completed. Plans and notes stay in this browser unless you explicitly enable email reminders.", "ow.selectLabel": "Institution or programme", "ow.selectBlank": "Choose a contact or a source-backed route…", "ow.searchLabel": "Find a lead by name or ID", "ow.noSelected": "Start with one contact — not a bulk campaign. The university and pre-incubation routes below are tailored to the idea stage.", "ow.sender": "Your name / team (local only)", "ow.senderPh": "Replace [your name] before sending", "ow.messageLang": "Message language", "ow.subject": "Subject", "ow.draft": "Editable first message", "ow.draftHint": "This draft is a proposal, not evidence of an existing partnership, R&D achievement or clinical efficacy. Replace placeholders. Opening email/WhatsApp does NOT mark it as sent.", "ow.copy": "Copy the draft", "ow.openEmail": "Open my email app", "ow.openRoute": "Open official route", "ow.inspectWA": "Inspect the published WhatsApp route", "ow.saveLead": "Add this lead to my desk", "ow.sendConfirm": "I reviewed the recipient and message, and really sent it myself.", "ow.recordSent": "Record actual send → +2-day check", "ow.sentAt": "When did you send it?", "ow.channel": "Channel actually used", "ow.channel.email": "Email", "ow.channel.form": "Official form", "ow.channel.phone": "Business office phone", "ow.channel.whatsapp": "WhatsApp (purpose checked by you)", "ow.interval": "Response check after (calendar days)", "ow.noAuto": "No messages to institutions, applications, company registrations, payments or signatures are performed here.", "ow.tasks": "My follow-up queue", "ow.tasksSub": "A +2-day task is an inbox / portal check, not an automatic demand for a reply. If there is no response, consider a single polite follow-up around day 7.", "ow.queueEmpty": "No real action recorded yet. Choose a lead and save a draft, or record a message you actually sent.", "ow.local": "Local-only desk: export a private backup before changing devices. Do not upload these notes to the public repository.", "ow.export": "Private backup (JSON)", "ow.import": "Restore a backup", "ow.calendar": "Calendar reminders (.ics)", "ow.clear": "Delete my desk", "ow.clearConfirm": "Delete your local desk and cancel connected server reminders? This cannot be undone without your private backup.", "ow.pending": "Pending", "ow.due": "Due / overdue", "ow.complete": "Done", "ow.selected": "Tracked leads", "ow.step.check_reply": "Check inbox / portal for the response", "ow.step.followup_once": "Review one polite follow-up", "ow.step.prepare_dossier": "Prepare the requested concept / R&D pack", "ow.step.review_eligibility": "Confirm intake, eligibility and required documents", "ow.step.review_application": "Check the submitted application / receipt", "ow.step.check_nextcall": "Check the official next call / deadline", "ow.doneBtn": "Record outcome / next step", "ow.snooze": "Change due date", "ow.cancel": "Cancel this task", "ow.openLead": "Open lead", "ow.outcome": "What actually happened?", "ow.outcome.none": "No reply yet", "ow.outcome.positive": "Positive reply / meeting offered", "ow.outcome.info": "Requested more information", "ow.outcome.declined": "Declined / asked not to contact", "ow.outcome.done": "Task completed; no external outcome inferred", "ow.notes": "Business-only note (local, never emailed)", "ow.notesPh": "No patient names, health data, IDs, passwords or API keys.", "ow.saveOutcome": "Save the real outcome", "ow.close": "Close", "ow.followupText": "Hello [team], I’m following up once on my GreenRoot introduction sent on [date]. Is your office the right route for [specific ask]? If it is not relevant, no problem; I will not keep following up. Thank you, [your name].", "ow.application": "I submitted on the official portal myself", "ow.applicationHint": "Only record this AFTER real submission. Technopark acceptance, company registration and investment are separate events. You must review eligibility and the actual portal requirements first.", "ow.applicationConfirm": "I checked eligibility, required documents and the current call, and submitted personally.", "ow.recordApplication": "Record submission + response check", "ow.noApplication": "A local checkbox never certifies funding eligibility. Stop before payments, legal incorporation, equity agreements or signatures; obtain the appropriate professional review.", "ow.routes": "University, incubation & funding routes", "ow.routesSub": "13 curated routes, separate from the 210-entry bank. Dates refer to the linked call, not a guarantee of future intake or your eligibility. Open calls may still be unsuitable for an unincorporated team.", "ow.routeFilter.all": "All routes", "ow.routeFilter.early": "University / pre-incubation first", "ow.routeFilter.funding": "Funding: check the gates", "ow.kind.incubator": "Pre-incubation / accelerator", "ow.kind.university": "University / TTO", "ow.kind.equity": "Equity investment — not a grant", "ow.kind.grant": "R&D grant — conditional eligibility", "ow.kind.repayable": "Repayable support — not a grant", "ow.status.published_deadline": "Published deadline; confirm current rules", "ow.status.closed_reviewed_call": "Reviewed call is CLOSED", "ow.status.archived_call_inquiry": "Archived call: ask for current intake", "ow.status.confirm_intake": "Current intake not confirmed", "ow.status.confirm_current_rules": "Confirm current programme rules", "ow.status.confirm_current_call": "Current call not confirmed", "ow.deadline": "Deadline in source", "ow.preReg": "Company pre-registration deadline", "ow.source": "Official source", "ow.reviewed": "Reviewed 11 October 2026; reconfirm before submitting", "ow.useRoute": "Plan this route", "ow.rules": "Call rules / PDF", "ow.gate.education_and_no_shareholding": "Check student/graduate evidence, previous support and shareholding restrictions.", "ow.gate.technology_validation": "A genuine, testable technology hypothesis is needed; social benefit alone is not R&D evidence.", "ow.gate.office_confirmation": "Ask the office about the current intake, external-team eligibility, fees and documents.", "ow.gate.acceleration_education_shareholding": "Phase 1 completion, education, prior-support and shareholding gates; no early incorporation shortcut.", "ow.gate.turkish_sme_company": "Later route: eligible Turkish SME capital company and substantiated R&D project. Not ready for a company-less idea.", "ow.gate.university_and_company": "Joint executing university/research body and eligible customer company; both must agree.", "ow.gate.company_nace_training": "Confirm company eligibility, supported NACE activity, training, guarantees and repayment.", "ow.readiness": "Prepare the pack before applying", "ow.readinessSub": "These are preparation suggestions, not a universal university admission checklist. The actual programme may ask for different documents. No sensitive documents are uploaded here.", "ow.readinessCount": "Self-reported checklist completion", "ow.doc.concept": "1-page concept: problem, user, payer, safe pilot and both recycling-to-care pathways", "ow.doc.team": "Team bios, roles and an honest skills-gap map; academic status confirmed where required", "ow.doc.tech": "Testable R&D hypothesis, novelty comparison, prototype / TRL evidence — no invented results", "ow.doc.market": "Customer discovery and letters of interest only if actually obtained", "ow.doc.budget": "Work packages, timeline, cost assumptions, own contribution and funding-gap table", "ow.doc.safety": "Voluntary lawful paid work, wages, insurance, licensed clinical partners and data separation", "ow.doc.materials": "Medical-material pathway: licensed manufacturing / quality / regulatory review; not a DIY medical product claim", "ow.doc.call": "Current official call, correct intake, degree / shareholding / residency checks and required forms", "ow.doc.permission": "Written permission before sharing institutional/private data or submitting/signing anything", "ow.dossier": "Editable application dossier", "ow.emailTitle": "Real email reminders: activate safely", "ow.emailSub": "Only reminders to your own verified address — never outreach to the lead. The server receives due-task labels, institution names and dates, not your draft messages, notes, health data or documents.", "ow.emailLoading": "Checking reminder service…", "ow.emailMissing": "Not active: email provider / sender not configured. No email has been sent or scheduled for delivery. Local due dates still work.", "ow.emailOffline": "Service unavailable in this preview / connection. Use the live site; local planning remains available.", "ow.emailReady": "Sender settings present; verify your email before syncing tasks. Provider acceptance / delivery still needs a real test.", "ow.emailVerifyPending": "Verification request accepted by the provider. Open the email and confirm; delivery / reading is not yet confirmed.", "ow.emailVerified": "Your address is verified. Pending task reminders can be synced to the scheduled service.", "ow.emailUnsubscribed": "Email reminders are stopped. Your local desk is unaffected.", "ow.emailAddress": "Your reminder email address", "ow.emailConsent": "I request task reminders to my own address and consent to sending the stated minimal task data to the reminder service.", "ow.emailConnect": "Request verification email", "ow.emailRefresh": "Check verification / service", "ow.emailSync": "Sync pending reminders", "ow.emailStop": "Stop and delete server reminders", "ow.emailSetup": "Sender setup guide — no keys in chat", "ow.emailTestMode": "Single-account test mode: only the configured account-owner email is allowed. Public users require a verified domain and anti-abuse setup.", "ow.emailSynced": "Pending reminders synced; this is a queue record, not a delivery confirmation.", "ow.emailFail": "The email operation failed. No delivery is claimed. Check sender settings and the live service.", "ow.rahaTitle": "Raha’s outreach coach — explicit rules, real evidence", "ow.rahaSub": "The site companion is still a rules-based demo, not an autonomous filing or inbox-reading agent. Its outreach instructions now prioritize prerequisites, dates, permission and documented outcomes.", "ow.rahaOpen": "Open Raha / outreach coach", "ow.rahaFile": "Download side instructions (EN / FA / TR)", "ow.copyDone": "Copied", "ow.savedDone": "Saved on this device", "ow.invalidImport": "This is not a valid GreenRoot private backup. Nothing was imported.", "ow.recorded": "Action recorded by you; follow-up date created. Nothing was sent by the site.", "ow.noResponseChance": "Fit labels are editorial, not reply / acceptance probabilities.", "ow.fit.high": "Strong thematic fit; willingness unknown", "ow.fit.medium": "Possible fit; confirm the right team", "ow.fit.conditional": "Conditional route; prerequisites first", "ow.profile.university": "University / technology-transfer inquiry", "ow.profile.public_support": "Business-support eligibility inquiry", "ow.profile.civic": "Municipal pilot / department referral", "ow.profile.recycling": "Safe material flow / offtake partner", "ow.profile.recovery": "Licensed care / referral / safeguards", "ow.profile.research": "Research design / ethics / evaluation", "ow.profile.employment": "Skills / employers / responsible sponsor", "ow.profile.family": "Safeguarding / family support", "ow.profile.environment": "Environmental learning / impact methods", "wa.label": "Published WhatsApp evidence", "wa.published": "Recipient-specific link published on an official page", "wa.not_found": "No official WhatsApp link found in checked pages — account existence unknown", "wa.unavailable": "Could not inspect the official page; WhatsApp unknown", "wa.directory_only": "Only the directory issuer’s channel found — not this institution’s", "wa.hq_only": "HQ channel only; this branch’s WhatsApp not confirmed", "wa.limit": "Published link ≠ active account, answered line or permission for business outreach. No WhatsApp account was probed or contacted.", "wa.service": "Municipal public-service route: business cooperation purpose is not confirmed. Ask for the correct office; do not send a bulk pitch.", "wa.support": "Support / counselling route, not a channel for sales or grant applications.", "wa.purpose": "Confirm the channel’s purpose with the institution before business use.", "wa.filter": "Published WhatsApp link only", "wa.all": "All WhatsApp evidence states", "wa.source": "WhatsApp source", "wa.summary": "210 entries reviewed through 136 public pages: 12 institution-specific published routes, 180 with no link found, 14 inaccessible and 4 directory-provider channels not attributable to the institution. Links are not account tests.", "wa.plan": "Personalized message + next steps", "ow.stage": "Project legal stage (self-reported)", "ow.stage.idea": "Idea / no registered company", "ow.stage.registered_tr": "Registered Turkish company — verify all other gates", "ow.stage.other": "Other / uncertain — ask the programme", "ow.setup1": "Create an email-provider account yourself. The prepared adapter uses Resend; no account or API key has been created for you.", "ow.setup2": "For an owner-only test, use onboarding@resend.dev and the email of that Resend account. This does NOT allow public-user mail.", "ow.setup3": "In the reminder Worker’s Settings → Secrets, set RESEND_API_KEY, EMAIL_FROM and TEST_RECIPIENT. Never place them in this form, chat, HTML or Git.", "ow.setup4": "Then refresh the service here, request your verification email and confirm it. Only afterward sync your real pending tasks.", "ow.setup5": "The scheduled Worker checks due reminders every 30 minutes. A queued task, API acceptance, delivered email and read email are different; delivery is not guaranteed.", "ow.setup6": "Before public-user activation: verify your own sender domain, configure Turnstile, a real privacy contact/notice and review costs, security and legal obligations. Remove owner-only test mode only after those checks.", "ow.privateTitle": "Minimal data, explicit control", "ow.privateText": "No health records, documents or draft messages are transmitted to the reminder service. Verified-address task reminders can be stopped/deleted. The email provider may retain delivery logs under its own policy. Public activation is gated until a real responsible privacy contact and notice are configured.", "ow.localError": "Browser storage is unavailable. Keep a private backup; reload persistence is not guaranteed.", "ow.applicationLocked": "For your current stage / this closed call, do not file this application. First resolve the stated prerequisites with the official office.", "ow.invalidTime": "Enter a valid actual date, not a future completed action.", "ow.stopped": "This lead is stopped after a decline / no response. Do not keep messaging.", "ow.stage.draft": "Draft only", "ow.stage.awaiting_response": "User reports sent; waiting for reply", "ow.stage.submitted": "User reports submitted; not approved", "ow.stage.reply_positive": "User reports positive reply", "ow.stage.needs_info": "More information requested, per user", "ow.stage.declined": "Declined; stop outreach", "ow.stage.no_response_stop": "No response; do not keep following up"}, "fa": {"ow.nav": "دفتر کار همکاری و فاند", "ow.kicker": "گرین‌روت / ایده ← شواهد ← درخواست", "ow.h1": "هر تماس،<br>یک قدم واقعی بعدی.", "ow.lead": "دفتر کاری برای گرین‌روت در مرحله ایده و بدون شرکت: پیام ویژه هر مخاطب، مسیر دانشگاه و پیش‌رشد، شرایط فاند و موعد پیگیری. هیچ پیام همکاری یا ثبت‌نامی خودکار انجام نمی‌شود.", "ow.start": "باز کردن دفتر کار من", "ow.pick": "انتخاب از بانک ۲۱۰ ردیفی", "ow.heroNote": "آماده برای مرحله ایده · بازبینی منابع ۱۱ اکتبر ۲۰۲۶ · شرایط پذیرش نیازمند تأیید است", "ow.clock": "پس از ثبت ارسال توسط شما", "ow.clock2": "۲ روز تقویمی بعد: بررسی پاسخ", "ow.clock3": "بی‌پاسخ؟ یک پیگیری دیرتر را بررسی کنید", "ow.truth": "بدون اتصال سرویس، ایمیل واقعی ادعا نمی‌شود. موعدها اکنون محلی کار می‌کنند؛ یادآور ایمیلی به تنظیم سرویس منتشرشده و تأیید آدرس شما نیاز دارد.", "ow.desk": "میز اقدام بعدی شما", "ow.deskSub": "مخاطب را انتخاب کنید، مسیرش را بخوانید، پیش‌نویس را ویرایش و فقط کار واقعاً انجام‌شده را ثبت کنید. برنامه و یادداشت‌ها محلی می‌مانند؛ یادآور ایمیلی فقط با فعال‌سازی صریح شما.", "ow.selectLabel": "مجموعه یا برنامه", "ow.selectBlank": "یک مخاطب یا مسیر منبع‌دار انتخاب کنید…", "ow.searchLabel": "پیدا کردن مخاطب با نام یا شناسه", "ow.noSelected": "با یک مخاطب شروع کنید، نه ارسال انبوه. مسیرهای دانشگاه و پیش‌رشد پایین، متناسب با مرحله ایده هستند.", "ow.sender": "نام شما / تیم — فقط محلی", "ow.senderPh": "پیش از ارسال، [نام شما] را جایگزین کنید", "ow.messageLang": "زبان پیام", "ow.subject": "موضوع پیام", "ow.draft": "پیام اولِ قابل ویرایش", "ow.draftHint": "این پیش‌نویس پیشنهاد است، نه مدرک شریک موجود، دستاورد پژوهشی یا اثر درمانی. جای‌خالی‌ها را کامل کنید. باز کردن ایمیل یا واتساپ به‌معنی ارسال نیست.", "ow.copy": "کپی پیش‌نویس", "ow.openEmail": "باز کردن برنامه ایمیل من", "ow.openRoute": "باز کردن مسیر رسمی", "ow.inspectWA": "بررسی لینک واتساپ منتشرشده", "ow.saveLead": "افزودن این مورد به دفتر من", "ow.sendConfirm": "مخاطب و متن را بررسی کردم و خودم واقعاً پیام را فرستادم.", "ow.recordSent": "ثبت ارسال واقعی ← بررسی دو روز بعد", "ow.sentAt": "چه زمانی ارسال کردید؟", "ow.channel": "کانال واقعاً استفاده‌شده", "ow.channel.email": "ایمیل", "ow.channel.form": "فرم رسمی", "ow.channel.phone": "تلفن دفتر کاری", "ow.channel.whatsapp": "واتساپ — کارکرد را خودتان تأیید کرده‌اید", "ow.interval": "بررسی پاسخ بعد از چند روز تقویمی؟", "ow.noAuto": "این بخش هیچ پیام به نهادها، ارسال درخواست، ثبت شرکت، پرداخت یا امضایی انجام نمی‌دهد.", "ow.tasks": "صف پیگیری‌های من", "ow.tasksSub": "کار دو روز بعد، بررسی صندوق پیام یا پرتال است، نه مطالبه خودکار پاسخ. اگر پاسخی نبود، یک پیگیری محترمانه نزدیک روز هفتم را بررسی کنید.", "ow.queueEmpty": "هنوز اقدام واقعی ثبت نشده است. مخاطبی انتخاب و پیش‌نویس ذخیره کنید، یا پیام واقعاً ارسال‌شده را ثبت کنید.", "ow.local": "دفتر محلی است؛ پیش از تغییر دستگاه نسخه پشتیبان خصوصی بگیرید. این یادداشت‌ها را در مخزن عمومی منتشر نکنید.", "ow.export": "پشتیبان خصوصی — JSON", "ow.import": "بازیابی پشتیبان", "ow.calendar": "یادآور تقویم — ‎.ics", "ow.clear": "حذف دفتر من", "ow.clearConfirm": "دفتر محلی و یادآورهای متصل سرور حذف شوند؟ بدون پشتیبان خصوصی قابل بازگشت نیست.", "ow.pending": "در انتظار", "ow.due": "موعد رسیده / گذشته", "ow.complete": "انجام‌شده", "ow.selected": "موارد در پیگیری", "ow.step.check_reply": "بررسی پاسخ در صندوق پیام / پرتال", "ow.step.followup_once": "بررسی یک پیام پیگیری محترمانه", "ow.step.prepare_dossier": "آماده کردن پرونده ایده / پژوهش خواسته‌شده", "ow.step.review_eligibility": "تأیید پذیرش فعلی، شرایط و مدارک لازم", "ow.step.review_application": "بررسی وضعیت درخواست ارسال‌شده / رسید", "ow.step.check_nextcall": "بررسی فراخوان بعدی و موعد در منبع رسمی", "ow.doneBtn": "ثبت نتیجه / قدم بعدی", "ow.snooze": "تغییر موعد", "ow.cancel": "لغو این کار", "ow.openLead": "باز کردن مخاطب", "ow.outcome": "واقعاً چه اتفاقی افتاد؟", "ow.outcome.none": "هنوز پاسخی نیست", "ow.outcome.positive": "پاسخ مثبت / پیشنهاد جلسه", "ow.outcome.info": "درخواست اطلاعات بیشتر", "ow.outcome.declined": "رد کرد / خواست دیگر تماس نگیریم", "ow.outcome.done": "کار انجام شد؛ نتیجه بیرونی فرض نمی‌شود", "ow.notes": "یادداشت کاری — محلی؛ هرگز ایمیل نمی‌شود", "ow.notesPh": "بدون نام بیمار، اطلاعات سلامت، شماره هویتی، رمز یا کلید API.", "ow.saveOutcome": "ذخیره نتیجه واقعی", "ow.close": "بستن", "ow.followupText": "سلام [تیم]؛ یک‌بار درباره معرفی گرین‌روت که در [تاریخ] فرستادم پیگیری می‌کنم. آیا دفتر شما مسیر درست برای [درخواست مشخص] است؟ اگر مرتبط نیست، مشکلی نیست و پیگیری را ادامه نمی‌دهم. سپاس، [نام شما].", "ow.application": "خودم درخواست را در پرتال رسمی ارسال کردم", "ow.applicationHint": "فقط پس از ارسال واقعی ثبت کنید. پذیرش تکنوپارک، ثبت شرکت و سرمایه‌گذاری رویدادهای جدا هستند. ابتدا شرایط و الزامات واقعی پرتال را بررسی کنید.", "ow.applicationConfirm": "شرایط، مدارک لازم و فراخوان فعلی را بررسی کردم و شخصاً درخواست را ارسال کردم.", "ow.recordApplication": "ثبت ارسال درخواست + بررسی پاسخ", "ow.noApplication": "تیک محلی تأیید واجدشرایط‌بودن فاند نیست. پیش از پرداخت، ثبت حقوقی شرکت، توافق سهام یا امضا توقف و بررسی حرفه‌ای مناسب بگیرید.", "ow.routes": "مسیر دانشگاه، پیش‌رشد و فاند", "ow.routesSub": "۱۳ مسیر منتخب، جدا از بانک ۲۱۰ ردیفی. تاریخ مربوط به سند پیوندشده است، نه تضمین پذیرش آینده یا واجدشرایط‌بودن شما. فراخوان باز هم ممکن است برای تیم بدون شرکت مناسب نباشد.", "ow.routeFilter.all": "همه مسیرها", "ow.routeFilter.early": "اول دانشگاه / پیش‌رشد", "ow.routeFilter.funding": "فاند: اول شرایط را بررسی کنید", "ow.kind.incubator": "پیش‌رشد / شتاب‌دهنده", "ow.kind.university": "دانشگاه / انتقال فناوری", "ow.kind.equity": "سرمایه‌گذاری سهامی — نه گرنت", "ow.kind.grant": "گرنت پژوهشی — با شرایط پذیرش", "ow.kind.repayable": "حمایت بازپرداختی — نه گرنت", "ow.status.published_deadline": "موعد منتشرشده؛ قواعد فعلی را تأیید کنید", "ow.status.closed_reviewed_call": "فراخوان بررسی‌شده بسته است", "ow.status.archived_call_inquiry": "فراخوان قدیمی: پذیرش فعلی را بپرسید", "ow.status.confirm_intake": "پذیرش فعلی تأیید نشده", "ow.status.confirm_current_rules": "قواعد جاری برنامه را تأیید کنید", "ow.status.confirm_current_call": "فراخوان فعلی تأیید نشده", "ow.deadline": "موعد درج‌شده در منبع", "ow.preReg": "موعد پیش‌ثبت‌نام شرکت", "ow.source": "منبع رسمی", "ow.reviewed": "بازبینی ۱۱ اکتبر ۲۰۲۶؛ پیش از ارسال دوباره تأیید کنید", "ow.useRoute": "برنامه‌ریزی این مسیر", "ow.rules": "قواعد فراخوان / PDF", "ow.gate.education_and_no_shareholding": "وضعیت تحصیل/دانش‌آموختگی، حمایت قبلی و محدودیت سهام‌داری را بررسی کنید.", "ow.gate.technology_validation": "فرضیه فناوری واقعی و قابل‌آزمون لازم است؛ اثر اجتماعی به‌تنهایی مدرک پژوهش‌وتوسعه نیست.", "ow.gate.office_confirmation": "از دفتر، پذیرش فعلی، شرایط تیم بیرونی، هزینه و مدارک را بپرسید.", "ow.gate.acceleration_education_shareholding": "اتمام مرحله اول، تحصیل، حمایت قبلی و سهام‌داری؛ ثبت زودهنگام شرکت میان‌بُر نیست.", "ow.gate.turkish_sme_company": "مسیر بعدی: شرکت سرمایه‌ای کوچکِ واجدشرایط ترکیه و پروژه پژوهش‌وتوسعه مستند؛ ایده بدون شرکت آماده درخواست نیست.", "ow.gate.university_and_company": "مؤسسه دانشگاهی/پژوهشی مجری و شرکت مشتریِ واجدشرایط؛ هر دو باید موافق باشند.", "ow.gate.company_nace_training": "شرایط شرکت، فعالیت NACE مجاز، آموزش، ضمانت و بازپرداخت را تأیید کنید.", "ow.readiness": "پیش از درخواست، پرونده را آماده کنید", "ow.readinessSub": "این‌ها پیشنهاد آماده‌سازی‌اند، نه فهرست قطعی مدارک همه دانشگاه‌ها. برنامه واقعی ممکن است مدارک دیگری بخواهد. هیچ مدرک حساس در این سایت بارگذاری نمی‌شود.", "ow.readinessCount": "تکمیل چک‌لیست به گزارش خودتان", "ow.doc.concept": "ایده یک‌صفحه‌ای: مسئله، کاربر، پرداخت‌کننده، پایلوت ایمن و هر دو مسیر بازیافت به مراقبت", "ow.doc.team": "معرفی تیم، نقش‌ها و نقشه صادقانه کمبود مهارت؛ وضعیت تحصیل در صورت الزام تأیید شود", "ow.doc.tech": "فرضیه قابل‌آزمون پژوهش، مقایسه نوآوری، نمونه اولیه و شواهد آمادگی فناوری؛ بدون نتیجه ساختگی", "ow.doc.market": "اعتبارسنجی مشتری و نامه علاقه‌مندی فقط اگر واقعاً گرفته‌اید", "ow.doc.budget": "بسته‌های کاری، زمان‌بندی، فرض هزینه، سهم خودتان و جدول کسری منابع", "ow.doc.safety": "کار داوطلبانه و قانونیِ حقوق‌دار، دستمزد، بیمه، شریک بالینی دارای مجوز و جداسازی داده", "ow.doc.materials": "مسیر مواد پزشکی: تولید دارای مجوز، کیفیت و بررسی مقررات؛ نه ادعای محصول پزشکی دست‌ساز", "ow.doc.call": "فراخوان رسمی فعلی، دوره درست، بررسی تحصیل/سهام‌داری/اقامت و فرم‌های لازم", "ow.doc.permission": "اجازه صریح پیش از اشتراک داده خصوصی یا ارسال درخواست و امضا", "ow.dossier": "پرونده درخواست قابل ویرایش", "ow.emailTitle": "یادآور ایمیلی واقعی: فعال‌سازی امن", "ow.emailSub": "فقط یادآوری به آدرس تأییدشده خودتان، نه پیام به مخاطب همکاری. سرور فقط عنوان کار، نام مجموعه و موعد را می‌گیرد؛ نه متن پیام، یادداشت، اطلاعات سلامت یا مدارک شما.", "ow.emailLoading": "در حال بررسی سرویس یادآور…", "ow.emailMissing": "فعال نیست: سرویس ارسال یا فرستنده تنظیم نشده است. هیچ ایمیلی ارسال یا برای تحویل زمان‌بندی نشده؛ موعد محلی کار می‌کند.", "ow.emailOffline": "سرویس در این پیش‌نمایش یا اتصال در دسترس نیست. سایت زنده را باز کنید؛ برنامه‌ریزی محلی همچنان کار می‌کند.", "ow.emailReady": "تنظیمات فرستنده موجود است؛ پیش از همگام‌سازی کارها ایمیل را تأیید کنید. پذیرش سرویس و تحویل هنوز به آزمون واقعی نیاز دارد.", "ow.emailVerifyPending": "درخواست ایمیل تأیید توسط سرویس پذیرفته شد. پیام را باز و تأیید کنید؛ تحویل یا خواندن هنوز تأیید نشده است.", "ow.emailVerified": "آدرس شما تأیید شده است. یادآورهای کارهای در انتظار می‌توانند به سرویس زمان‌بندی همگام شوند.", "ow.emailUnsubscribed": "یادآور ایمیلی متوقف شده است؛ دفتر محلی شما تغییر نمی‌کند.", "ow.emailAddress": "آدرس ایمیل خودتان برای یادآور", "ow.emailConsent": "یادآور را به آدرس خودم درخواست می‌کنم و با ارسال حداقل داده کاری توضیح‌داده‌شده به سرویس موافقم.", "ow.emailConnect": "درخواست ایمیل تأیید", "ow.emailRefresh": "بررسی تأیید / سرویس", "ow.emailSync": "همگام‌سازی یادآورهای در انتظار", "ow.emailStop": "توقف و حذف یادآورهای سرور", "ow.emailSetup": "راهنمای تنظیم فرستنده — بدون کلید در چت", "ow.emailTestMode": "حالت آزمایشی تک‌حساب: فقط ایمیل صاحب حسابِ تنظیم‌شده مجاز است. کاربران عمومی به دامنه تأییدشده و حفاظت ضدسوءاستفاده نیاز دارند.", "ow.emailSynced": "یادآورهای در انتظار همگام شدند؛ این ثبت صف است، نه تأیید تحویل.", "ow.emailFail": "عملیات ایمیل ناموفق بود؛ تحویلی ادعا نمی‌شود. تنظیمات فرستنده و سرویس زنده را بررسی کنید.", "ow.rahaTitle": "مربی همکاری رها — قواعد روشن، شواهد واقعی", "ow.rahaSub": "دستیار سایت همچنان دموی قواعدمحور است، نه عامل ثبت درخواست یا خواندن صندوق ایمیل. دستور همکاری آن اکنون پیش‌نیاز، موعد، اجازه و نتیجه مستند را مقدم می‌داند.", "ow.rahaOpen": "باز کردن رها / مربی همکاری", "ow.rahaFile": "دانلود دستور کناری — فارسی، ترکی، انگلیسی", "ow.copyDone": "کپی شد", "ow.savedDone": "روی این دستگاه ذخیره شد", "ow.invalidImport": "این پشتیبان خصوصی معتبر گرین‌روت نیست؛ چیزی وارد نشد.", "ow.recorded": "اقدام به اعلام شما ثبت شد و موعد پیگیری ساخته شد؛ سایت چیزی ارسال نکرد.", "ow.noResponseChance": "برچسب تناسب پیشنهاد کارشناسی است، نه درصد پاسخ یا پذیرش.", "ow.fit.high": "تناسب موضوعی بالا؛ تمایل نامعلوم", "ow.fit.medium": "تناسب احتمالی؛ تیم درست را تأیید کنید", "ow.fit.conditional": "مسیر مشروط؛ اول پیش‌نیازها", "ow.profile.university": "استعلام دانشگاه / انتقال فناوری", "ow.profile.public_support": "استعلام شرایط حمایت کسب‌وکار", "ow.profile.civic": "پایلوت شهری / معرفی به واحد مسئول", "ow.profile.recycling": "جریان ایمن مواد / شریک خرید بازیافت", "ow.profile.recovery": "مراقبت دارای مجوز / ارجاع / ایمنی", "ow.profile.research": "طرح پژوهش / اخلاق / ارزیابی", "ow.profile.employment": "مهارت / کارفرما / حامی مسئولانه", "ow.profile.family": "حفاظت / حمایت خانواده", "ow.profile.environment": "آموزش محیط‌زیست / روش سنجش اثر", "wa.label": "شواهد واتساپ منتشرشده", "wa.published": "لینک دارای شماره مخاطب در صفحه رسمی منتشر شده", "wa.not_found": "در صفحات بررسی‌شده لینک رسمی پیدا نشد؛ وجود حساب نامعلوم است", "wa.unavailable": "صفحه رسمی قابل بررسی نبود؛ واتساپ نامعلوم است", "wa.directory_only": "فقط کانال منتشرکننده فهرست پیدا شد؛ نه کانال این مجموعه", "wa.hq_only": "فقط کانال مرکزی؛ واتساپ این شعبه تأیید نشده", "wa.limit": "لینک منتشرشده یعنی حساب فعال، پاسخ‌گویی یا اجازه پیام کاری نیست. هیچ حساب واتساپی آزمون یا مخاطب پیام قرار نگرفت.", "wa.service": "مسیر خدمات عمومی شهرداری است؛ کاربرد همکاری کاری تأیید نشده. دفتر درست را بپرسید و پیام انبوه نفرستید.", "wa.support": "مسیر حمایت / مشاوره است، نه کانال فروش یا درخواست گرنت.", "wa.purpose": "پیش از استفاده کاری، هدف این کانال را با مجموعه تأیید کنید.", "wa.filter": "فقط لینک واتساپ منتشرشده", "wa.all": "همه وضعیت‌های شواهد واتساپ", "wa.source": "منبع واتساپ", "wa.summary": "۲۱۰ ردیف از طریق ۱۳۶ صفحه عمومی بازبینی شدند: ۱۲ مسیر منتشرشده ویژه مجموعه، ۱۸۰ بدون لینک پیدا‌شده، ۱۴ غیرقابل‌بررسی و ۴ کانالِ منتشرکننده فهرست که متعلق به خود مجموعه تأیید نشده‌اند. لینک‌ها آزمون حساب نیستند.", "wa.plan": "پیام اختصاصی + قدم‌های بعد", "ow.stage": "مرحله حقوقی پروژه — به اعلام خودتان", "ow.stage.idea": "ایده / بدون شرکت ثبت‌شده", "ow.stage.registered_tr": "شرکت ترکیه‌ای ثبت‌شده؛ سایر شرایط بررسی شود", "ow.stage.other": "سایر / نامعلوم؛ از برنامه بپرسید", "ow.setup1": "حساب سرویس ایمیل را خودتان بسازید. اتصال آماده برای Resend است؛ حساب یا کلید برای شما ایجاد نشده است.", "ow.setup2": "برای آزمون فقط صاحب حساب، از onboarding@resend.dev و ایمیل همان حساب Resend استفاده کنید؛ این حالت ارسال به کاربران عمومی نیست.", "ow.setup3": "در تنظیمات Worker یادآور، بخش Secrets، متغیرهای RESEND_API_KEY، EMAIL_FROM و TEST_RECIPIENT را تنظیم کنید؛ نه در این فرم، چت، HTML یا گیت.", "ow.setup4": "سپس اینجا سرویس را تازه کنید، ایمیل تأیید بخواهید و آن را تأیید کنید؛ فقط پس از آن کارهای واقعی در انتظار را همگام کنید.", "ow.setup5": "Worker زمان‌بندی‌شده هر ۳۰ دقیقه موعدها را بررسی می‌کند. ثبت صف، پذیرش API، تحویل و خواندن متفاوت‌اند؛ تحویل تضمین نمی‌شود.", "ow.setup6": "پیش از فعال‌سازی برای کاربران عمومی: دامنه فرستنده خودتان را تأیید، Turnstile و تماس/اطلاعیه واقعی حریم خصوصی را تنظیم و هزینه، امنیت و تعهدات قانونی را بررسی کنید. حالت آزمایشی تک‌صاحب را فقط بعد از این بررسی‌ها حذف کنید.", "ow.privateTitle": "حداقل داده، کنترل صریح", "ow.privateText": "پرونده سلامت، مدارک یا پیش‌نویس پیام به سرویس یادآور فرستاده نمی‌شود. یادآور آدرس تأییدشده قابل توقف و حذف است. سرویس ایمیل ممکن است گزارش تحویل را طبق سیاست خود نگه دارد. فعال‌سازی عمومی تا تنظیم مسئول و اطلاعیه واقعی حریم خصوصی محدود است.", "ow.localError": "ذخیره مرورگر در دسترس نیست؛ پشتیبان خصوصی بگیرید. ماندگاری پس از بازخوانی تضمین نیست.", "ow.applicationLocked": "در مرحله فعلی یا این فراخوان بسته، این درخواست را ارسال نکنید. اول پیش‌نیازهای گفته‌شده را با دفتر رسمی روشن کنید.", "ow.invalidTime": "تاریخ واقعی و معتبر وارد کنید؛ اقدام انجام‌شده در آینده نیست.", "ow.stopped": "پیگیری این مخاطب پس از رد یا بی‌پاسخی متوقف شده؛ پیام را ادامه ندهید.", "ow.stage.draft": "فقط پیش‌نویس", "ow.stage.awaiting_response": "ارسال به اعلام کاربر؛ منتظر پاسخ", "ow.stage.submitted": "ارسال درخواست به اعلام کاربر؛ نه پذیرش", "ow.stage.reply_positive": "پاسخ مثبت به اعلام کاربر", "ow.stage.needs_info": "اطلاعات بیشتر به اعلام کاربر خواسته شده", "ow.stage.declined": "رد؛ توقف تماس", "ow.stage.no_response_stop": "بی‌پاسخ؛ پیگیری را ادامه ندهید"}, "tr": {"ow.nav": "İşbirliği çalışma alanı", "ow.kicker": "GREENROOT / FİKİR → KANIT → BAŞVURU", "ow.h1": "Bir iletişim.<br>Gerçek bir sonraki adım.", "ow.lead": "Şirketleşmemiş GreenRoot ekibi için alıcıya özel mesajlar, üniversite / kuluçka yolları, fon koşulları ve takip tarihleri. Otomatik dış iletişim veya kayıt yapılmaz.", "ow.start": "Çalışma alanımı aç", "ow.pick": "210 adaydan seç", "ow.heroNote": "Fikir aşaması için · 11 Ekim 2026 kaynak incelemesi · uygunluk koşulludur", "ow.clock": "SİZ gönderimi kaydedince", "ow.clock2": "+2 takvim günü: yanıtı kontrol et", "ow.clock3": "Yanıt yoksa tek bir sonraki takibi değerlendir", "ow.truth": "Hizmet bağlı değilse e-posta gönderildiği iddia edilmez. Tarihler yerelde çalışır; gerçek e-posta için hizmet yapılandırılmalı ve adresiniz doğrulanmalıdır.", "ow.desk": "Sonraki işlem alanınız", "ow.deskSub": "Bir aday seçin, yolunu inceleyin, taslağı düzenleyin ve yalnız gerçekten yaptığınız işlemi kaydedin. E-posta hatırlatmalarını açıkça etkinleştirmedikçe plan ve notlar tarayıcıda kalır.", "ow.selectLabel": "Kurum veya program", "ow.selectBlank": "Kurum veya kaynaklı yol seçin…", "ow.searchLabel": "Ad veya kimlikle aday bul", "ow.noSelected": "Toplu kampanya değil, bir kişiyle başlayın. Aşağıdaki üniversite / ön kuluçka yolları fikir aşamasına göre hazırlanmıştır.", "ow.sender": "Adınız / ekibiniz — yalnız yerel", "ow.senderPh": "Göndermeden önce [adınız] alanını değiştirin", "ow.messageLang": "Mesaj dili", "ow.subject": "Konu", "ow.draft": "Düzenlenebilir ilk mesaj", "ow.draftHint": "Bu taslak bir öneridir; mevcut ortaklık, Ar-Ge başarısı veya klinik etki kanıtı değildir. Yer tutucuları değiştirin. E-posta/WhatsApp açmak gönderim sayılmaz.", "ow.copy": "Taslağı kopyala", "ow.openEmail": "E-posta uygulamamı aç", "ow.openRoute": "Resmi yolu aç", "ow.inspectWA": "Yayımlanan WhatsApp yolunu incele", "ow.saveLead": "Bu adayı çalışma alanıma ekle", "ow.sendConfirm": "Alıcıyı ve mesajı kontrol ettim; gerçekten kendim gönderdim.", "ow.recordSent": "Gerçek gönderimi kaydet → +2 gün kontrol", "ow.sentAt": "Ne zaman gönderdiniz?", "ow.channel": "Gerçekte kullanılan kanal", "ow.channel.email": "E-posta", "ow.channel.form": "Resmi form", "ow.channel.phone": "İş ofisi telefonu", "ow.channel.whatsapp": "WhatsApp — amacı siz teyit ettiniz", "ow.interval": "Yanıt kaç takvim günü sonra kontrol edilsin?", "ow.noAuto": "Kurumlara mesaj, başvuru, şirket kaydı, ödeme veya imza burada yapılmaz.", "ow.tasks": "Takip kuyruğum", "ow.tasksSub": "+2 gün görevi gelen kutusu / portal kontrolüdür; otomatik yanıt talebi değildir. Yanıt yoksa yaklaşık 7. günde tek nazik takip düşünün.", "ow.queueEmpty": "Henüz gerçek işlem kaydedilmedi. Bir aday seçip taslağı kaydedin veya gerçekten gönderdiğiniz mesajı kaydedin.", "ow.local": "Yerel çalışma alanı: cihaz değiştirmeden özel yedek alın. Bu notları herkese açık depoya yüklemeyin.", "ow.export": "Özel yedek — JSON", "ow.import": "Yedeği geri yükle", "ow.calendar": "Takvim hatırlatmaları — .ics", "ow.clear": "Çalışma alanımı sil", "ow.clearConfirm": "Yerel alan ve bağlı sunucu hatırlatmaları silinsin mi? Özel yedek olmadan geri alınamaz.", "ow.pending": "Bekliyor", "ow.due": "Zamanı geldi / geçti", "ow.complete": "Tamam", "ow.selected": "İzlenen adaylar", "ow.step.check_reply": "Yanıt için gelen kutusu / portalı kontrol et", "ow.step.followup_once": "Tek nazik takip mesajını değerlendir", "ow.step.prepare_dossier": "İstenen fikir / Ar-Ge dosyasını hazırla", "ow.step.review_eligibility": "Güncel kabul, uygunluk ve belgeleri teyit et", "ow.step.review_application": "Gönderilen başvuru / makbuzu kontrol et", "ow.step.check_nextcall": "Resmi sonraki çağrı / son tarihi kontrol et", "ow.doneBtn": "Sonucu / sonraki adımı kaydet", "ow.snooze": "Tarihi değiştir", "ow.cancel": "Bu görevi iptal et", "ow.openLead": "Adayı aç", "ow.outcome": "Gerçekte ne oldu?", "ow.outcome.none": "Henüz yanıt yok", "ow.outcome.positive": "Olumlu yanıt / görüşme önerisi", "ow.outcome.info": "Ek bilgi istendi", "ow.outcome.declined": "Reddetti / iletişim istemedi", "ow.outcome.done": "Görev tamamlandı; dış sonuç varsayılmaz", "ow.notes": "İş notu — yerel; e-postalanmaz", "ow.notesPh": "Hasta adı, sağlık bilgisi, kimlik, parola veya API anahtarı yok.", "ow.saveOutcome": "Gerçek sonucu kaydet", "ow.close": "Kapat", "ow.followupText": "Merhaba [ekip], [tarih] tarihinde gönderdiğim GreenRoot tanıtımını bir kez takip ediyorum. [Belirli talep] için ofisiniz doğru adres mi? Konu ilgili değilse sorun değil; takibi sürdürmeyeceğim. Teşekkürler, [adınız].", "ow.application": "Resmi portalda başvuruyu kendim gönderdim", "ow.applicationHint": "Yalnız gerçek gönderimden SONRA kaydedin. Teknopark kabulü, şirket kaydı ve yatırım ayrı olaylardır. Önce uygunluğu ve gerçek portal koşullarını inceleyin.", "ow.applicationConfirm": "Uygunluğu, belgeleri ve güncel çağrıyı kontrol ettim; şahsen başvurdum.", "ow.recordApplication": "Başvuruyu kaydet + yanıt kontrolü", "ow.noApplication": "Yerel onay kutusu fon uygunluğunu kanıtlamaz. Ödeme, şirket tescili, pay sözleşmesi veya imza öncesi durup uygun profesyonel inceleme alın.", "ow.routes": "Üniversite, kuluçka ve fon yolları", "ow.routesSub": "210 kayıtlı rehberden ayrı 13 seçilmiş yol. Tarihler bağlantılı çağrıya aittir; gelecekte kabul veya sizin uygunluğunuz garanti değildir. Açık çağrı şirketleşmemiş ekibe uygun olmayabilir.", "ow.routeFilter.all": "Tüm yollar", "ow.routeFilter.early": "Önce üniversite / ön kuluçka", "ow.routeFilter.funding": "Fon: önce koşulları kontrol edin", "ow.kind.incubator": "Ön kuluçka / hızlandırıcı", "ow.kind.university": "Üniversite / TTO", "ow.kind.equity": "Pay yatırımı — hibe değil", "ow.kind.grant": "Ar-Ge hibesi — koşullu uygunluk", "ow.kind.repayable": "Geri ödemeli destek — hibe değil", "ow.status.published_deadline": "Yayımlanan son tarih; güncel kuralları teyit edin", "ow.status.closed_reviewed_call": "İncelenen çağrı KAPALI", "ow.status.archived_call_inquiry": "Eski çağrı: güncel kabulü sorun", "ow.status.confirm_intake": "Güncel kabul teyit edilmedi", "ow.status.confirm_current_rules": "Güncel program kurallarını teyit edin", "ow.status.confirm_current_call": "Güncel çağrı teyit edilmedi", "ow.deadline": "Kaynakta son tarih", "ow.preReg": "Şirket ön kayıt son tarihi", "ow.source": "Resmi kaynak", "ow.reviewed": "11 Ekim 2026 incelemesi; gönderim öncesi yeniden teyit edin", "ow.useRoute": "Bu yolu planla", "ow.rules": "Çağrı kuralları / PDF", "ow.gate.education_and_no_shareholding": "Eğitim belgesi, önceki destek ve ortaklık kısıtlarını kontrol edin.", "ow.gate.technology_validation": "Gerçek ve test edilebilir teknoloji hipotezi gerekir; sosyal fayda tek başına Ar-Ge kanıtı değildir.", "ow.gate.office_confirmation": "Ofisten güncel kabulü, dış ekip uygunluğunu, ücret ve belgeleri sorun.", "ow.gate.acceleration_education_shareholding": "Aşama 1, eğitim, önceki destek ve ortaklık koşulları; erken şirketleşme kestirme yol değildir.", "ow.gate.turkish_sme_company": "Sonraki yol: uygun Türkiye KOBİ sermaye şirketi ve kanıtlı Ar-Ge projesi. Şirketsiz fikir hazır değildir.", "ow.gate.university_and_company": "Yürütücü üniversite/araştırma kurumu ve uygun müşteri şirket; ikisi de kabul etmeli.", "ow.gate.company_nace_training": "Şirket, desteklenen NACE, eğitim, teminat ve geri ödemeyi teyit edin.", "ow.readiness": "Başvuru öncesi dosyayı hazırla", "ow.readinessSub": "Bunlar hazırlık önerileridir; tüm üniversiteler için kesin belge listesi değildir. Gerçek program farklı belgeler isteyebilir. Buraya hassas belge yüklenmez.", "ow.readinessCount": "Kendi bildiriminize göre liste tamamlama", "ow.doc.concept": "1 sayfalık fikir: sorun, kullanıcı, ödeyen, güvenli pilot ve iki geri dönüşüm-bakım yolu", "ow.doc.team": "Ekip özgeçmişi, roller, dürüst beceri açığı; gerekiyorsa eğitim durumu doğrulansın", "ow.doc.tech": "Test edilebilir Ar-Ge hipotezi, yenilik karşılaştırması, prototip / THS kanıtı; uydurma sonuç yok", "ow.doc.market": "Müşteri doğrulaması; ilgi mektubu yalnız gerçekten alındıysa", "ow.doc.budget": "İş paketleri, takvim, maliyet varsayımları, öz katkı ve fon açığı", "ow.doc.safety": "Gönüllü, yasal ücretli iş; ücret, sigorta, lisanslı klinik ortak ve veri ayrımı", "ow.doc.materials": "Tıbbi malzeme yolu: lisanslı üretim, kalite, mevzuat; kendi yapımı tıbbi ürün iddiası değil", "ow.doc.call": "Güncel resmi çağrı, doğru dönem, eğitim/ortaklık/ikamet ve formlar", "ow.doc.permission": "Özel veri paylaşımı, başvuru veya imza öncesi açık izin", "ow.dossier": "Düzenlenebilir başvuru dosyası", "ow.emailTitle": "Gerçek e-posta hatırlatmaları: güvenli etkinleştirme", "ow.emailSub": "Yalnız kendi doğrulanmış adresinize hatırlatma; adaya dış iletişim değil. Sunucu yalnız görev, kurum adı ve tarihi alır; taslak, not, sağlık bilgisi veya belgeleri almaz.", "ow.emailLoading": "Hatırlatma hizmeti kontrol ediliyor…", "ow.emailMissing": "Etkin değil: e-posta hizmeti / gönderen yapılandırılmadı. E-posta gönderilmedi veya teslim için planlanmadı; yerel tarihler çalışır.", "ow.emailOffline": "Bu önizleme / bağlantıda hizmet kullanılamıyor. Canlı siteyi kullanın; yerel planlama çalışır.", "ow.emailReady": "Gönderen ayarları mevcut; görevleri eşlemeden adresi doğrulayın. Sağlayıcı kabulü / teslim için gerçek test gerekir.", "ow.emailVerifyPending": "Doğrulama isteği sağlayıcı tarafından kabul edildi. E-postayı açıp onaylayın; teslim / okunma henüz teyit edilmedi.", "ow.emailVerified": "Adresiniz doğrulandı. Bekleyen görev hatırlatmaları zamanlama hizmetine eşlenebilir.", "ow.emailUnsubscribed": "E-posta hatırlatmaları durduruldu; yerel alan etkilenmez.", "ow.emailAddress": "Hatırlatma için kendi e-posta adresiniz", "ow.emailConsent": "Kendi adresime hatırlatma istiyorum ve açıklanan asgari görev verilerinin hizmete gönderimini kabul ediyorum.", "ow.emailConnect": "Doğrulama e-postası iste", "ow.emailRefresh": "Doğrulamayı / hizmeti kontrol et", "ow.emailSync": "Bekleyen hatırlatmaları eşle", "ow.emailStop": "Sunucu hatırlatmalarını durdur ve sil", "ow.emailSetup": "Gönderen kurulum rehberi — sohbette anahtar yok", "ow.emailTestMode": "Tek hesap test modu: yalnız yapılandırılmış hesap sahibinin adresi. Genel kullanıcılar doğrulanmış alan adı ve kötüye kullanım koruması gerektirir.", "ow.emailSynced": "Bekleyen hatırlatmalar eşlendi; bu kuyruk kaydıdır, teslim onayı değildir.", "ow.emailFail": "E-posta işlemi başarısız; teslim iddia edilmez. Gönderen ayarlarını ve canlı hizmeti kontrol edin.", "ow.rahaTitle": "Raha işbirliği koçu — açık kurallar, gerçek kanıt", "ow.rahaSub": "Site asistanı hâlâ kural tabanlı demodur; otonom başvuru veya gelen kutusu okuma aracı değildir. İşbirliği yönergeleri koşul, tarih, izin ve belgeli sonucu öne alır.", "ow.rahaOpen": "Raha / işbirliği koçunu aç", "ow.rahaFile": "Yan yönergeleri indir — EN / FA / TR", "ow.copyDone": "Kopyalandı", "ow.savedDone": "Bu cihazda kaydedildi", "ow.invalidImport": "Geçerli GreenRoot özel yedeği değil; içe aktarılmadı.", "ow.recorded": "İşlem sizin bildiriminizle kaydedildi; takip tarihi oluşturuldu. Site gönderim yapmadı.", "ow.noResponseChance": "Uyum etiketleri editoryaldir; yanıt / kabul olasılığı değildir.", "ow.fit.high": "Güçlü tematik uyum; istek bilinmiyor", "ow.fit.medium": "Olası uyum; doğru ekibi teyit edin", "ow.fit.conditional": "Koşullu yol; önce ön koşullar", "ow.profile.university": "Üniversite / teknoloji transferi", "ow.profile.public_support": "İş desteği uygunluk sorusu", "ow.profile.civic": "Belediye pilotu / birime yönlendirme", "ow.profile.recycling": "Güvenli malzeme akışı / alım ortağı", "ow.profile.recovery": "Lisanslı bakım / yönlendirme / güvenlik", "ow.profile.research": "Araştırma tasarımı / etik / değerlendirme", "ow.profile.employment": "Beceri / işveren / sorumlu destekçi", "ow.profile.family": "Koruma / aile desteği", "ow.profile.environment": "Çevre eğitimi / etki yöntemi", "wa.label": "Yayımlanan WhatsApp kanıtı", "wa.published": "Resmi sayfada alıcı numaralı bağlantı yayımlandı", "wa.not_found": "İncelenen sayfalarda resmi bağlantı bulunamadı; hesap varlığı bilinmiyor", "wa.unavailable": "Resmi sayfa incelenemedi; WhatsApp bilinmiyor", "wa.directory_only": "Yalnız rehber yayımlayıcısının kanalı bulundu; bu kurumun değil", "wa.hq_only": "Yalnız merkez kanalı; bu şubenin WhatsAppı teyit edilmedi", "wa.limit": "Yayımlanan bağlantı aktif hesap, yanıt veya iş mesajı izni değildir. WhatsApp hesabı sorgulanmadı veya mesaj gönderilmedi.", "wa.service": "Belediye kamu hizmeti kanalı; işbirliği amacı teyit edilmedi. Doğru ofisi sorun; toplu tanıtım göndermeyin.", "wa.support": "Destek / danışma kanalı; satış veya hibe başvurusu kanalı değil.", "wa.purpose": "İş amaçlı kullanmadan önce kanalın amacını kurumla teyit edin.", "wa.filter": "Yalnız yayımlanan WhatsApp bağlantısı", "wa.all": "Tüm WhatsApp kanıt durumları", "wa.source": "WhatsApp kaynağı", "wa.summary": "210 kayıt 136 kamuya açık sayfadan incelendi: kuruma özel 12 yayımlanan yol, bağlantı bulunamayan 180, incelenemeyen 14 ve kuruma atfedilemeyen 4 rehber yayımlayıcısı kanalı. Bağlantılar hesap testi değildir.", "wa.plan": "Özel mesaj + sonraki adımlar", "ow.stage": "Projenin hukuki aşaması — kendi bildiriminiz", "ow.stage.idea": "Fikir / kayıtlı şirket yok", "ow.stage.registered_tr": "Türkiye şirketi — diğer koşullar teyit edilsin", "ow.stage.other": "Diğer / belirsiz — programa sorun", "ow.setup1": "E-posta hizmeti hesabını kendiniz açın. Hazır bağlantı Resend içindir; sizin için hesap / anahtar oluşturulmadı.", "ow.setup2": "Yalnız hesap sahibi testi için onboarding@resend.dev ve Resend hesabının adresini kullanın; genel kullanıcı e-postası değildir.", "ow.setup3": "Hatırlatma Worker Settings → Secrets içinde RESEND_API_KEY, EMAIL_FROM ve TEST_RECIPIENT ayarlayın; form, sohbet, HTML veya Git içine koymayın.", "ow.setup4": "Sonra hizmeti yenileyin, doğrulama e-postasını isteyip onaylayın; ardından gerçek bekleyen görevleri eşleyin.", "ow.setup5": "Zamanlı Worker 30 dakikada bir kontrol eder. Kuyruk, API kabulü, teslim ve okuma farklıdır; teslim garanti değildir.", "ow.setup6": "Genel kullanıcı öncesi kendi gönderen alanınızı doğrulayın, Turnstile ve gerçek mahremiyet iletişimi/bildirimi ayarlayın; maliyet, güvenlik ve hukuki yükümlülükleri inceleyin. Tek sahip testini ancak sonra kaldırın.", "ow.privateTitle": "Asgari veri, açık kontrol", "ow.privateText": "Sağlık kaydı, belge veya taslak hizmete gönderilmez. Doğrulanmış adrese hatırlatmalar durdurulup silinebilir. E-posta sağlayıcısı kendi politikasınca teslim kaydı tutabilir. Gerçek mahremiyet sorumlusu/bildirimi olmadan genel etkinleştirme sınırlıdır.", "ow.localError": "Tarayıcı depolaması yok; özel yedek alın. Yenilemede kalıcılık garanti değil.", "ow.applicationLocked": "Mevcut aşama / kapalı çağrı için başvurmayın. Önce koşulları resmi ofisle çözün.", "ow.invalidTime": "Geçerli gerçek tarih girin; gelecekteki işlem tamamlanmış sayılmaz.", "ow.stopped": "Ret / yanıtsızlık sonrası bu aday durduruldu; mesajı sürdürmeyin.", "ow.stage.draft": "Yalnız taslak", "ow.stage.awaiting_response": "Kullanıcı gönderdiğini bildirdi; yanıt bekleniyor", "ow.stage.submitted": "Kullanıcı başvurduğunu bildirdi; kabul değil", "ow.stage.reply_positive": "Kullanıcı olumlu yanıt bildirdi", "ow.stage.needs_info": "Kullanıcıya göre ek bilgi istendi", "ow.stage.declined": "Ret; iletişimi durdur", "ow.stage.no_response_stop": "Yanıt yok; takibi sürdürmeyin"}};Object.keys(X).forEach(function(l){window.I18N[l]=Object.assign(window.I18N[l]||{},X[l]);});window.GR_WORKFLOW_CONFIG={"api": "https://greenroot-followups.elasa2next.workers.dev", "docs": ["concept", "team", "tech", "market", "budget", "safety", "materials", "call", "permission"], "defaultDelayDays": 2, "sourceChecked": "2026-10-11"};})();

</script>
<script>
/* GreenRoot outreach state: private local plans, explicit user-reported actions.
   Does NOT send collaboration messages, read inboxes, file or register anything. */
(function(){'use strict';
var KEY='gr-outreach-desk-v1',cfg=window.GR_WORKFLOW_CONFIG||{},mem=null,storageOK=true;
function lang(){return ['en','fa','tr'].includes(document.documentElement.lang)?document.documentElement.lang:'en';}
function t(k,l){l=l||lang();return (window.I18N[l]||{})[k]||(window.I18N.en||{})[k]||k;}
function esc(x){return String(x==null?'':x).replace(/[&<>"']/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c];});}
function secureKey(){if(!window.crypto||!crypto.getRandomValues)return null;var a=new Uint8Array(32);crypto.getRandomValues(a);return btoa(String.fromCharCode.apply(null,a)).replace(/\+/g,'-').replace(/\//g,'_').replace(/=+$/,'');}
function taskID(){return 't_'+(secureKey()||('local_'+Date.now()+'_'+Math.random())).slice(0,25).replace(/[^a-zA-Z0-9_-]/g,'');}
function blank(){return {version:1,authKey:secureKey(),leads:{},tasks:[],docs:{},prefs:{sender:'',stage:'idea',delay:2},cloud:{optin:false,verified:false},updatedAt:new Date().toISOString()};}
function read(){if(mem)return mem;try{var x=JSON.parse(localStorage.getItem(KEY)||'null');if(x&&x.version===1&&x.leads&&Array.isArray(x.tasks))mem=x;}catch(e){storageOK=false;}if(!mem)mem=blank();if(!mem.docs)mem.docs={};if(!mem.prefs)mem.prefs={sender:'',stage:'idea',delay:2};if(!mem.cloud)mem.cloud={optin:false};if(!/^[\w-]{43}$/.test(mem.authKey||''))mem.authKey=secureKey();return mem;}
function write(silent){var s=read();s.updatedAt=new Date().toISOString();try{localStorage.setItem(KEY,JSON.stringify(s));}catch(e){storageOK=false;}if(!silent)document.dispatchEvent(new CustomEvent('greenroot:outreach',{detail:{}}));}
function payload(id){var a=document.getElementById(id);if(!a)return null;try{return JSON.parse(a.textContent);}catch(e){return null;}}
var contactData=payload('gr-partner-data'),routeData=payload('gr-workflow-data');
var rows=contactData?contactData.contacts:[],routes=routeData?routeData.routes:[];
function lead(id){return rows.find(function(x){return x.id===id;})||routes.find(function(x){return x.id===id;})||null;}
function name(r,l){return (l||lang())==='fa'?(r.name_fa||r.name):(r.name_en||r.name);}
function message(r,l){l=l||lang();var s=read(),text=r['message_'+l];if(!text){text=t('ow.subject',l)+': '+name(r,l)+'\n\n'+(r['summary_'+l]||r.summary_en||'')+'\n\n'+t('ow.gate.'+(r.gate||'office_confirmation'),l)+'\n\n'+t('ow.noAuto',l);}
 if(s.prefs.stage!=='idea'){text=text.replace('no company is registered yet.','our current legal details are [fill and verify].').replace('هنوز شرکت ثبت نشده است.','جزئیات حقوقی فعلی ما [تکمیل و تأیید شود].').replace('henüz şirketleşmemiş fikir aşamasındaki','hukuki durumu [doldurun / doğrulayın] olan erken aşamadaki');}if(s.prefs.sender)text=text.replace(/\[(?:your name|نام شما|adınız)\]/g,s.prefs.sender);return text;}
function track(r){var s=read();if(!s.leads[r.id])s.leads[r.id]={id:r.id,name:r.name,name_fa:r.name_fa||r.name,profile:r.outreach_profile||r.kind||'environment',stage:'draft',sendCount:0,createdAt:new Date().toISOString(),drafts:{},notes:''};write();return s.leads[r.id];}
function addTask(id,step,due){var s=read(),job={id:taskID(),leadId:id,step:step,due:new Date(due).toISOString(),status:'pending',createdAt:new Date().toISOString()};s.tasks.push(job);return job;}
function plus(iso,n){var d=new Date(iso);d.setDate(d.getDate()+Number(n));return d.toISOString();}
function cancelPending(id){read().tasks.forEach(function(x){if(x.leadId===id&&x.status==='pending')x.status='cancelled';});}
function markSent(r,at,channel,days){if(Date.parse(at)>Date.now()+60000||!Number.isFinite(Date.parse(at)))throw new Error('future_or_invalid_send');var item=track(r);if(['declined','no_response_stop'].includes(item.stage))throw new Error('contact_stopped');cancelPending(r.id);item.lastSentAt=new Date(at).toISOString();if(!item.firstSentAt)item.firstSentAt=item.lastSentAt;item.sendCount=(item.sendCount||0)+1;item.stage='awaiting_response';item.channel=channel;item.actionBasis='user_reported_actual_send';addTask(r.id,'check_reply',plus(at,Math.max(1,Math.min(30,Number(days)||2))));write();}
function markSubmitted(r,at){if(Date.parse(at)>Date.now()+60000||!Number.isFinite(Date.parse(at)))throw new Error('future_or_invalid_submission');var item=track(r);cancelPending(r.id);item.submittedAt=new Date(at).toISOString();item.stage='submitted';item.actionBasis='user_reported_actual_submission';addTask(r.id,'review_application',plus(at,2));write();}
function complete(id,outcome,notes){var s=read(),job=s.tasks.find(function(x){return x.id===id;});if(!job||job.status!=='pending')return;var item=s.leads[job.leadId];job.status='done';job.completedAt=new Date().toISOString();job.outcome=outcome;job.userReported=true;if(item)item.notes=String(notes||'').slice(0,2000);
 if(outcome==='declined'){if(item)item.stage='declined';cancelPending(job.leadId);}
 else if(outcome==='positive'||outcome==='info'){if(item)item.stage=outcome==='positive'?'reply_positive':'needs_info';cancelPending(job.leadId);addTask(job.leadId,'prepare_dossier',plus(new Date().toISOString(),2));}
 else if(outcome==='none'&&['check_reply','review_application'].includes(job.step)){
  if(item&&(item.sendCount||0)<2&&!item.followupCreated){item.followupCreated=true;item.stage='awaiting_response';var origin=item.firstSentAt||item.submittedAt||job.createdAt;var due=Math.max(Date.parse(plus(origin,7)),Date.now()+86400000);addTask(job.leadId,'followup_once',due);}
  else if(item)item.stage='no_response_stop';
 }else if(job.step==='prepare_dossier'){addTask(job.leadId,'review_eligibility',plus(new Date().toISOString(),2));}
 write();}
function reschedule(id,iso){var x=read().tasks.find(function(x){return x.id===id;});if(x&&Number.isFinite(Date.parse(iso))){x.due=new Date(iso).toISOString();write();}}
function cancelTask(id){var x=read().tasks.find(function(x){return x.id===id;});if(x){x.status='cancelled';write();}}
function backup(){var s=read();return {format:'GreenRoot-private-outreach-backup',version:1,exportedAt:new Date().toISOString(),leads:s.leads,tasks:s.tasks,docs:s.docs,prefs:s.prefs};}
function restore(x){if(!x||x.format!=='GreenRoot-private-outreach-backup'||x.version!==1||typeof x.leads!=='object'||Array.isArray(x.leads)||!Array.isArray(x.tasks)||x.tasks.length>500||Object.keys(x.leads).length>300)throw new Error('invalid_backup');var newLeads={},newTasks=[];
 Object.keys(x.leads).forEach(function(id){var r=lead(id),old=x.leads[id];if(!r)return;newLeads[id]={id:id,name:r.name,name_fa:r.name_fa||r.name,profile:r.outreach_profile||r.kind,stage:['draft','awaiting_response','submitted','reply_positive','needs_info','declined','no_response_stop'].includes(old.stage)?old.stage:'draft',sendCount:Math.max(0,Math.min(99,Number(old.sendCount)||0)),drafts:{},notes:String(old.notes||'').slice(0,2000)};['firstSentAt','lastSentAt','submittedAt','followupCreated'].forEach(function(k){if(old[k])newLeads[id][k]=old[k];});['en','fa','tr'].forEach(function(l){if(old.drafts&&typeof old.drafts[l]==='string')newLeads[id].drafts[l]=old.drafts[l].slice(0,6000);});});
 x.tasks.forEach(function(j){if(newLeads[j.leadId]&&/^t_[\w-]{1,40}$/.test(j.id)&&['check_reply','followup_once','prepare_dossier','review_eligibility','review_application','check_nextcall'].includes(j.step)&&Number.isFinite(Date.parse(j.due)))newTasks.push({id:j.id,leadId:j.leadId,step:j.step,due:new Date(j.due).toISOString(),status:['pending','done','cancelled'].includes(j.status)?j.status:'pending',createdAt:j.createdAt||new Date().toISOString()});});
 var s=read();s.leads=newLeads;s.tasks=newTasks;s.docs={};(cfg.docs||[]).forEach(function(k){s.docs[k]=!!(x.docs&&x.docs[k]);});s.prefs.sender=String(x.prefs&&x.prefs.sender||'').slice(0,80);write();}
function download(text,type,filename){var blob=new Blob([text],{type:type}),url=URL.createObjectURL(blob),a=document.createElement('a');a.href=url;a.download=filename;document.body.appendChild(a);a.click();a.remove();setTimeout(function(){URL.revokeObjectURL(url);},1500);}
function dateISO(iso){return new Date(iso).toISOString().replace(/[-:]/g,'').replace(/\.\d{3}Z$/,'Z');}
function icsEscape(s){return String(s||'').replace(/\r\n?/g,'\n').replace(/\\/g,'\\\\').replace(/\n/g,'\\n').replace(/;/g,'\\;').replace(/,/g,'\\,');}
function calendar(){var s=read(),lines=['BEGIN:VCALENDAR','VERSION:2.0','PRODID:-//GreenRoot//User-reported follow-up tasks//EN','CALSCALE:GREGORIAN'];s.tasks.filter(function(x){return x.status==='pending';}).forEach(function(x){var r=s.leads[x.leadId],title=t('ow.step.'+x.step)+' — '+(lang()==='fa'?r.name_fa:r.name);lines.push('BEGIN:VEVENT','UID:'+x.id+'@greenroot','DTSTAMP:'+dateISO(new Date()),'DTSTART:'+dateISO(x.due),'DTEND:'+dateISO(Date.parse(x.due)+900000),'SUMMARY:'+icsEscape(title),'DESCRIPTION:'+icsEscape(t('ow.noAuto')+'\nhttps://greenroot-af0.pages.dev/outreach?lead='+x.leadId+'&lang='+lang()+'#desk'),'BEGIN:VALARM','TRIGGER:-PT10M','ACTION:DISPLAY','DESCRIPTION:'+icsEscape(title),'END:VALARM','END:VEVENT');});lines.push('END:VCALENDAR');download(lines.join('\r\n')+'\r\n','text/calendar;charset=utf-8','GreenRoot-private-followups.ics');}
async function request(path,method,body){var s=read();if(!cfg.api)throw new Error('service_unavailable');var headers={'Content-Type':'application/json'};if(s.authKey)headers.Authorization='Bearer '+s.authKey;var res=await fetch(cfg.api+path,{method:method||'GET',headers:headers,body:body?JSON.stringify(body):undefined,signal:AbortSignal.timeout?AbortSignal.timeout(12000):undefined});var data=await res.json();if(!res.ok){var e=new Error(data.error||'request_failed');e.status=res.status;throw e;}return data;}
function minimalJobs(){var s=read();return s.tasks.filter(function(x){return x.status==='pending';}).slice(0,60).map(function(x){var r=s.leads[x.leadId];return {id:x.id,leadId:x.leadId,label:r.name,step:x.step,due:x.due};});}
async function serviceStatus(){var status=await request('/api/status');if(read().cloud.optin){try{var own=await request('/api/workspace');read().cloud.verified=!!own.verified;read().cloud.active=!!own.active;status.workspace=own;}catch(e){status.workspace={verified:false,active:false};}}return status;}
async function connectEmail(email,consent,captcha){var d=await request('/api/email/connect','POST',{email:email,consent:!!consent,locale:lang(),captcha:captcha||''});read().cloud={optin:true,verified:false,active:false};write();return d;}
async function sync(){var s=read();if(!s.cloud.optin||!s.cloud.verified||!s.cloud.active)throw new Error('email_not_verified');var d=await request('/api/tasks','POST',{tasks:minimalJobs(),locale:lang()});s.cloud.lastSyncedAt=new Date().toISOString();write(true);return d;}
async function stopServer(){await request('/api/workspace','DELETE');read().cloud={optin:false,verified:false,active:false};write();}
async function clear(){if(read().cloud.optin)await stopServer();mem=blank();write();}
function coach(msg,l){l=l||lang();if(/overdose|suicid|craving|withdrawal|خودکشی|هوس|وسوسه|بحران|ترک مواد/i.test(msg||''))return null;if(!/teknopark|technopark|incubat|tubitak|tübitak|grant|fund|outreach|whatsapp|follow.?up|university|فاند|گرنت|تکنوپارک|دانشگاه|پیگیری|واتساپ|همکاری|başvuru|üniversite|hibe|fon|kuluçka/i.test(msg||''))return null;
 var s=read(),pending=s.tasks.filter(function(x){return x.status==='pending';}).sort(function(a,b){return Date.parse(a.due)-Date.parse(b.due);}),parts=[t('ow.rahaSub',l)];
 if(pending.length){var p=pending[0],r=s.leads[p.leadId];parts.push(t('ow.step.'+p.step,l)+' — '+(l==='fa'?r.name_fa:r.name)+'\n'+new Date(p.due).toLocaleString(l==='fa'?'fa-IR':l==='tr'?'tr-TR':'en-GB'));}else parts.push(t('ow.noSelected',l));
 parts.push(t('ow.tasksSub',l),t('ow.gate.education_and_no_shareholding',l),t('ow.gate.turkish_sme_company',l),t('ow.noApplication',l),t('ow.truth',l),'https://greenroot-af0.pages.dev/outreach?lang='+l+'#desk');return parts.join('\n\n');}
window.GR_OUTREACH={read:read,write:write,rows:rows,routes:routes,lead:lead,name:name,message:message,t:t,esc:esc,track:track,markSent:markSent,markSubmitted:markSubmitted,complete:complete,reschedule:reschedule,cancelTask:cancelTask,backup:backup,restore:restore,calendar:calendar,download:download,serviceStatus:serviceStatus,connectEmail:connectEmail,sync:sync,stopServer:stopServer,clear:clear,coach:coach,storageOK:function(){return storageOK;}};
})();

</script>
<script>
/* GreenRoot app: i18n engine, nav, counters, reveal, chat, career, mood, charts, form */
(function(){
"use strict";

/* ---------- safe storage ---------- */
var store = (function(){ try{ var s=window.localStorage; s.setItem("__gr","1"); s.removeItem("__gr"); return s; }catch(e){ return null; } })();

/* ---------- language ---------- */
var lang = "en";
var saved = store ? store.getItem("gr-lang") : null;
try { var requested = new URLSearchParams(location.search).get("lang"); if (["en","fa","tr"].indexOf(requested)>-1) saved=requested; } catch(e) {}
if (saved && ["en","fa","tr"].indexOf(saved)>-1) lang = saved;
else {
  var nav3 = (navigator.language||"");
  if (nav3.indexOf("fa")===0) lang = "fa";
  else if (nav3.indexOf("tr")===0) lang = "tr";
}

function t(k){
  var d = I18N[lang] || I18N.en;
  if (d[k]!==undefined) return d[k];
  if (I18N.en[k]!==undefined) return I18N.en[k];
  return "";
}
function fmt(n){ return n.toLocaleString("en-US"); }
var raf = (window.requestAnimationFrame
  ? function(f){ return window.requestAnimationFrame(f); }
  : function(f){ return setTimeout(function(){ f(Date.now()); }, 16); });
function safe(fn){ try{ fn(); }catch(e){ if (window.console) console.warn("GreenRoot init:", e); } }
function mergeTr(){
  var X = window.GR_EXTRA_TR;
  if (!X) return;
  CHAT_GREETING.tr = X.greeting;
  CHAT_FALLBACK.tr = X.fallback;
  X.chips.forEach(function(c){
    var dst = CHAT_CHIPS.find(function(x){ return x.id===c.id; });
    if (dst) dst.tr = c.tr;
  });
  Object.keys(X.intents).forEach(function(id){
    var dst = CHAT_INTENTS.find(function(x){ return x.id===id; });
    if (dst) dst.r.tr = X.intents[id];
  });
  Object.keys(X.career||{}).forEach(function(job){
    var s = X.career[job], d = CAREER_PLANS[job];
    if (d){ d.title.tr=s.title; d.s1.tr=s.s1; d.s2.tr=s.s2; d.s3.tr=s.s3; d.story.tr=s.story; }
  });
}

function applyLang(){
  document.documentElement.lang = lang;
  document.documentElement.dir = (lang==="fa") ? "rtl" : "ltr";
  document.querySelectorAll("[data-i18n]").forEach(function(el){
    el.innerHTML = t(el.getAttribute("data-i18n"));
  });
  document.querySelectorAll("[data-i18n-ph]").forEach(function(el){
    el.setAttribute("placeholder", t(el.getAttribute("data-i18n-ph")));
  });
  document.querySelectorAll(".lang-sw .lang").forEach(function(b){
    b.classList.toggle("on", b.getAttribute("data-lang")===lang);
  });
  /* COP31 countdown */
  var days = Math.max(0, Math.ceil((new Date(2026,10,9) - new Date())/86400000));
  document.querySelectorAll("[data-cop-days]").forEach(function(elm){
    elm.textContent = t("cop.countdown").replace("{d}", days);
  });
  var page = document.body.getAttribute("data-page");
  if (page && t("title."+page)) document.title = t("title."+page);
  var cs = document.getElementById("chatShellDir");
  if (page==="ai") renderChips();
  applyChatDir();
  if (page==="dashboard" && document.getElementById("chartMonthly")) initDashboard();
  var file = (page === "home" ? "index" : page) + ".html";
  document.querySelectorAll(".links a").forEach(function(a){
    a.classList.toggle("active", a.getAttribute("href") === file);
  });
  document.dispatchEvent(new CustomEvent("greenroot:language", {detail:{lang:lang}}));
}

function setLang(l){
  lang = l;
  if (store) try{ store.setItem("gr-lang", l); }catch(e){}
  safe(applyLang);
}

document.addEventListener("DOMContentLoaded", function(){
  safe(mergeTr);
  safe(applyLang);

  document.querySelectorAll(".lang-sw .lang").forEach(function(b){
    b.addEventListener("click", function(){ setLang(b.getAttribute("data-lang")); });
  });

  /* burger */
  var nav = document.getElementById("nav");
  var burger = document.getElementById("burger");
  if (burger && nav){
    burger.addEventListener("click", function(){ nav.classList.toggle("open"); burger.setAttribute("aria-expanded", String(nav.classList.contains("open"))); });
    document.addEventListener("keydown", function(e){ if (e.key==="Escape" && nav.classList.contains("open")){ nav.classList.remove("open"); burger.setAttribute("aria-expanded","false"); burger.focus(); } });
    nav.querySelectorAll(".links a").forEach(function(a){
      a.addEventListener("click", function(){ nav.classList.remove("open"); burger.setAttribute("aria-expanded","false"); });
    });
  }

  /* footer year */
  document.querySelectorAll("#year").forEach(function(el){ el.textContent = new Date().getFullYear(); });

  /* reveal on scroll */
  var rvs = document.querySelectorAll(".rv");
  if ("IntersectionObserver" in window){
    var io = new IntersectionObserver(function(entries){
      entries.forEach(function(e){ if (e.isIntersecting){ e.target.classList.add("in"); io.unobserve(e.target); } });
    }, {threshold:.12});
    rvs.forEach(function(el){ io.observe(el); });
  } else { rvs.forEach(function(el){ el.classList.add("in"); }); }

  /* animated counters */
  function runCounter(el){
    var target = parseFloat(el.getAttribute("data-count"))||0;
    var pre = el.getAttribute("data-prefix")||"", suf = el.getAttribute("data-suffix")||"";
    var dur = 1500, t0 = null;
    function step(ts){
      if(!t0) t0 = ts;
      var p = Math.min((ts-t0)/dur, 1);
      var eased = 1 - Math.pow(1-p, 3);
      el.textContent = pre + fmt(Math.round(target*eased)) + suf;
      if (p<1) raf(step);
    }
    raf(step);
  }
  var counters = document.querySelectorAll("[data-count]");
  if ("IntersectionObserver" in window){
    var cio = new IntersectionObserver(function(entries){
      entries.forEach(function(e){ if (e.isIntersecting){ safe(function(){ runCounter(e.target); }); cio.unobserve(e.target); } });
    }, {threshold:.4});
    counters.forEach(function(el){ cio.observe(el); });
  } else { counters.forEach(function(el){ safe(function(){ runCounter(el); }); }); }

  /* page inits */
  var page = document.body.getAttribute("data-page");
  safe(function(){
    if (page==="ai") initAI();
    if (page==="dashboard") initDashboard();
    if (page==="join") initJoin();
  });
});

/* ============================================================
   Raha chat (AI page)
============================================================ */
var CHAT_INTENTS = [
  { id:"crisis",
    kw:["suicide","kill myself","overdose","end it","خودکشی","اوردوز","مردن","تموم کنم","نابود","intihar","aşırı doz","bitirmek istiyorum"],
    r:{ en:"I'm really glad you told me. Please reach a human right now:\n• Your local emergency number (DE: 112 · IR: 123)\n• Iran addiction hotline: 09628\n• Your GreenRoot counselor — number is on your card.\nYou are not alone, and this moment will pass. Stay with me — then call.",
        fa:"خیلی خوشحالم که گفتی. لطفاً همین حالا به یک انسان وصل شو:\n• شمارهٔ اورژانس محلی (آلمان: ۱۱۲ · ایران: ۱۲۳)\n• خط اعتیاد ایران: ۰۹۶۲۸\n• شمارهٔ مشاور گرین‌روت روی کارتت هست.\nتنها نیستی و این لحظه رد می‌شود. با من بمون — بعد زنگ بزن." } },
  { id:"craving",
    kw:["craving","crave","urge","relapse now","using again","هوس","کشش","میل","لغزش","مصرف","kriz","canım çekti","kullanmak istiyorum"],
    r:{ en:"Craving noticed — that's already a win. Let's ride the wave:\n1. Put the thought on a 10-minute timer.\n2. 4-7-8 breathing ×3 with me: in 4… hold 7… out 8…\n3. Walk toward a crew member or call your buddy.\nCravings peak and pass — usually under 20 minutes. I'm staying right here.",
        fa:"هوس رو شنیدم — همین که گفتی یعنی یک برد. موج رو سوار بشیم:\n۱. فکر رو روی تایمر ۱۰ دقیقه‌ای بذار.\n۲. سه بار تنفس ۴-۷-۸ با من: دم ۴… نگه ۷… بازدم ۸…\n۳. برو سمت یکی از اعضای تیم یا به همراهت زنگ بزن.\nهوس اوج می‌گیره و رد می‌شه — معمولاً زیر ۲۰ دقیقه. من همین‌جام." } },
  { id:"mood",
    kw:["sad","depress","low","lonely","tired","empty","anxious","غم","افسر","تنها","خسته","حالم","اضطراب","نگران","mutsuz","yalnızım","kötüyüm","yorgunum","kaygılı"],
    r:{ en:"Thanks for telling me. Low days are data, not failure.\n• Today's shift is optional — rest is treatment too.\n• Want me to draft a message to your counselor?\n• One small thing: water, window, 5 slow breaths. That's enough for now.",
        fa:"ممنون که گفتی. روزهای پایین، داده‌ان نه شکست.\n• شیفت امروز اختیاریه — استراحت هم بخشی از درمانه.\n• برات یک پیام برای مشاورت بنویسم؟\n• یک کار کوچک: آب، پنجره، ۵ نفس آروم. فعلاً همین کافیه." } },
  { id:"career",
    kw:["job","career","work again","cv","resume","interview","شغل","کار","رزومه","مصاحبه","حرفه","kariyer","meslek","mülakat","özgeçmiş"],
    r:{ en:"Career rewind is my favourite topic 💼 Your plan has 3 steps: skill map → paid refresh role inside the program → placement with a partner employer.\nTell me your old job — driver, nurse, accountant, mechanic, teacher, cook — or try the Career rewind demo below the chat.",
        fa:"بازگشت شغلی موضوع موردعلاقه‌ام هست 💼 طرحت ۳ قدم داره: نقشهٔ مهارت → نقشِ تمرینیِ حقوق‌دار در برنامه → قرارگیری در یک کارفرمای شریک.\nشغل قبلیت رو بگو — راننده، پرستار، حسابدار، مکانیک، معلم، آشپز — یا دموی «بازگشت شغلی» زیر چت رو امتحان کن." } },
  { id:"balance",
    kw:["token","balance","reward","point","wallet","توکن","موجودی","پاداش","امتیاز","کیف","jeton","bakiye","cüzdan"],
    r:{ en:"Token balance: 340 🪙\n• This week: +60 (3 shifts)\n• Available rewards: bus pass (40) · phone credit (25) · welding course (220)\nTip: set a goal in the wallet — goals roughly double follow-through.",
        fa:"موجودی توکن: 340 🪙\n• این هفته: +60 (۳ شیفت)\n• پاداش‌های موجود: کارت اتوبوس (40) · شارژ (25) · دورهٔ جوشکاری (220)\nپیشنهاد: در کیف، یک هدف بذار — هدف‌گذاری پیگیری رو تقریباً دوبرابر می‌کنه." } },
  { id:"schedule",
    kw:["schedule","shift","time","plan","when","برنامه","شیفت","ساعت","کی","وقت","vardiya","bu hafta"],
    r:{ en:"This week's plan:\n• Mon / Wed / Fri 08:00 — cleanup shift (meet at the depot)\n• Tue 17:00 — group therapy\n• Thu 16:00 — Raha session + skills class\nRain plan: indoor sorting line. Missed a day? It happens — tell your mentor, your place is safe.",
        fa:"برنامهٔ این هفته:\n• دوشنبه / چهارشنبه / جمعه 08:00 — شیفت پاک‌سازی (قرار مقابل انبار)\n• سه‌شنبه 17:00 — گروه‌درمانی\n• پنجشنبه 16:00 — جلسهٔ رها + کلاس مهارت\nبرنامهٔ بارونی: خط جداسازی سرپوشیده. یه روز جا موندی؟ پیش میاد — به مربیت بگو، جایگاهت محفوظه." } },
  { id:"trash",
    kw:["trash","waste","recycl","collect","زباله","بازیافت","جمع","çöp","atık"],
    r:{ en:"Today's crews collected 214 kg: 96 kg PET · 41 kg metal · 52 kg paper · 25 kg glass.\nThat's about €118 to the treatment fund — and enough flake for 3 face shields heading to the workshop. You make that happen.",
        fa:"تیم‌های امروز ۲۱۴ کیلو جمع کردند: ۹۶ کیلو پت · ۴۱ فلز · ۵۲ کاغذ · ۲۵ شیشه.\nیعنی حدود €118 به صندوق درمان — و خردِ کافی برای ۳ شیلد صورت به سمت کارگاه. این تو اتفاق انداختی." } },
  { id:"about",
    kw:["who are you","what are you","raha","رها کیست","تو کی هستی","چی هستی"],
    r:{ en:"I'm Raha — \"رهاء\" means freedom. I'm the program's AI companion: craving SOS, mood check-ins, token wallet and career-rewind coach. I'm a tool with human oversight — your counselor and doctors make the clinical calls. My data policy is simple: your story belongs to you.",
        fa:"من رها هستم؛ «رهاء» یعنی آزادی. همیار هوش مصنوعی برنامه‌ام: SOS هوس، چک-این خلق، کیف توکن و مربی بازگشت شغلی. من یک ابزار با نظارت انسانی‌ام — تصمیم‌های بالینی با مشاور و پزشکت. سیاست داده‌ام ساده‌ست: داستان زندگی‌ات مال خودته." } },
  { id:"thanks",
    kw:["thank","thanks","merci","مرسی","ممنون","متشکر","سپاس","teşekkür","sağol"],
    r:{ en:"Anytime. That's what I'm here for — see you at check-in tomorrow? 🌱",
        fa:"همیشه در خدمتم. برای همین اینجام — فردا سر چک-این می‌بینمت؟ 🌱" } }
];
var CHAT_FALLBACK = {
  en:"I hear you. I'm the demo version — I know cravings, mood, tokens, the weekly plan and career rewind. Try a chip below, or type \"craving\", \"job\", \"balance\"…",
  fa:"شنیدمت. من نسخهٔ دمو هستم — از هوس، خلق، توکن، برنامهٔ هفتگی و بازگشت شغلی سر درمیارم. یکی از دکمه‌ها رو بزن، یا بنویس «هوس»، «شغل»، «موجودی»…"
};
var CHAT_GREETING = {
  en:"Hi, I'm Raha 🌱 GreenRoot's recovery companion. How are you feeling today? Tap a chip below or just type — English or فارسی, both work.",
  fa:"سلام، من رها هستم 🌱 همیار بهبودی گرین‌روت. امروز حالت چطوره؟ از دکمه‌های پایین استفاده کن یا آزادانه بنویس — فارسی یا English، هر دو جواب می‌ده."
};
var CHAT_CHIPS = [
  { id:"outreach", en:"University / funding / follow-up", fa:"دانشگاه / فاند / پیگیری", tr:"Üniversite / fon / takip" },
  { id:"craving", en:"I have a craving", fa:"هوس دارم" },
  { id:"mood",    en:"I feel low",      fa:"حالم پایینه" },
  { id:"career",  en:"Career rewind",   fa:"بازگشت شغلی" },
  { id:"balance", en:"Token balance",   fa:"موجودی توکن" },
  { id:"schedule",en:"This week's plan",fa:"برنامهٔ این هفته" }
];

var chatBody, chatInput;
function el(id){ return document.getElementById(id); }

function chatMsg(text, who){
  var m = document.createElement("div");
  m.className = "msg " + who;
  m.textContent = text;
  chatBody.appendChild(m);
  chatBody.scrollTop = chatBody.scrollHeight;
  return m;
}
function botReply(intentId, userText){
  var typing = document.createElement("div");
  typing.className = "msg bot typing";
  typing.innerHTML = "<span></span><span></span><span></span>";
  chatBody.appendChild(typing);
  chatBody.scrollTop = chatBody.scrollHeight;
  var resp, d = I18N[lang]||I18N.en;
  if ((intentId==="outreach" || !intentId) && window.GR_OUTREACH) resp=window.GR_OUTREACH.coach(intentId==="outreach"?"outreach":userText,lang);
  if(resp){}
  else if (intentId){ resp = CHAT_INTENTS.find(function(i){return i.id===intentId;}).r[lang] || CHAT_INTENTS.find(function(i){return i.id===intentId;}).r.en; }
  else {
    var lower = (userText||"").toLowerCase();
    var hit = CHAT_INTENTS.find(function(i){ return i.kw.some(function(k){ return lower.indexOf(k.toLowerCase())>-1; }); });
    resp = hit ? (hit.r[lang]||hit.r.en) : (CHAT_FALLBACK[lang]||CHAT_FALLBACK.en);
  }
  setTimeout(function(){ typing.remove(); chatMsg(resp,"bot"); }, 800 + Math.random()*500);
}
function routeIntent(intentId){
  var chip = CHAT_CHIPS.find(function(c){return c.id===intentId;});
  var label = chip ? (chip[lang]||chip.en) : intentId;
  chatMsg(label,"user");
  botReply(intentId,null);
}
function renderChips(){
  var wrap = el("chatChips");
  if (!wrap) return;
  wrap.innerHTML = "";
  CHAT_CHIPS.forEach(function(c){
    var b = document.createElement("button");
    b.type = "button";
    b.textContent = c[lang]||c.en;
    b.addEventListener("click", function(){ routeIntent(c.id); });
    wrap.appendChild(b);
  });
}
function sendChat(){
  var v = (chatInput.value||"").trim();
  if (!v) return;
  chatMsg(v,"user");
  chatInput.value = "";
  botReply(null,v);
}
function initAI(){
  chatBody = el("chatBody"); chatInput = el("chatInput");
  var shell = document.querySelector(".chat-shell");
  if (shell){ shell.removeAttribute("dir"); }
  applyChatDir();
  chatMsg(CHAT_GREETING[lang]||CHAT_GREETING.en,"bot");
  renderChips();
  var send = el("chatSend");
  if (send) send.addEventListener("click", sendChat);
  if (chatInput) chatInput.addEventListener("keydown", function(e){ if (e.key==="Enter") sendChat(); });

  /* career rewind */
  var plans = CAREER_PLANS;
  var picker = el("careerPicker"), planBox = el("careerPlan");
  if (picker && planBox){
    picker.querySelectorAll("button").forEach(function(b){
      b.addEventListener("click", function(){
        picker.querySelectorAll("button").forEach(function(x){ x.classList.remove("on"); });
        b.classList.add("on");
        var job = b.getAttribute("data-job");
        renderPlan(job);
      });
    });
  }
  function renderPlan(job){
    var p = plans[job];
    planBox.style.display = "block";
    planBox.innerHTML =
      "<h4>"+ (p.title[lang]||p.title.en) +"</h4>" +
      "<ol><li>"+ (p.s1[lang]||p.s1.en) +"</li><li>"+ (p.s2[lang]||p.s2.en) +"</li><li>"+ (p.s3[lang]||p.s3.en) +"</li></ol>" +
      "<p class='small' style='margin-top:12px;color:var(--teal);font-weight:700'>💡 "+ (p.story[lang]||p.story.en) +"</p>";
  }

  /* mood tracker */
  var moodLog = [];
  var moodRow = el("moodRow"), moodMsg = el("moodMsg");
  if (moodRow && moodMsg){
    moodRow.querySelectorAll("button").forEach(function(b){
      b.addEventListener("click", function(){
        moodLog.push(parseInt(b.getAttribute("data-mood"),10));
        if (moodLog.length>12) moodLog.shift();
        renderMood();
      });
    });
  }
  function renderMood(){
    if (!moodLog.length) return;
    var MOOD_TXT = {
      1:{en:"Very low — you're not alone. Tap \"I have a craving\" / SOS or call your counselor. I've flagged a check-in.",fa:"خیلی پایین — تنها نیستی. «هوس دارم»/SOS رو بزن یا به مشاورت زنگ بزن. یک چک-این علامت خوردم."},
      2:{en:"Low — thanks for logging. Consider an SOS session or an early night.",fa:"پایین — ممنون که ثبت کردی. یک جلسهٔ SOS یا زودخوابیدن رو در نظر بگیر."},
      3:{en:"Okay days count too. Logged.",fa:"روزهای معمولی هم می‌شمارند. ثبت شد."},
      4:{en:"Good — noted. Keep the rhythm.",fa:"خوب — ثبت شد. ریتم رو نگه دار."},
      5:{en:"Great day — logged. Streaks are how recovery is built. 🌱",fa:"روزِ خوبی بود — ثبت شد. رشته‌ها، بهبودی را می‌سازند. 🌱"}
    };
    var last = moodLog[moodLog.length-1];
    var txt = (lang==="tr" && window.GR_EXTRA_TR && window.GR_EXTRA_TR.mood[last]) || MOOD_TXT[last][lang] || MOOD_TXT[last].en;
    var trend = moodLog.length>1 ? (moodLog[moodLog.length-1]>=moodLog[moodLog.length-2] ? " ↗" : " ↘") : "";
    /* sparkline */
    var w=220,h=44,pts="";
    moodLog.forEach(function(v,i){
      var x = moodLog.length===1 ? w/2 : (i/(moodLog.length-1))*(w-8)+4;
      var y = h-6-((v-1)/4)*(h-12);
      pts += x.toFixed(1)+","+y.toFixed(1)+" ";
    });
    var svg = "<svg width='"+w+"' height='"+h+"' viewBox='0 0 "+w+" "+h+"'><polyline points='"+pts+"' fill='none' stroke='#16A34A' stroke-width='2.5' stroke-linecap='round'/></svg>";
    moodMsg.innerHTML = txt + trend + "<br>" + svg + "<br><span class='muted'>" + moodLog.length + " × " + (lang==="fa"?"چک-این":"check-ins") + "</span>";
  }
}

var CAREER_PLANS = {
  driver:{ title:{en:"🚚 Driver — rewind plan",fa:"🚚 راننده — طرح بازگشت"},
    s1:{en:"Licence & record check: we verify your licence status and the skills fund covers any refresher course.",fa:"بررسی گواهینامه و سوابق: وضعیت گواهینامه‌ات را بررسی می‌کنیم و صندوق مهارت هزینهٔ دورهٔ تجدید را می‌پوشاند."},
    s2:{en:"6 paid weeks as relief driver for the cleanup crews' logistics — with a clean-shift certificate.",fa:"۶ هفتهٔ حقوق‌دار به‌عنوان رانندهٔ جانشین در حمل‌ونقل تیم‌های پاک‌سازی — با گواهی شیفت‌های تمیز."},
    s3:{en:"Raha rebuilds your CV around 12+ months of documented reliability, then places you with partner logistics firms.",fa:"رها رزومه‌ات را حول ۱۲+ ماه اتکاپذیریِ مستند بازمی‌سازد و بعد با شرکت‌های حمل‌ونقل شریک قرارت می‌دهد."},
    story:{en:"Your time on the crew isn't a gap — it's proof of reliability.",fa:"بودنت در تیم، یک «وقفه» نیست — مدرک اتکاپذیری است."}},
  nurse:{ title:{en:"🧑‍⚕️ Nurse / health worker — rewind plan",fa:"🧑‍⚕️ پرستار / کارمند سلامت — طرح بازگشت"},
    s1:{en:"Re-enter clinical life through lower-intensity roles: hygiene and health-promotion rounds within the crews.",fa:"بازگشت به فضای بالینی از نقش‌های کم‌فشار: گشتی‌های بهداشت و ارتقای سلامت درون تیم‌ها."},
    s2:{en:"Skills revalidation: BLS refresher, licence paperwork — supported by the skills fund.",fa:"بازاعتبارسنجی مهارت: دورهٔ BLS، امور پروانه — با پشتیبانی صندوق مهارت."},
    s3:{en:"Supported shifts with partner clinics while Raha builds your gradual full-return plan.",fa:"شیفت‌های حمایتی در کلینیک‌های شریک، در حالی که رها طرح بازگشت کامل تدریجی‌ات را می‌سازد."},
    story:{en:"The care you learned to give yourself is now your credential.",fa:"مراقبتی که یاد گرفتی به خودت بدهی، حالا اعتبارت است."}},
  accountant:{ title:{en:"🧾 Accountant — rewind plan",fa:"🧾 حسابدار — طرح بازگشت"},
    s1:{en:"Skills audit with free assessments (Excel, bookkeeping) — a gap map within one week.",fa:"ارزیابی مهارت با تست‌های رایگان (اکسل، اصول حسابداری) — نقشهٔ شکاف‌ها در یک هفته."},
    s2:{en:"Six weeks of software refresh + a real role: counting and reporting the crews' material revenue.",fa:"شش هفته به‌روزرسانی نرم‌افزار + یک نقش واقعی: شمارش و گزارش درآمد مواد تیم‌ها."},
    s3:{en:"Raha frames your CV around \"12 months of clean data\", then runs interview practice with partner firms.",fa:"رها رزومه را حول «۱۲ ماه دادهٔ تمیز» قاب می‌گیرد و بعد با شرکت‌های شریک مصاحبه تمرینی می‌گذارد."},
    story:{en:"The discipline you built in recovery is exactly what accounting wants.",fa:"انضباطی که در بهبودی ساختی، دقیقاً همان چیزی است که حسابداری می‌خواهد."}},
  mechanic:{ title:{en:"🔧 Mechanic — rewind plan",fa:"🔧 مکانیک — طرح بازگشت"},
    s1:{en:"Workshop assessment: tools, safety, current skills — with a technical mentor.",fa:"ارزیابی کارگاهی: ابزار، ایمنی، مهارت‌های فعلی — با یک مربی فنی."},
    s2:{en:"Documented experience maintaining the recycling line's machines and vehicles, on site.",fa:"تجربهٔ مستند نگهداشت ماشین‌آلات و خودروهای خط بازیافت — در همان سایت."},
    s3:{en:"Specialist certificate (e.g. electromechanics) from the skills fund + placement at partner workshops.",fa:"گواهی تخصصی (مثلاً الکترومکانیک) از صندوق مهارت + قرارگیری در کارگاه‌های شریک."},
    story:{en:"The machines you brought back to life are your best résumé.",fa:"ماشین‌هایی که به آن‌ها زندگی دوباره دادی، بهترین رزومهٔ تو هستند."}},
  teacher:{ title:{en:"🧑‍🏫 Teacher — rewind plan",fa:"🧑‍🏫 معلم — طرح بازگشت"},
    s1:{en:"The honest-narrative plan: how to tell the gap in interviews, practised with Raha until it's strength.",fa:"طرحِ روایت صادقانه: چطور وقفه را در مصاحبه بگویی — با رها تمرین می‌کنی تا به نقطه‌قوت تبدیل شود."},
    s2:{en:"Real classroom: environmental-literacy lessons for school groups in the parks your crew cleaned.",fa:"کلاس واقعی: درس‌های سواد محیط‌زیست برای گروه‌های مدرسه‌ای در پارک‌هایی که تیمت تمیز کرده."},
    s3:{en:"Teaching-certificate refresh + assistant placement at partner schools, stepping up to full-time.",fa:"روزآمدسازی گواهی تدریس + جایگاه دستیار در مدارس شریک، تا رسیدن به تمام‌وقت."},
    story:{en:"Your recovery is the deepest lesson your future classroom will ever get.",fa:"بهبودی‌ات، عمیق‌ترین درسی است که کلاس آینده‌ات می‌گیرد."}},
  cook:{ title:{en:"🍳 Cook — rewind plan",fa:"🍳 آشپز — طرح بازگشت"},
    s1:{en:"Food safety & hygiene certificate — official, funded by the skills fund.",fa:"گواهی ایمنی و بهداشت غذا — رسمی، هزینه‌اش با صندوق مهارت."},
    s2:{en:"Real volume experience: cooking crew lunches for 50+ people every day.",fa:"تجربهٔ حجم واقعی: پخت ناهار تیم‌ها برای ۵۰+ نفر هر روز."},
    s3:{en:"Supported internship in a partner kitchen with a mentor, then part-time or full-time placement.",fa:"کارآموزی حمایتی در آشپزخانهٔ شریک با مربی، بعد جایگاه پاره‌وقت یا تمام‌وقت."},
    story:{en:"The meals you cook for the crew are the first order of your comeback.",fa:"غذاهایی که برای تیم می‌پزی، اولین سفارشِ بازگشت تو هستند."}}
};

function applyChatDir(){
  var shell = document.querySelector(".chat-shell");
  if (shell) shell.setAttribute("dir", lang==="fa" ? "rtl" : "ltr");
  if (chatBody) chatBody.setAttribute("dir", lang==="fa" ? "rtl" : "ltr");
}

/* ============================================================
   Dashboard charts
============================================================ */
var MONTHLY_KG = [1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2400];
var WASTE_MIX = [
  {label:"PET", v:42, color:"#16A34A"},
  {label:"Paper", v:22, color:"#0D9488"},
  {label:"Metal", v:18, color:"#F59E0B"},
  {label:"Glass", v:11, color:"#3B82F6"},
  {label:"Other", v:7, color:"#94A3B8"}
];
var FUND = [
  {v:1900, color:"#16A34A"},
  {v:1250, color:"#F59E0B"},
  {v:600,  color:"#0D9488"}
];
var REPORT = [
  {m:7, a:98,  kg:1600, eur:3200},
  {m:8, a:104, kg:1700, eur:3400},
  {m:9, a:109, kg:1800, eur:3600},
  {m:10,a:113, kg:1900, eur:3800},
  {m:11,a:117, kg:2000, eur:4100},
  {m:12,a:120, kg:2400, eur:4600}
];

function renderReportTable(){
  var body = el("reportBody");
  if (!body) return;
  body.innerHTML = REPORT.map(function(r){
    return "<tr><td>"+r.m+"</td><td>"+r.a+"</td><td>"+fmt(r.kg)+"</td><td>€"+fmt(r.eur)+"</td></tr>";
  }).join("");
}

function initDashboard(){
  drawBars(el("chartMonthly"), MONTHLY_KG);
  drawDonut(el("chartMix"), WASTE_MIX);
  drawHBars(el("chartFund"), FUND);
  renderReportTable();
}

function drawBars(container, values){
  if (!container) return;
  var W=460,H=230,pad=34,bw=(W-pad-10)/values.length;
  var max = Math.max.apply(null,values)*1.12;
  var s = "<svg viewBox='0 0 "+W+" "+H+"' style='width:100%;height:auto'>";
  s += "<line x1='"+pad+"' y1='"+(H-26)+"' x2='"+(W-4)+"' y2='"+(H-26)+"' stroke='#E2E9DD' stroke-width='1.5'/>";
  values.forEach(function(v,i){
    var h = Math.round((v/max)*(H-58));
    var x = pad + i*bw + 3;
    var y = H-26-h;
    s += "<rect x='"+x+"' y='"+y+"' width='"+(bw-7)+"' height='"+h+"' rx='4' fill='url(#gbars)'><title>"+fmt(v)+" kg</title></rect>";
    if (i%2===0) s += "<text x='"+(x+(bw-7)/2)+"' y='"+(H-10)+"' font-size='10' fill='#8AA395' text-anchor='middle'>"+(i+1)+"</text>";
    if (i===values.length-1) s += "<text x='"+(x+(bw-7)/2)+"' y='"+(y-6)+"' font-size='11' font-weight='700' fill='#166534' text-anchor='middle'>"+fmt(v)+"</text>";
  });
  s += "<defs><linearGradient id='gbars' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='#22C55E'/><stop offset='1' stop-color='#15803D'/></linearGradient></defs>";
  s += "</svg>";
  container.innerHTML = s;
}

function drawDonut(container, segs){
  if (!container) return;
  var total = segs.reduce(function(a,b){return a+b.v;},0);
  var R=76,C=2*Math.PI*R, off=0;
  var s = "<svg viewBox='0 0 200 200' style='width:min(220px,100%);margin:auto;display:block'>";
  s += "<g transform='rotate(-90 100 100)'>";
  segs.forEach(function(seg){
    var len = seg.v/total*C;
    s += "<circle cx='100' cy='100' r='"+R+"' fill='none' stroke='"+seg.color+"' stroke-width='34' stroke-dasharray='"+len.toFixed(1)+" "+(C-len).toFixed(1)+"' stroke-dashoffset='"+(-off).toFixed(1)+"'><title>"+seg.label+" "+seg.v+"%</title></circle>";
    off += len;
  });
  s += "</g><text x='100' y='96' text-anchor='middle' font-size='24' font-weight='800' fill='#0C2318'>"+t("dash.ch2.t1")+"</text>";
  s += "<text x='100' y='116' text-anchor='middle' font-size='11' fill='#54685C'>"+t("dash.ch2.t2")+"</text></svg>";
  container.innerHTML = s;
  var lg = el("mixLegend");
  if (lg){
    lg.innerHTML = segs.map(function(seg){
      return "<span><i style='background:"+seg.color+"'></i>"+seg.label+" "+seg.v+"%</span>";
    }).join("");
  }
}

function drawHBars(container, items){
  if (!container) return;
  var labels = [ t("dash.ch3.l1"), t("dash.ch3.l2"), t("dash.ch3.l3") ];
  var max = Math.max.apply(null, items.map(function(i){return i.v;}))*1.1;
  var s = "";
  items.forEach(function(it,i){
    var pct = Math.round(it.v/max*100);
    s += "<div style='margin-bottom:14px'>" +
      "<div style='display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:5px'><b>"+labels[i]+"</b><span class='muted' dir='ltr'>€"+fmt(it.v)+"/"+(lang==="fa"?"ماه":"mo")+"</span></div>" +
      "<div style='background:#EEF3EA;border-radius:99px;height:14px;overflow:hidden' dir='ltr'><div style='width:"+pct+"%;height:100%;border-radius:99px;background:"+it.color+"'></div></div></div>";
  });
  container.innerHTML = s;
}

/* ============================================================
   Join form
============================================================ */
function initJoin(){
  var f = el("joinForm");
  if (!f) return;
  f.addEventListener("submit", function(e){
    e.preventDefault();
    el("formOk").style.display = "block";
    f.querySelector("button[type=submit]").disabled = true;
  });
}

/* ============================================================
   UX pass: progress bar, back-to-top, mobile CTA, share, a11y
============================================================ */
document.addEventListener("DOMContentLoaded", function(){
  safe(function(){
    /* scroll progress + back-to-top visibility */
    var bar = document.createElement("div"); bar.id = "progress"; bar.setAttribute("aria-hidden","true");
    document.body.appendChild(bar);
    var top = document.createElement("button"); top.id = "toTop"; top.type = "button";
    top.setAttribute("aria-label", lang==="fa" ? "بازگشت به بالا" : (lang==="tr" ? "Yukarı dön" : "Back to top"));
    top.innerHTML = "&#8593;";
    top.addEventListener("click", function(){ window.scrollTo({top:0, behavior:"smooth"}); });
    document.body.appendChild(top);
    var upd = function(){
      var h = document.documentElement;
      var max = h.scrollHeight - h.clientHeight;
      bar.style.width = (max>0 ? (h.scrollTop/max)*100 : 0) + "%";
      top.classList.toggle("show", h.scrollTop > 600);
    };
    document.addEventListener("scroll", upd, {passive:true});
    upd();

    /* sticky mobile CTA */
    if (window.matchMedia && window.matchMedia("(max-width:660px)").matches && !document.querySelector(".mobile-cta")){
      var cta = document.createElement("div"); cta.className = "mobile-cta";
      var isDirectory = document.body.getAttribute("data-page")==="partners", isDesk=document.body.getAttribute("data-page")==="outreach";
      var mainKey=isDesk?"ow.nav":isDirectory?"pf.browse":"nav.cta";
      var secondKey=isDesk?"nav.partners":isDirectory?"pf.xlsshort":"nav.podcast";
      var j = document.createElement("a"); j.className="btn small"; j.href=isDesk?"#desk":isDirectory?"#directory":"join.html"; j.innerHTML=(isDesk?"🗂️ ":isDirectory?"🔎 ":"🌱 ")+"<span data-i18n=\""+mainKey+"\">"+t(mainKey)+"</span>";
      var p = document.createElement("a"); p.className="btn small ghost"; p.href=isDesk?"partners.html":isDirectory?"kit/GreenRoot-Outreach-210.xlsx":"podcast.html"; p.innerHTML=(isDesk?"🤝 ":isDirectory?"⬇ ":"🎧 ")+"<span data-i18n=\""+secondKey+"\">"+t(secondKey)+"</span>";
      p.style.border = "1.5px solid rgba(217,249,157,.5)"; p.style.background="rgba(255,255,255,.08)";
      cta.appendChild(j); cta.appendChild(p);
      document.body.appendChild(cta);
    }

    /* share / copy-link buttons */
    document.querySelectorAll("[data-share]").forEach(function(b){
      b.addEventListener("click", function(){
        var url = location.href.split("#")[0];
        var span = b.querySelector("span");
        if (navigator.share){
          navigator.share({title:document.title, url:url}).catch(function(){});
        } else if (navigator.clipboard && navigator.clipboard.writeText){
          navigator.clipboard.writeText(url).then(function(){
            if (span){ var old=span.textContent; span.textContent="✓ "+t("pod.copied");
              setTimeout(function(){ span.textContent=old; },1800); }
          }).catch(function(){});
        }
      });
    });

    /* burger a11y */
    var burger = document.getElementById("burger");
    if (burger) burger.setAttribute("aria-expanded","false");
  });
});

})();

</script>
</body>
</html>