{"id":1123,"date":"2026-05-06T06:49:46","date_gmt":"2026-05-06T06:49:46","guid":{"rendered":"https:\/\/flowise.gr\/?page_id=1123"},"modified":"2026-05-06T08:21:45","modified_gmt":"2026-05-06T08:21:45","slug":"training-programme","status":"publish","type":"page","link":"https:\/\/flowise.gr\/index.php\/training-programme\/","title":{"rendered":"Training Programme"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1123\" class=\"elementor elementor-1123\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f556e07 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"f556e07\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5839f2e elementor-widget elementor-widget-shortcode\" data-id=\"5839f2e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n.ptm-lp{scroll-behavior:smooth}\nbody,.ptm-lp{font-family:var(--sans);color:var(--cream);overflow-x:hidden}\n:root{\n  \/* FLOWISE-aligned palette: deep navy, white, soft blue neutrals *\/\n  --flowise-navy:#17235c;\n  --flowise-navy-2:#0f173f;\n  --flowise-navy-3:#243278;\n  --flowise-white:#ffffff;\n  --flowise-paper:#f6f7fb;\n  --flowise-line:rgba(255,255,255,0.14);\n  --ink:#080d2b;--ink-2:#0d1440;--ink-3:#17235c;--ink-4:#243278;\n  --surface:#101848;--surface-2:#141f5c;\n  --border:rgba(255,255,255,0.12);--border-2:rgba(255,255,255,0.24);\n  --cream:#ffffff;--cream-2:rgba(255,255,255,0.78);--cream-3:rgba(255,255,255,0.56);\n  --green:#ffffff;--green-2:#dfe5ff;--green-pale:#bfc9ff;\n  --teal:#8ea0ff;--amber:#d7ae65;--blue:#6f86ff;--coral:#d28468;--purple:#9a8cff;\n  --serif:'Space Grotesk','Manrope',Arial,sans-serif;\n  --mono:'IBM Plex Mono','Courier New',monospace;\n  --sans:'Manrope',Arial,sans-serif;\n  --radius:6px;--radius-lg:12px;--radius-xl:20px;\n}\n.ptm-lp{background:var(--ink);min-height:100vh;position:relative}\n.ptm-lp::before{content:'';position:absolute;inset:0;background-image:url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'\/%3E%3C\/svg%3E\");pointer-events:none;z-index:0;opacity:0.35}\n\n\/* \u2500\u2500 User status bar \u2500\u2500 *\/\n.ptm-status-bar{background:rgba(16,24,72,0.95);border-bottom:0.5px solid var(--border);padding:10px 48px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--cream-2)}\n.ptm-status-bar.ptm-hidden{display:none}\n.ptm-status-left{display:flex;align-items:center;gap:10px}\n.ptm-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green-2);flex-shrink:0}\n.ptm-status-right{display:flex;align-items:center;gap:16px}\n.ptm-status-prog{display:flex;align-items:center;gap:8px}\n.ptm-status-bar-track{height:3px;width:80px;background:rgba(255,255,255,0.1);border-radius:2px}\n.ptm-status-bar-fill{height:3px;background:var(--green-2);border-radius:2px;transition:width 0.5s ease}\n.ptm-status-link{color:var(--green-2);text-decoration:none;font-weight:500}\n.ptm-status-link:hover{text-decoration:underline}\n.ptm-return-notice{position:relative;z-index:2;background:rgba(223,229,255,0.12);border-bottom:0.5px solid rgba(223,229,255,0.2);color:#fff;padding:12px 48px;font-size:13px}\n.ptm-return-notice-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:10px}\n.ptm-return-notice-dot{width:8px;height:8px;border-radius:50%;background:#dfe5ff;box-shadow:0 0 0 4px rgba(223,229,255,0.12);flex-shrink:0}\n\n\/* \u2500\u2500 Hero \u2500\u2500 *\/\n.ptm-hero{position:relative;padding:100px 0 80px;overflow:hidden;z-index:1}\n.ptm-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 72% 36%,rgba(255,255,255,0.12) 0%,transparent 68%),radial-gradient(ellipse 44% 58% at 18% 72%,rgba(111,134,255,0.16) 0%,transparent 70%),linear-gradient(180deg,#080d2b 0%,#111a4d 58%,#080d2b 100%)}\n.ptm-hero-botanical{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:440px;height:440px;opacity:0.055;z-index:0;pointer-events:none}\n.ptm-hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 48px}\n.ptm-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--green-2);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:20px}\n.ptm-eyebrow::before{content:'';width:24px;height:1px;background:var(--green)}\n.ptm-hero-title{font-family:var(--serif);font-size:clamp(48px,6.5vw,82px);font-weight:500;line-height:0.98;letter-spacing:-0.045em;color:var(--cream);margin-bottom:6px}\n.ptm-hero-title em{font-style:normal;color:var(--cream);font-weight:500}\n.ptm-hero-title2{font-family:var(--serif);font-size:clamp(48px,6.5vw,82px);font-weight:700;color:var(--green-2);line-height:0.98;letter-spacing:-0.045em;margin-bottom:28px}\n.ptm-hero-desc{font-size:15px;line-height:1.8;color:var(--cream-2);max-width:540px;margin-bottom:36px}\n.ptm-hero-actions{display:flex;align-items:center;gap:14px;margin-bottom:60px}\n\n\/* \u2500\u2500 Buttons \u2500\u2500 *\/\n.ptm-btn-p{display:inline-flex;align-items:center;gap:8px;background:var(--flowise-white);color:var(--flowise-navy);font-size:13px;font-weight:700;padding:12px 24px;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:background 0.2s,transform 0.15s,box-shadow 0.2s;box-shadow:0 8px 28px rgba(0,0,0,0.22)}\n.ptm-btn-p:hover{background:var(--green-pale);transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,0.26)}\n.ptm-btn-g{display:inline-flex;align-items:center;gap:8px;color:var(--cream-2);font-size:13px;font-weight:600;padding:12px 20px;border-radius:999px;text-decoration:none;border:0.5px solid var(--border-2);cursor:pointer;background:rgba(255,255,255,0.03);transition:color 0.2s,border-color 0.2s,background 0.2s}\n.ptm-btn-g:hover{color:var(--cream);border-color:rgba(255,255,255,0.42);background:rgba(255,255,255,0.08)}\n\n\/* \u2500\u2500 Hero stats \u2500\u2500 *\/\n.ptm-hero-stats{display:flex;gap:0;padding-top:36px;border-top:0.5px solid var(--border)}\n.ptm-stat{flex:1;padding-right:28px;border-right:0.5px solid var(--border)}\n.ptm-stat:last-child{border-right:none;padding-right:0;padding-left:28px}\n.ptm-stat:not(:first-child):not(:last-child){padding-left:28px}\n.ptm-stat:first-child{padding-left:0}\n.ptm-stat-num{font-family:var(--serif);font-size:40px;font-weight:300;color:var(--green-2);line-height:1;margin-bottom:5px;letter-spacing:-0.02em}\n.ptm-stat-label{font-size:11px;color:var(--cream-3);letter-spacing:0.04em;line-height:1.5}\n\n\/* \u2500\u2500 Section shared \u2500\u2500 *\/\n.ptm-section{position:relative;z-index:1}\n.ptm-wrap-inner{max-width:1160px;margin:0 auto;padding:0 48px}\n.ptm-sec-label{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--green);margin-bottom:14px;display:flex;align-items:center;gap:10px}\n.ptm-sec-label::after{content:'';flex:1;max-width:40px;height:0.5px;background:var(--green)}\n\n\/* \u2500\u2500 About \u2500\u2500 *\/\n.ptm-about{padding:100px 0;background:linear-gradient(180deg,var(--ink) 0%,var(--surface) 52%,var(--ink) 100%)}\n.ptm-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}\n.ptm-about-left h2{font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.15;color:var(--cream);margin-bottom:20px;letter-spacing:-0.01em}\n.ptm-about-left h2 span{color:var(--green-pale);font-style:normal}\n.ptm-about-left p{font-size:13px;line-height:1.85;color:var(--cream-2);margin-bottom:14px}\n.ptm-transfer-block{margin-top:28px;padding:18px 20px;background:var(--surface-2);border-radius:var(--radius-lg);border:0.5px solid var(--border)}\n.ptm-tr-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--cream-2);padding:5px 0;border-bottom:0.5px solid var(--border)}\n.ptm-tr-row:last-child{border-bottom:none}\n.ptm-tr-tag{font-family:var(--mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;padding:2px 6px;border-radius:3px;flex-shrink:0;min-width:54px;text-align:center}\n.ptm-tag-tr{background:rgba(142,160,255,0.15);color:var(--teal)}\n.ptm-tag-new{background:rgba(200,130,26,0.15);color:var(--amber)}\n.ptm-principle{background:var(--surface-2);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:10px;transition:border-color 0.2s,transform 0.2s}\n.ptm-principle:hover{border-color:var(--border-2);transform:translateX(4px)}\n.ptm-prin-num{font-family:var(--mono);font-size:9px;color:var(--green);letter-spacing:0.1em;margin-bottom:5px}\n.ptm-prin-title{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--cream);margin-bottom:5px;line-height:1.3}\n.ptm-prin-desc{font-size:11px;color:var(--cream-3);line-height:1.7}\n\n\/* \u2500\u2500 Timeline \u2500\u2500 *\/\n.ptm-timeline{padding:90px 0;background:var(--ink);border-top:0.5px solid var(--border)}\n.ptm-tl-header{text-align:center;margin-bottom:56px}\n.ptm-tl-header h2{font-family:var(--serif);font-size:clamp(30px,4vw,44px);font-weight:400;color:var(--cream);margin-bottom:10px}\n.ptm-tl-header p{font-size:13px;color:var(--cream-3);max-width:440px;margin:0 auto;line-height:1.7}\n.ptm-tl-track{display:grid;grid-template-columns:repeat(10,1fr);gap:0;position:relative;margin-bottom:8px}\n.ptm-tl-track::before{content:'';position:absolute;left:0;right:0;top:22px;height:0.5px;background:var(--border-2);z-index:0}\n.ptm-ph-block{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}\n.ptm-ph-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--green);background:var(--ink);margin-bottom:8px;flex-shrink:0}\n.ptm-ph-block.built .ptm-ph-dot{background:var(--green-2);border-color:var(--green-2)}\n.ptm-ph-block.active .ptm-ph-dot{background:var(--green);border-color:var(--green)}\n.ptm-ph-month{font-family:var(--mono);font-size:9px;color:var(--cream-3);letter-spacing:0.08em;margin-bottom:3px}\n.ptm-ph-label{font-size:9px;color:var(--cream-3);text-align:center;line-height:1.4;padding:0 2px}\n.ptm-ph-label strong{display:block;color:var(--cream-2);font-size:9px}\n.ptm-milestone-row{display:flex;justify-content:space-between;margin-top:22px;gap:6px}\n.ptm-milestone{background:var(--surface-2);border:0.5px solid var(--border);border-radius:var(--radius);padding:8px 12px;flex:1;text-align:center}\n.ptm-ms-time{font-family:var(--mono);font-size:9px;color:var(--green);letter-spacing:0.1em;margin-bottom:3px}\n.ptm-ms-text{font-size:10px;color:var(--cream-2);line-height:1.4}\n\n\/* \u2500\u2500 Tracks \u2500\u2500 *\/\n.ptm-tracks{padding:100px 0;background:linear-gradient(180deg,var(--ink) 0%,var(--surface) 100%);border-top:0.5px solid var(--border)}\n.ptm-tracks-header{margin-bottom:56px}\n.ptm-tracks-header h2{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:400;color:var(--cream);margin-bottom:10px;letter-spacing:-0.01em;max-width:580px}\n.ptm-tracks-header h2 em{font-style:normal;color:var(--green-pale)}\n.ptm-tracks-header p{font-size:13px;color:var(--cream-3);line-height:1.7;max-width:460px}\n.ptm-tracks-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}\n\n\/* \u2500\u2500 Track card \u2500\u2500 *\/\n.ptm-track-card{background:var(--surface-2);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:20px 16px;cursor:pointer;transition:all 0.25s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:300px;text-decoration:none}\n.ptm-track-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity 0.2s;background:var(--tc,#dfe5ff)}\n.ptm-track-card.ptm-enrolled{background:linear-gradient(180deg,rgba(255,255,255,0.075) 0%,rgba(255,255,255,0.035) 100%),var(--surface-2);border-color:rgba(223,229,255,0.34);box-shadow:0 18px 40px rgba(0,0,0,0.18)}\n.ptm-track-card.ptm-enrolled::before{opacity:1}\n.ptm-track-card.ptm-not-enrolled{background:rgba(255,255,255,0.018);border-color:rgba(255,255,255,0.055);box-shadow:none;filter:saturate(0.18);cursor:default}\n.ptm-track-card.ptm-not-enrolled::before{opacity:0!important}\n.ptm-track-card.ptm-not-enrolled:hover{transform:none!important;border-color:rgba(255,255,255,0.055)}\n.ptm-track-card.ptm-not-enrolled .ptm-track-icon{background:rgba(255,255,255,0.035)!important;color:rgba(255,255,255,0.34)!important;border-color:rgba(255,255,255,0.05);opacity:0.65}\n.ptm-track-card.ptm-not-enrolled .ptm-track-id{color:rgba(255,255,255,0.28)!important}\n.ptm-track-card.ptm-not-enrolled .ptm-track-name{color:rgba(255,255,255,0.46)}\n.ptm-track-card.ptm-not-enrolled .ptm-track-desc{color:rgba(255,255,255,0.30)}\n.ptm-track-card.ptm-not-enrolled .ptm-track-footer{border-top-color:rgba(255,255,255,0.05)}\n.ptm-track-card.ptm-not-enrolled .ptm-track-count,.ptm-track-card.ptm-not-enrolled .ptm-track-arrow{color:rgba(255,255,255,0.28)!important}\n.ptm-track-card:not(.ptm-not-enrolled):hover{transform:translateY(-5px);border-color:rgba(223,229,255,0.46);box-shadow:0 22px 48px rgba(0,0,0,0.24)}\n.ptm-track-card:not(.ptm-not-enrolled):hover::before{opacity:1}\n.ptm-track-icon{width:34px;height:34px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:14px;border:0.5px solid rgba(255,255,255,0.06);flex-shrink:0}\n.ptm-track-id{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px}\n.ptm-track-name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--cream);line-height:1.25;margin-bottom:8px;letter-spacing:-0.01em}\n.ptm-track-desc{font-size:10.5px;color:var(--cream-3);line-height:1.65;flex:1;margin-bottom:14px}\n\n\/* Enrollment state badges *\/\n.ptm-enroll-state{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:8px;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;margin-bottom:10px;width:fit-content}\n.ptm-state-enrolled{background:rgba(223,229,255,0.18);color:#ffffff;border:0.5px solid rgba(223,229,255,0.26)}\n.ptm-state-not-enrolled{background:rgba(255,255,255,0.035);color:rgba(255,255,255,0.34);border:0.5px solid rgba(255,255,255,0.05)}\n.ptm-state-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}\n\n\/* Progress bar on card *\/\n.ptm-card-prog{margin-bottom:10px}\n.ptm-card-prog-row{display:flex;justify-content:space-between;font-size:9px;color:var(--cream-3);margin-bottom:4px;font-family:var(--mono)}\n.ptm-card-prog-bar{height:2px;background:rgba(255,255,255,0.08);border-radius:2px}\n.ptm-card-prog-fill{height:2px;border-radius:2px;transition:width 0.6s ease}\n\n.ptm-track-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:0.5px solid var(--border);margin-top:auto}\n.ptm-track-count{font-family:var(--mono);font-size:9px;color:var(--cream-3)}\n.ptm-track-count span{font-size:13px;font-weight:500}\n.ptm-track-arrow{width:24px;height:24px;border-radius:50%;border:0.5px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--cream-3);font-size:11px;transition:background 0.2s,color 0.2s,border-color 0.2s}\n.ptm-track-card.ptm-enrolled:hover .ptm-track-arrow{background:var(--tc,#dfe5ff);color:#fff;border-color:var(--tc,#dfe5ff)}\n\n\/* \u2500\u2500 Modal \u2500\u2500 *\/\n.ptm-modal-ov{position:fixed;inset:0;z-index:9999;background:rgba(8,13,43,0.92);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease;padding:24px}\n.ptm-modal-ov.open{opacity:1;pointer-events:all}\n.ptm-modal{background:var(--surface);border:0.5px solid var(--border-2);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:82vh;overflow-y:auto;transform:translateY(18px) scale(0.97);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}\n.ptm-modal-ov.open .ptm-modal{transform:translateY(0) scale(1)}\n.ptm-modal-hd{padding:24px 28px 18px;border-bottom:0.5px solid var(--border);position:sticky;top:0;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}\n.ptm-modal-hd-left{flex:1}\n.ptm-modal-track-id{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px}\n.ptm-modal-title{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--cream);line-height:1.2;letter-spacing:-0.01em}\n.ptm-modal-close{width:30px;height:30px;border-radius:50%;border:0.5px solid var(--border-2);background:none;color:var(--cream-3);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s}\n.ptm-modal-close:hover{background:var(--border);color:var(--cream)}\n.ptm-modal-body{padding:24px 28px 28px}\n.ptm-modal-prog-block{background:rgba(255,255,255,0.03);border:0.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:20px;display:flex;align-items:center;gap:16px}\n.ptm-modal-pct{font-family:var(--serif);font-size:36px;font-weight:300;color:var(--green-2);line-height:1;flex-shrink:0}\n.ptm-modal-prog-detail{flex:1}\n.ptm-modal-prog-label{font-size:12px;color:var(--cream-2);margin-bottom:6px}\n.ptm-modal-prog-bar{height:4px;background:rgba(255,255,255,0.08);border-radius:2px}\n.ptm-modal-prog-fill{height:4px;border-radius:2px;transition:width 0.5s ease}\n.ptm-modal-mods-label{font-family:var(--mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream-3);margin-bottom:10px}\n.ptm-modal-mod-list{display:flex;flex-direction:column;gap:6px}\n.ptm-modal-mod{display:flex;align-items:flex-start;gap:10px;background:rgba(255,255,255,0.03);border:0.5px solid var(--border);border-radius:var(--radius);padding:10px 12px;transition:border-color 0.2s,background 0.2s;color:inherit}\n.ptm-modal-mod.ptm-mod-link{cursor:pointer}\n.ptm-modal-mod.ptm-mod-link:hover{border-color:var(--green-2);background:rgba(255,255,255,0.08)}\n.ptm-modal-mod.ptm-mod-link:hover .ptm-mm-arrow{color:var(--green-2);transform:translateX(2px)}\n.ptm-mm-arrow{font-size:14px;color:var(--cream-3);flex-shrink:0;margin-top:1px;transition:transform 0.15s,color 0.15s}\n.ptm-modal-mod.done{border-color:rgba(255,255,255,0.24);background:rgba(255,255,255,0.045)}\n.ptm-modal-mod.not-built{opacity:0.45}\n.ptm-mm-cb{width:16px;height:16px;border-radius:3px;border:1.5px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;margin-top:2px;background:rgba(255,255,255,0.03)}\n.ptm-modal-mod.done .ptm-mm-cb{background:var(--flowise-navy-3);border-color:var(--flowise-navy-3);color:#fff}\n.ptm-mm-info{flex:1}\n.ptm-mm-title{font-size:12px;font-weight:600;color:var(--cream);margin-bottom:2px;line-height:1.3}\n.ptm-modal-mod.done .ptm-mm-title{color:#dfe5ff}\n.ptm-mm-sub{font-size:10px;color:var(--cream-3);line-height:1.5}\n.ptm-mm-date{font-size:9px;color:var(--green-2);font-style:italic;margin-top:2px}\n.ptm-mm-phase{display:inline-block;font-size:8px;font-weight:500;padding:1px 5px;border-radius:2px;margin-right:4px}\n.ptm-phase-Foundation{background:rgba(142,160,255,0.20);color:#bfc9ff}\n.ptm-phase-Core{background:rgba(191,201,255,0.20);color:#dfe5ff}\n.ptm-phase-Applied{background:rgba(200,130,26,0.2);color:#FAC775}\n.ptm-phase-Advanced{background:rgba(192,78,40,0.2);color:#F5C4B3}\n.ptm-mm-dur{font-family:var(--mono);font-size:9px;color:var(--cream-3);flex-shrink:0;margin-top:3px}\n.ptm-modal-not-enrolled{padding:20px;text-align:center;background:rgba(255,255,255,0.02);border-radius:var(--radius);border:0.5px solid var(--border)}\n.ptm-modal-not-enrolled p{font-size:13px;color:var(--cream-2);line-height:1.7;margin-bottom:10px}\n.ptm-modal-not-enrolled a{color:var(--green-2);font-size:12px}\n.ptm-modal-actions{margin-top:20px;padding-top:16px;border-top:0.5px solid var(--border);display:flex;gap:10px;flex-wrap:wrap}\n\n\/* \u2500\u2500 Login prompt \u2500\u2500 *\/\n.ptm-login-prompt{background:rgba(200,130,26,0.1);border:0.5px solid rgba(200,130,26,0.25);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--cream-2)}\n.ptm-login-prompt a{color:var(--amber);font-weight:500;text-decoration:none}\n.ptm-login-prompt a:hover{text-decoration:underline}\n.ptm-login-prompt.ptm-hidden{display:none}\n\n\/* \u2500\u2500 Reveal animations \u2500\u2500 *\/\n.ptm-reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}\n.ptm-reveal.visible{opacity:1;transform:none}\n.ptm-stagger>*{opacity:0;transform:translateY(14px);transition:opacity 0.5s ease,transform 0.5s ease}\n.ptm-stagger.visible>*:nth-child(1){opacity:1;transform:none;transition-delay:0s}\n.ptm-stagger.visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.07s}\n.ptm-stagger.visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.14s}\n.ptm-stagger.visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.21s}\n.ptm-stagger.visible>*:nth-child(5){opacity:1;transform:none;transition-delay:.28s}\n.ptm-stagger.visible>*:nth-child(6){opacity:1;transform:none;transition-delay:.35s}\n.ptm-stagger.visible>*:nth-child(7){opacity:1;transform:none;transition-delay:.42s}\n@media(max-width:760px){.ptm-return-notice{padding:12px 24px}.ptm-hero{padding:72px 0 64px}.ptm-hero-inner,.ptm-wrap-inner{padding:0 24px}.ptm-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.ptm-stat,.ptm-stat:last-child,.ptm-stat:not(:first-child):not(:last-child){border-right:none;padding:0}.ptm-about-grid{grid-template-columns:1fr;gap:32px}.ptm-tracks-grid{grid-template-columns:1fr}}\n<\/style>\n\n<div class=\"ptm-lp\">\n\n<!-- Status bar (logged in users only) -->\n\n\n<!-- Hero -->\n<section class=\"ptm-hero\" id=\"ptm-top\">\n  <div class=\"ptm-hero-bg\"><\/div>\n  <svg class=\"ptm-hero-botanical\" viewBox=\"0 0 400 400\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n    <circle cx=\"200\" cy=\"200\" r=\"180\" stroke=\"white\" stroke-width=\"0.5\"\/>\n    <circle cx=\"200\" cy=\"200\" r=\"120\" stroke=\"white\" stroke-width=\"0.5\"\/>\n    <path d=\"M200 20 Q280 110 200 200 Q120 290 200 380\" stroke=\"white\" stroke-width=\"0.5\"\/>\n    <path d=\"M20 200 Q110 120 200 200 Q290 280 380 200\" stroke=\"white\" stroke-width=\"0.5\"\/>\n    <ellipse cx=\"200\" cy=\"200\" rx=\"60\" ry=\"180\" stroke=\"white\" stroke-width=\"0.4\" transform=\"rotate(30 200 200)\"\/>\n    <ellipse cx=\"200\" cy=\"200\" rx=\"60\" ry=\"180\" stroke=\"white\" stroke-width=\"0.4\" transform=\"rotate(60 200 200)\"\/>\n    <ellipse cx=\"200\" cy=\"200\" rx=\"60\" ry=\"180\" stroke=\"white\" stroke-width=\"0.4\" transform=\"rotate(90 200 200)\"\/>\n    <ellipse cx=\"200\" cy=\"200\" rx=\"60\" ry=\"180\" stroke=\"white\" stroke-width=\"0.4\" transform=\"rotate(120 200 200)\"\/>\n    <ellipse cx=\"200\" cy=\"200\" rx=\"60\" ry=\"180\" stroke=\"white\" stroke-width=\"0.4\" transform=\"rotate(150 200 200)\"\/>\n    <circle cx=\"200\" cy=\"200\" r=\"8\" stroke=\"white\" stroke-width=\"0.5\"\/>\n    <circle cx=\"200\" cy=\"200\" r=\"2\" fill=\"white\"\/>\n  <\/svg>\n  <div class=\"ptm-hero-inner\">\n    <div class=\"ptm-eyebrow\">Head of Production \u2014 Onboarding Programme<\/div>\n    <div class=\"ptm-hero-title\"><em>Pharmaceutical<\/em><\/div>\n    <div class=\"ptm-hero-title2\">Cannabis Training<\/div>\n    <p class=\"ptm-hero-desc\">A structured 10-month knowledge transfer programme bridging expertise from conventional pharmaceutical manufacturing into pharmaceutical cannabis production.<\/p>\n    <div class=\"ptm-hero-actions\">\n      <a href=\"#ptm-tracks\" class=\"ptm-btn-p\">\u2193 Explore training tracks<\/a>\n              <a href=\"#ptm-about\" class=\"ptm-btn-g\">About the programme<\/a>\n          <\/div>\n    <div class=\"ptm-hero-stats\">\n      <div class=\"ptm-stat\"><div class=\"ptm-stat-num\">28<\/div><div class=\"ptm-stat-label\">Interactive training<br>modules<\/div><\/div>\n      <div class=\"ptm-stat\"><div class=\"ptm-stat-num\">7<\/div><div class=\"ptm-stat-label\">Domain<br>tracks<\/div><\/div>\n      <div class=\"ptm-stat\"><div class=\"ptm-stat-num\">20+<\/div><div class=\"ptm-stat-label\">Hours of<br>structured content<\/div><\/div>\n      <div class=\"ptm-stat\"><div class=\"ptm-stat-num\">10<\/div><div class=\"ptm-stat-label\">Month pre-operational<br>programme<\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- About -->\n<section class=\"ptm-about ptm-section\" id=\"ptm-about\">\n  <div class=\"ptm-wrap-inner\">\n    <div class=\"ptm-about-grid\">\n      <div class=\"ptm-about-left ptm-reveal\">\n        <div class=\"ptm-sec-label\">About the programme<\/div>\n        <h2>Built for pharma professionals entering <span>a new frontier<\/span><\/h2>\n        <p>This curriculum targets exclusively the genuine knowledge gaps between conventional pharmaceutical manufacturing and pharmaceutical cannabis \u2014 it does not repeat what you already know.<\/p>\n        <p>Delivered during the facility's construction window \u2014 the best training opportunity available, when there is space to build knowledge, systems, and culture before live operations begin.<\/p>\n        <div class=\"ptm-transfer-block\">\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-tr\">Transfers<\/span><span style=\"color:var(--teal)\">\u2713<\/span> GMP documentation culture & quality systems<\/div>\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-tr\">Transfers<\/span><span style=\"color:var(--teal)\">\u2713<\/span> Equipment qualification (IQ\/OQ\/PQ)<\/div>\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-tr\">Transfers<\/span><span style=\"color:var(--teal)\">\u2713<\/span> CAPA, deviation management & audit readiness<\/div>\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-new\">New<\/span><span style=\"color:var(--amber)\">\u25c6<\/span> The starting material is a living organism<\/div>\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-new\">New<\/span><span style=\"color:var(--amber)\">\u25c6<\/span> Extraction & post-processing science<\/div>\n          <div class=\"ptm-tr-row\"><span class=\"ptm-tr-tag ptm-tag-new\">New<\/span><span style=\"color:var(--amber)\">\u25c6<\/span> Narcotic controls & dual-authority compliance<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ptm-reveal\">\n        <div class=\"ptm-principle\"><div class=\"ptm-prin-num\">01<\/div><div class=\"ptm-prin-title\">You are now the API manufacturer<\/div><div class=\"ptm-prin-desc\">In conventional pharma, your API arrives characterised and certified. In pharmaceutical cannabis, you grow it. Every cultivation decision is an API quality decision.<\/div><\/div>\n        <div class=\"ptm-principle\"><div class=\"ptm-prin-num\">02<\/div><div class=\"ptm-prin-title\">Biology will humble even the most experienced pharma professional<\/div><div class=\"ptm-prin-desc\">Production cycles are fixed by plant biology, not machine capacity. Environmental deviations affect API composition. Approach cultivation with genuine humility.<\/div><\/div>\n        <div class=\"ptm-principle\"><div class=\"ptm-prin-num\">03<\/div><div class=\"ptm-prin-title\">The regulations are still being written<\/div><div class=\"ptm-prin-desc\">Unlike conventional pharma where guidance is stable, pharmaceutical cannabis regulations are actively evolving. Regulatory horizon scanning is a continuous responsibility.<\/div><\/div>\n        <div class=\"ptm-principle\"><div class=\"ptm-prin-num\">04<\/div><div class=\"ptm-prin-title\">Build the systems now, while there is space<\/div><div class=\"ptm-prin-desc\">The construction window is the single best training opportunity available. SOPs, VMP, and team competency frameworks should be well advanced before first harvest.<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- Timeline -->\n<section class=\"ptm-timeline ptm-section\" id=\"ptm-programme\">\n  <div class=\"ptm-wrap-inner\">\n    <div class=\"ptm-tl-header ptm-reveal\">\n      <div class=\"ptm-sec-label\" style=\"justify-content:center\">10-month programme<\/div>\n      <h2>From onboarding to first harvest<\/h2>\n      <p>Sequenced to front-load the largest knowledge gaps and build operational readiness in parallel with facility commissioning.<\/p>\n    <\/div>\n    <div class=\"ptm-reveal\">\n      <div class=\"ptm-tl-track\">\n                <div class=\"ptm-ph-block built\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M1<\/div>\n          <div class=\"ptm-ph-label\"><strong>Foundation<\/strong>Regulatory &amp; cultivation foundations<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M2<\/div>\n          <div class=\"ptm-ph-label\"><strong>Core<\/strong>Extraction theory &amp; analytical science<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M3<\/div>\n          <div class=\"ptm-ph-label\"><strong>Core<\/strong>IPM strategy &amp; quality systems<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M4<\/div>\n          <div class=\"ptm-ph-label\"><strong>Core<\/strong>Cultivation cycle planning<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M5<\/div>\n          <div class=\"ptm-ph-label\"><strong>Applied<\/strong>VMP sign-off &amp; validation<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M6<\/div>\n          <div class=\"ptm-ph-label\"><strong>Applied<\/strong>SOP library completion<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M7<\/div>\n          <div class=\"ptm-ph-label\"><strong>Applied<\/strong>Equipment commissioning<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M8<\/div>\n          <div class=\"ptm-ph-label\"><strong>Advanced<\/strong>Team recruitment &amp; qualification<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M9<\/div>\n          <div class=\"ptm-ph-label\"><strong>Advanced<\/strong>Mock audit &amp; dress rehearsal<\/div>\n        <\/div>\n                <div class=\"ptm-ph-block active\">\n          <div class=\"ptm-ph-dot\"><\/div>\n          <div class=\"ptm-ph-month\">M10<\/div>\n          <div class=\"ptm-ph-label\"><strong>Advanced<\/strong>First harvest ready<\/div>\n        <\/div>\n              <\/div>\n      <div class=\"ptm-milestone-row\">\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 2<\/div><div class=\"ptm-ms-text\">Regulatory matrix complete<\/div><\/div>\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 4<\/div><div class=\"ptm-ms-text\">Cultivation SOPs approved<\/div><\/div>\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 5<\/div><div class=\"ptm-ms-text\">Validation master plan<\/div><\/div>\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 6<\/div><div class=\"ptm-ms-text\">Extraction SOPs complete<\/div><\/div>\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 8<\/div><div class=\"ptm-ms-text\">Full team qualified<\/div><\/div>\n                <div class=\"ptm-milestone\"><div class=\"ptm-ms-time\">Month 10<\/div><div class=\"ptm-ms-text\">First harvest ready<\/div><\/div>\n              <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- Tracks -->\n<section class=\"ptm-tracks ptm-section\" id=\"ptm-tracks\">\n  <div class=\"ptm-wrap-inner\">\n    <div class=\"ptm-tracks-header ptm-reveal\">\n      <div class=\"ptm-sec-label\">Training tracks<\/div>\n      <h2>Seven domains.<br><em>Select your track.<\/em><\/h2>\n      <p>\n                  Log in to see your enrolled tracks and progress. Click any track to view its modules.\n              <\/p>\n    <\/div>\n\n        <div class=\"ptm-login-prompt ptm-reveal\">\n      <span style=\"font-size:18px\">\ud83d\udd11<\/span>\n      <span>\n        <a href=\"https:\/\/flowise.gr\/wp-login.php?redirect_to=https%3A%2F%2Fflowise.gr%2Findex.php%2Ftraining-programme%2F\">Log in<\/a>\n        to see your enrolled tracks, progress, and access your training modules.\n      <\/span>\n    <\/div>\n    \n    <div class=\"ptm-tracks-grid ptm-stagger ptm-reveal\">\n        <div class=\"ptm-track-card \"\n         data-track=\"regulatory\"\n         style=\"--tc:#3B6D11\"\n         onclick=\"ptmOpenModal(&#039;regulatory&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#EAF3DE;color:#3B6D11\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><rect x=\"3\" y=\"2\" width=\"12\" height=\"14\" rx=\"1.5\" stroke=\"currentColor\" stroke-width=\"1.2\"\/><path d=\"M6 6h6M6 9h6M6 12h4\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#3B6D11\">Track 01<\/div>\n      <div class=\"ptm-track-name\">Regulatory &amp; Compliance<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"cultivation\"\n         style=\"--tc:#085041\"\n         onclick=\"ptmOpenModal(&#039;cultivation&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#E1F5EE;color:#085041\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M9 15V8M9 8C9 8 5 7 4 3c2 0 4 1 5 5zM9 8C9 8 13 7 14 3c-2 0-4 1-5 5z\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#085041\">Track 02<\/div>\n      <div class=\"ptm-track-name\">Cultivation Science<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"extraction\"\n         style=\"--tc:#633806\"\n         onclick=\"ptmOpenModal(&#039;extraction&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#FAEEDA;color:#633806\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M6 2h6l1 5H5L6 2z\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linejoin=\"round\"\/><path d=\"M5 7v6a2 2 0 002 2h4a2 2 0 002-2V7\" stroke=\"currentColor\" stroke-width=\"1.2\"\/><path d=\"M7 11h4\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#633806\">Track 03<\/div>\n      <div class=\"ptm-track-name\">Extraction &amp; Processing<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"analytical\"\n         style=\"--tc:#0C447C\"\n         onclick=\"ptmOpenModal(&#039;analytical&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#E6F1FB;color:#0C447C\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M3 14l3-5 3 3 3-6 3 4\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><rect x=\"2\" y=\"2\" width=\"14\" height=\"12\" rx=\"1.5\" stroke=\"currentColor\" stroke-width=\"1.2\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#0C447C\">Track 04<\/div>\n      <div class=\"ptm-track-name\">Analytical Science &amp; QC<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"ipm\"\n         style=\"--tc:#712B13\"\n         onclick=\"ptmOpenModal(&#039;ipm&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#FAECE7;color:#712B13\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><circle cx=\"9\" cy=\"9\" r=\"6\" stroke=\"currentColor\" stroke-width=\"1.2\"\/><path d=\"M9 6v3l2 2\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><path d=\"M5 4l1.5 1.5M13 4l-1.5 1.5M4 9H2M16 9h-2\" stroke=\"currentColor\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#712B13\">Track 05<\/div>\n      <div class=\"ptm-track-name\">IPM &amp; Contamination Control<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"quality\"\n         style=\"--tc:#3C3489\"\n         onclick=\"ptmOpenModal(&#039;quality&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#EEEDFE;color:#3C3489\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M9 2l1.5 4.5H15l-3.75 2.75L12.75 14 9 11.25 5.25 14l1.5-4.75L3 6.5h4.5L9 2z\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linejoin=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#3C3489\">Track 06<\/div>\n      <div class=\"ptm-track-name\">Quality Systems &amp; Documentation<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <div class=\"ptm-track-card \"\n         data-track=\"leadership\"\n         style=\"--tc:#444441\"\n         onclick=\"ptmOpenModal(&#039;leadership&#039;)\">\n\n      <div class=\"ptm-track-icon\" style=\"background:#F1EFE8;color:#444441\">\n        <svg viewBox=\"0 0 18 18\" fill=\"none\"><circle cx=\"9\" cy=\"6\" r=\"3\" stroke=\"currentColor\" stroke-width=\"1.2\"\/><path d=\"M3 16c0-3.314 2.686-5 6-5s6 1.686 6 5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>      <\/div>\n\n      <div class=\"ptm-track-id\" style=\"color:#444441\">Track 07<\/div>\n      <div class=\"ptm-track-name\">Leadership &amp; Operations<\/div>\n\n      \n      \n      <div class=\"ptm-track-footer\">\n        <div class=\"ptm-track-count\"><span>4<\/span> modules<\/div>\n                  <div class=\"ptm-track-arrow\">\u2192<\/div>\n              <\/div>\n    <\/div>\n        <\/div>\n\n    \n  <\/div>\n<\/section>\n\n<\/div><!-- .ptm-lp -->\n\n<!-- Modal -->\n<div class=\"ptm-modal-ov\" id=\"ptm-modal-ov\" onclick=\"ptmCloseOnOverlay(event)\">\n  <div class=\"ptm-modal\" id=\"ptm-modal\">\n    <div class=\"ptm-modal-hd\">\n      <div class=\"ptm-modal-hd-left\">\n        <div class=\"ptm-modal-track-id\" id=\"ptm-modal-id\"><\/div>\n        <div class=\"ptm-modal-title\" id=\"ptm-modal-title\"><\/div>\n      <\/div>\n      <button class=\"ptm-modal-close\" onclick=\"ptmCloseModal()\">\u2715<\/button>\n    <\/div>\n    <div class=\"ptm-modal-body\" id=\"ptm-modal-body\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst PTM_TRACKS   = {\"regulatory\":{\"name\":\"Regulatory & Compliance\",\"color\":\"#3B6D11\",\"bg\":\"#EAF3DE\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"gacp\",\"title\":\"GACP Regulatory Framework\",\"phase\":\"Foundation\",\"duration\":\"90 min\",\"built\":true,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"https:\\\/\\\/flowise.gr\\\/index.php\\\/gacp-good-agricultural-collection-practices\\\/\"},{\"slug\":\"reg-landscape\",\"title\":\"Pharmaceutical Cannabis Regulatory Landscape\",\"phase\":\"Core\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"narcotic-ctrl\",\"title\":\"Narcotic Controls & Scheduling\",\"phase\":\"Applied\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"insp-readiness\",\"title\":\"Regulatory Inspection Readiness\",\"phase\":\"Advanced\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"cultivation\":{\"name\":\"Cultivation Science\",\"color\":\"#085041\",\"bg\":\"#E1F5EE\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"botany\",\"title\":\"Cannabis Botany & Growth Cycle Biology\",\"phase\":\"Foundation\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"env-ctrl\",\"title\":\"Environmental Controls\",\"phase\":\"Core\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"chemovar\",\"title\":\"Chemovar Genetics & Phenotype Selection\",\"phase\":\"Applied\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"cycle-plan\",\"title\":\"Cultivation Cycle Planning & Yield Forecasting\",\"phase\":\"Advanced\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"extraction\":{\"name\":\"Extraction & Processing\",\"color\":\"#633806\",\"bg\":\"#FAEEDA\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"harvest\",\"title\":\"Harvest & Post-Harvest Handling\",\"phase\":\"Foundation\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"extraction\",\"title\":\"Extraction Technology Fundamentals\",\"phase\":\"Core\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"decarb\",\"title\":\"Decarboxylation \\u2014 Process & Validation\",\"phase\":\"Applied\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"distillation\",\"title\":\"Distillation, Purification & Formulation\",\"phase\":\"Advanced\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"analytical\":{\"name\":\"Analytical Science & QC\",\"color\":\"#0C447C\",\"bg\":\"#E6F1FB\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"coa\",\"title\":\"CoA Literacy \\u2014 Cannabinoid & Terpene Profiling\",\"phase\":\"Foundation\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"contaminant\",\"title\":\"Contaminant Testing\",\"phase\":\"Core\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"spec-oos\",\"title\":\"Specification Setting & OOS Management\",\"phase\":\"Applied\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"stability\",\"title\":\"Stability Testing for Cannabis Products\",\"phase\":\"Advanced\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"ipm\":{\"name\":\"IPM & Contamination Control\",\"color\":\"#712B13\",\"bg\":\"#FAECE7\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"ipm-principles\",\"title\":\"IPM Principles & Pharmaceutical-Grade Strategy\",\"phase\":\"Foundation\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"biocontrol\",\"title\":\"Biological Control Agents\",\"phase\":\"Core\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"pathogens\",\"title\":\"Primary Cannabis Pathogens\",\"phase\":\"Applied\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"risk-mapping\",\"title\":\"Contamination Risk Mapping & Environmental Monitoring\",\"phase\":\"Advanced\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"quality\":{\"name\":\"Quality Systems & Documentation\",\"color\":\"#3C3489\",\"bg\":\"#EEEDFE\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"qms-arch\",\"title\":\"QMS Architecture \\u2014 Dual Compliance\",\"phase\":\"Foundation\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"sop-dev\",\"title\":\"SOP Development for Cultivation & Post-Harvest\",\"phase\":\"Core\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"vmp\",\"title\":\"Validation Master Plan & Equipment Qualification\",\"phase\":\"Applied\",\"duration\":\"90 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"capa\",\"title\":\"CAPA, Deviations & Batch Release\",\"phase\":\"Advanced\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"},\"leadership\":{\"name\":\"Leadership & Operations\",\"color\":\"#444441\",\"bg\":\"#F1EFE8\",\"enrolled\":false,\"progress\":{\"total\":4,\"completed\":0,\"pct\":0},\"modules\":[{\"slug\":\"competency\",\"title\":\"Competency Framework Development\",\"phase\":\"Foundation\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"staff-train\",\"title\":\"Staff Training & Qualification Cascades\",\"phase\":\"Core\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"scheduling\",\"title\":\"Production Scheduling & Capacity Planning\",\"phase\":\"Applied\",\"duration\":\"60 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"},{\"slug\":\"lean\",\"title\":\"Lean Manufacturing in Pharmaceutical Cannabis\",\"phase\":\"Advanced\",\"duration\":\"75 min\",\"built\":false,\"done\":false,\"comp_date\":\"\",\"score\":null,\"url\":\"\"}],\"next_url\":\"\"}};\nconst PTM_LOGGED_IN = false;\nconst PTM_DASHBOARD = \"\";\nconst PTM_CONTACT   = \"mkaragiovanidis@gmail.com\";\nconst PTM_AJAX      = \"https:\\\/\\\/flowise.gr\\\/wp-admin\\\/admin-ajax.php\";\nconst PTM_LANDING_NONCE = \"86b27df51d\";\n\n\nfunction ptmApplyLandingProgress(payload) {\n  if (!payload || !payload.tracks) return;\n\n  if (payload.overall) {\n    const modulesText = document.getElementById('ptm-status-modules');\n    const statusFill  = document.getElementById('ptm-status-progress-fill');\n    const statusPct   = document.getElementById('ptm-status-progress-pct');\n\n    if (modulesText) modulesText.textContent = `${payload.overall.completed}\/${payload.overall.total} modules`;\n    if (statusFill) statusFill.style.width = `${payload.overall.pct}%`;\n    if (statusPct) statusPct.textContent = `${payload.overall.pct}%`;\n  }\n\n  Object.keys(payload.tracks).forEach(slug => {\n    const fresh = payload.tracks[slug];\n    const track = PTM_TRACKS[slug];\n    if (!track || !fresh) return;\n\n    track.enrolled = fresh.enrolled;\n    track.progress = fresh.progress;\n    track.modules  = fresh.modules;\n    track.next_url = fresh.next_url;\n\n    const prog = fresh.progress || { completed: 0, total: 0, pct: 0 };\n    const countEl = document.getElementById('ptm-card-progress-count-' + slug);\n    const pctEl   = document.getElementById('ptm-card-progress-pct-' + slug);\n    const fillEl  = document.getElementById('ptm-card-progress-fill-' + slug);\n    const arrowEl = document.getElementById('ptm-track-arrow-' + slug);\n\n    if (countEl) countEl.textContent = `${prog.completed}\/${prog.total} modules`;\n    if (pctEl) pctEl.textContent = `${prog.pct}%`;\n    if (fillEl) fillEl.style.width = `${prog.pct}%`;\n    if (arrowEl) arrowEl.textContent = prog.pct >= 100 ? '\u2713' : '\u2192';\n  });\n}\n\nfunction ptmRefreshLandingProgress() {\n  if (!PTM_LOGGED_IN || !PTM_AJAX || !PTM_LANDING_NONCE) return;\n\n  fetch(PTM_AJAX, {\n    method: 'POST',\n    credentials: 'same-origin',\n    cache: 'no-store',\n    headers: {'Content-Type':'application\/x-www-form-urlencoded'},\n    body: new URLSearchParams({\n      action: 'ptm_landing_progress',\n      nonce: PTM_LANDING_NONCE\n    })\n  })\n  .then(r => r.json())\n  .then(data => {\n    if (data && data.success && data.data) {\n      ptmApplyLandingProgress(data.data);\n    }\n  })\n  .catch(() => {});\n}\n\nfunction ptmOpenModal(slug) {\n  const track = PTM_TRACKS[slug];\n  if (!track) return;\n\n  const trackNums = Object.keys(PTM_TRACKS);\n  const trackNum  = trackNums.indexOf(slug) + 1;\n\n  document.getElementById('ptm-modal-id').textContent  = 'Track 0' + trackNum;\n  document.getElementById('ptm-modal-id').style.color  = track.color;\n  document.getElementById('ptm-modal-title').textContent = track.name;\n\n  const body   = document.getElementById('ptm-modal-body');\n  const prog   = track.progress;\n  const enrolled = track.enrolled;\n\n  let html = '';\n\n  if (PTM_LOGGED_IN && enrolled) {\n    \/\/ Progress block\n    html += `<div class=\"ptm-modal-prog-block\">\n      <div class=\"ptm-modal-pct\" style=\"color:${track.color}\">${prog.pct}%<\/div>\n      <div class=\"ptm-modal-prog-detail\">\n        <div class=\"ptm-modal-prog-label\">${prog.completed} of ${prog.total} modules complete<\/div>\n        <div class=\"ptm-modal-prog-bar\">\n          <div class=\"ptm-modal-prog-fill\" style=\"width:${prog.pct}%;background:${track.color}\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>`;\n  }\n\n  html += `<div class=\"ptm-modal-mods-label\">Modules in this track<\/div>`;\n  html += `<div class=\"ptm-modal-mod-list\">`;\n\n  track.modules.forEach((m, i) => {\n    const doneClass    = m.done ? 'done' : '';\n    const builtClass   = !m.built ? 'not-built' : '';\n    const phaseClass   = 'ptm-phase-' + m.phase;\n    const dateStr      = m.done && m.comp_date ? `<div class=\"ptm-mm-date\">Completed ${m.comp_date}${m.score != null ? ' \u00b7 Score: ' + m.score + '%' : ''}<\/div>` : '';\n    const notBuiltNote = !m.built ? ' \u00b7 <em>Coming soon<\/em>' : '';\n    const noUrlNote    = m.built && !m.url ? ' \u00b7 <em>Module URL not configured<\/em>' : '';\n    const isClickable  = !!m.url;\n    const wrapperOpen  = isClickable\n        ? `<a href=\"${m.url}\" class=\"ptm-modal-mod ${doneClass} ${builtClass} ptm-mod-link\" style=\"text-decoration:none;\">`\n        : `<div class=\"ptm-modal-mod ${doneClass} ${builtClass}\">`;\n    const wrapperClose = isClickable ? '<\/a>' : '<\/div>';\n    const arrow        = isClickable ? '<div class=\"ptm-mm-arrow\">\u2192<\/div>' : '';\n\n    html += `${wrapperOpen}\n      <div class=\"ptm-mm-cb\">${m.done ? '\u2713' : ''}<\/div>\n      <div class=\"ptm-mm-info\">\n        <div class=\"ptm-mm-title\">${m.title}<\/div>\n        <div class=\"ptm-mm-sub\">\n          <span class=\"ptm-mm-phase ${phaseClass}\">${m.phase}<\/span>\n          ${m.duration}${notBuiltNote}${noUrlNote}\n        <\/div>\n        ${dateStr}\n      <\/div>\n      ${arrow}\n    ${wrapperClose}`;\n  });\n  html += `<\/div>`;\n\n  \/\/ Not enrolled message\n  if (PTM_LOGGED_IN && !enrolled) {\n    html += `<div class=\"ptm-modal-not-enrolled\">\n      <p>You are not enrolled in this track. Contact your programme administrator to be assigned.<\/p>\n      ${PTM_CONTACT ? `<a href=\"mailto:${PTM_CONTACT}\">Email ${PTM_CONTACT}<\/a>` : ''}\n    <\/div>`;\n  }\n\n  if (!PTM_LOGGED_IN) {\n    html += `<div class=\"ptm-modal-not-enrolled\">\n      <p>Log in to see your enrollment status and module progress for this track.<\/p>\n      <a href=\"${document.querySelector('a[href*=\"wp-login\"]')?.href || '\/wp-login.php'}\">Log in to your account<\/a>\n    <\/div>`;\n  }\n\n  \/\/ Action buttons\n  html += `<div class=\"ptm-modal-actions\">`;\n  if (PTM_LOGGED_IN && enrolled) {\n    if (track.next_url) {\n      const label = prog.completed === 0 ? 'Start track \u2192' : prog.pct >= 100 ? 'Review track \u2192' : 'Continue where you left off \u2192';\n      html += `<a href=\"${track.next_url}\" class=\"ptm-btn-p\" style=\"font-size:12px;padding:9px 18px;\">${label}<\/a>`;\n    }\n    if (PTM_DASHBOARD) {\n      html += `<a href=\"${PTM_DASHBOARD}\" class=\"ptm-btn-g\" style=\"font-size:12px;padding:9px 16px;text-decoration:none;\">My dashboard<\/a>`;\n    }\n    if (!track.next_url && !PTM_DASHBOARD) {\n      html += `<span style=\"font-size:11px;color:var(--cream-3);font-style:italic;\">No module URLs configured yet<\/span>`;\n    }\n  }\n  html += `<button class=\"ptm-btn-g\" onclick=\"ptmCloseModal()\" style=\"font-size:12px;padding:9px 16px;\">Close<\/button>`;\n  html += `<\/div>`;\n\n  body.innerHTML = html;\n  document.getElementById('ptm-modal-ov').classList.add('open');\n  document.documentElement.style.overflow = 'hidden';\n}\n\nfunction ptmCloseModal() {\n  document.getElementById('ptm-modal-ov').classList.remove('open');\n  document.documentElement.style.overflow = '';\n}\nfunction ptmCloseOnOverlay(e) {\n  if (e.target === document.getElementById('ptm-modal-ov')) ptmCloseModal();\n}\ndocument.addEventListener('keydown', e => { if (e.key === 'Escape') ptmCloseModal(); });\n\n\/\/ Scroll reveal\nconst ptmObs = new IntersectionObserver((entries) => {\n  entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });\n}, { threshold: 0.07, rootMargin: '0px 0px -40px 0px' });\ndocument.querySelectorAll('.ptm-reveal, .ptm-stagger').forEach(el => ptmObs.observe(el));\n\ndocument.addEventListener('DOMContentLoaded', ptmRefreshLandingProgress);\nwindow.addEventListener('pageshow', ptmRefreshLandingProgress);\ndocument.addEventListener('visibilitychange', () => {\n  if (!document.hidden) ptmRefreshLandingProgress();\n});\n<\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-1123","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/comments?post=1123"}],"version-history":[{"count":10,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1123\/revisions"}],"predecessor-version":[{"id":1141,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1123\/revisions\/1141"}],"wp:attachment":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/media?parent=1123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}