{"id":4673,"date":"2026-07-02T11:46:10","date_gmt":"2026-07-02T11:46:10","guid":{"rendered":"https:\/\/clusterar.com\/?page_id=4673"},"modified":"2026-07-05T22:56:39","modified_gmt":"2026-07-05T22:56:39","slug":"join-the-membership","status":"publish","type":"page","link":"https:\/\/clusterar.com\/en\/join-the-membership\/","title":{"rendered":"Join The Membership"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4673\" class=\"elementor elementor-4673\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-befa4b0 e-flex e-con-boxed e-con e-parent\" data-id=\"befa4b0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34b0ce0 elementor-widget elementor-widget-html\" data-id=\"34b0ce0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Jost:wght@300;400;500;600;700;800;900&family=League+Spartan:wght@700;800;900&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESET & BASE\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n:root {\r\n  --blue:    #5563FF;\r\n  --purple:  #7A39FF;\r\n  --green:   #22D58F;\r\n  --navy:    #0D1B4B;\r\n  --light:   #F5F7FF;\r\n  --border:  #E8ECF8;\r\n  --muted:   #8A9BC0;\r\n  --text:    #0D1B4B;\r\n  --grad:    linear-gradient(90deg, #22D58F 0%, #5563FF 60%, #7A39FF 100%);\r\n  --shadow:  0 2px 16px rgba(13,27,75,0.07);\r\n}\r\n\r\nhtml { scroll-behavior: smooth; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 EDITABLE CONFIG \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   Change prices, dates, workshops here\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   TOP NAV \/ HEADER\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.reg-header {\r\n  background: var(--navy);\r\n  padding: 14px 40px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  position: sticky;\r\n  top: 0;\r\n  z-index: 100;\r\n  box-shadow: 0 2px 16px rgba(0,0,0,0.2);\r\n}\r\n\r\n.reg-header-logo {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 20px;\r\n  font-weight: 900;\r\n  color: #fff;\r\n  text-decoration: none;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n}\r\n\r\n.reg-header-logo span { color: var(--green); }\r\n\r\n.reg-header-secure {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  color: rgba(255,255,255,0.6);\r\n}\r\n\r\n.reg-header-event {\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  color: rgba(255,255,255,0.7);\r\n  text-align: right;\r\n}\r\n\r\n.reg-header-event strong {\r\n  display: block;\r\n  color: #fff;\r\n  font-size: 13px;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   PROGRESS STEPPER\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.reg-stepper-wrap {\r\n  background: #fff;\r\n  border-bottom: 1px solid var(--border);\r\n  padding: 0 40px;\r\n}\r\n\r\n.reg-stepper {\r\n  max-width: 900px;\r\n  margin: 0 auto;\r\n  display: flex;\r\n  align-items: stretch;\r\n}\r\n\r\n.reg-step {\r\n  flex: 1;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n  padding: 18px 16px;\r\n  position: relative;\r\n  cursor: default;\r\n}\r\n\r\n.reg-step:not(:last-child)::after {\r\n  content: '';\r\n  position: absolute;\r\n  right: 0;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  width: 1px;\r\n  height: 32px;\r\n  background: var(--border);\r\n}\r\n\r\n.reg-step-bubble {\r\n  width: 32px;\r\n  height: 32px;\r\n  border-radius: 50%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  flex-shrink: 0;\r\n  border: 2px solid var(--border);\r\n  color: var(--muted);\r\n  background: #fff;\r\n  transition: all 0.3s;\r\n}\r\n\r\n.reg-step.active .reg-step-bubble {\r\n  background: var(--grad);\r\n  border-color: transparent;\r\n  color: #fff;\r\n}\r\n\r\n.reg-step.done .reg-step-bubble {\r\n  background: var(--green);\r\n  border-color: transparent;\r\n  color: #fff;\r\n}\r\n\r\n.reg-step-text { display: flex; flex-direction: column; gap: 1px; }\r\n\r\n.reg-step-name {\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  color: var(--muted);\r\n  transition: color 0.3s;\r\n}\r\n\r\n.reg-step.active .reg-step-name,\r\n.reg-step.done .reg-step-name { color: var(--navy); }\r\n\r\n.reg-step-desc { font-size: 10.5px; color: var(--muted); }\r\n\r\n\/* Step progress bar *\/\r\n.reg-progress-bar {\r\n  height: 3px;\r\n  background: var(--border);\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n\r\n.reg-progress-fill {\r\n  height: 100%;\r\n  background: var(--grad);\r\n  transition: width 0.4s ease;\r\n  width: 0%;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   MAIN LAYOUT\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.reg-main {\r\n  max-width: 900px;\r\n  margin: 0 auto;\r\n  padding: 32px 24px 60px;\r\n  display: grid;\r\n  grid-template-columns: 1fr;\r\n  gap: 24px;\r\n  align-items: start;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CARDS \/ PANELS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.reg-card {\r\n  background: #fff;\r\n  border-radius: 18px;\r\n  box-shadow: var(--shadow);\r\n  overflow: hidden;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.reg-card-header {\r\n  padding: 20px 24px;\r\n  border-bottom: 1px solid var(--border);\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n}\r\n\r\n.reg-card-num {\r\n  width: 30px;\r\n  height: 30px;\r\n  border-radius: 50%;\r\n  background: var(--grad);\r\n  color: #fff;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.reg-card-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 16px;\r\n  font-weight: 800;\r\n  color: var(--navy);\r\n}\r\n\r\n.reg-card-sub { font-size: 12px; color: var(--muted); margin-top: 1px; }\r\n\r\n.reg-card-body { padding: 32px; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP CONTENT VISIBILITY\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.step-content { display: none; }\r\n.step-content.active { display: block; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP 1: Registration Type\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.type-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 24px;\r\n  margin-bottom: 40px;\r\n}\r\n\r\n.type-card {\r\n  border: 2.5px solid var(--border);\r\n  border-radius: 22px;\r\n  padding: 40px 32px 36px;\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n  position: relative;\r\n  background: #fff;\r\n}\r\n\r\n.type-card:hover {\r\n  border-color: var(--blue);\r\n  background: #F8F9FF;\r\n  box-shadow: 0 8px 28px rgba(85,99,255,0.1);\r\n  transform: translateY(-2px);\r\n}\r\n\r\n.type-card.selected {\r\n  border-color: var(--blue);\r\n  background: #F0F1FF;\r\n  box-shadow: 0 0 0 4px rgba(85,99,255,0.14);\r\n}\r\n\r\n.type-card.selected .check-badge { display: flex; }\r\n\r\n.check-badge {\r\n  display: none;\r\n  position: absolute;\r\n  top: 20px;\r\n  right: 20px;\r\n  width: 32px;\r\n  height: 32px;\r\n  border-radius: 50%;\r\n  background: var(--blue);\r\n  color: #fff;\r\n  font-size: 16px;\r\n  font-weight: 800;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n\r\n.type-icon {\r\n  width: 76px;\r\n  height: 76px;\r\n  border-radius: 18px;\r\n  background: #EEF0FF;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  margin-bottom: 24px;\r\n}\r\n\r\n.type-icon svg { width: 38px; height: 38px; }\r\n\r\n.type-name {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 24px;\r\n  font-weight: 800;\r\n  color: var(--navy);\r\n  margin-bottom: 12px;\r\n  line-height: 1.25;\r\n}\r\n\r\n.type-desc { font-size: 15.5px; color: var(--muted); line-height: 1.65; margin-bottom: 26px; }\r\n\r\n.price-block {\r\n  border-top: 2px solid var(--border);\r\n  padding-top: 22px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 9px;\r\n}\r\n\r\n.price-badge {\r\n  display: inline-block;\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  letter-spacing: 0.5px;\r\n  text-transform: uppercase;\r\n  color: var(--green);\r\n  background: #EDFAF4;\r\n  padding: 5px 14px;\r\n  border-radius: 20px;\r\n  margin-bottom: 4px;\r\n}\r\n\r\n.price-amount {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 52px;\r\n  font-weight: 900;\r\n  color: var(--navy);\r\n  letter-spacing: -1.5px;\r\n}\r\n\r\n.price-regular { font-size: 14px; color: var(--muted); }\r\n\r\n\/* Attendance *\/\r\n.att-section-title {\r\n  font-size: 16px;\r\n  font-weight: 700;\r\n  color: var(--navy);\r\n  margin-bottom: 16px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n\r\n.att-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\r\n\r\n.att-card {\r\n  border: 2.5px solid var(--border);\r\n  border-radius: 16px;\r\n  padding: 20px 22px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: flex-start;\r\n  gap: 14px;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.att-card:hover    { border-color: var(--blue); box-shadow: 0 6px 20px rgba(85,99,255,0.08); }\r\n.att-card.selected { border-color: var(--blue); background: #F0F1FF; }\r\n\r\n.att-radio {\r\n  width: 22px;\r\n  height: 22px;\r\n  border-radius: 50%;\r\n  border: 2.5px solid #D0D4E8;\r\n  flex-shrink: 0;\r\n  margin-top: 2px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.att-card.selected .att-radio {\r\n  border-color: var(--blue);\r\n  background: var(--blue);\r\n}\r\n\r\n.att-card.selected .att-radio::after {\r\n  content: '';\r\n  width: 8px;\r\n  height: 8px;\r\n  border-radius: 50%;\r\n  background: #fff;\r\n}\r\n\r\n.att-label { font-size: 16px; font-weight: 700; color: var(--navy); }\r\n.att-sub   { font-size: 13px; color: var(--muted); margin-top: 4px; line-height: 1.5; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP 2: Workshops (Dynamic)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.ws-grid { display: flex; flex-direction: column; gap: 16px; }\r\n\r\n.ws-card {\r\n  border: 2px solid var(--border);\r\n  border-radius: 14px;\r\n  padding: 18px 20px;\r\n  display: grid;\r\n  grid-template-columns: 60px 1fr auto;\r\n  gap: 16px;\r\n  align-items: start;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.ws-card.added { border-color: var(--blue); background: #F8F9FF; }\r\n\r\n.ws-icon {\r\n  width: 56px;\r\n  height: 56px;\r\n  border-radius: 12px;\r\n  background: linear-gradient(135deg, #EEF0FF, #E0E4F8);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n\r\n.ws-icon svg { width: 28px; height: 28px; }\r\n\r\n.ws-info { display: flex; flex-direction: column; gap: 6px; }\r\n\r\n.ws-name {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  color: var(--navy);\r\n}\r\n\r\n.ws-desc { font-size: 12.5px; color: var(--muted); line-height: 1.55; }\r\n\r\n.ws-meta {\r\n  display: flex;\r\n  flex-wrap: wrap;\r\n  gap: 12px;\r\n  font-size: 11px;\r\n  color: var(--muted);\r\n}\r\n\r\n.ws-meta span { display: flex; align-items: center; gap: 4px; }\r\n\r\n.ws-action { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; flex-shrink: 0; }\r\n\r\n.ws-price-early {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 22px;\r\n  font-weight: 900;\r\n  color: var(--navy);\r\n  letter-spacing: -0.5px;\r\n}\r\n\r\n.ws-price-reg { font-size: 11px; color: var(--muted); text-align: right; }\r\n\r\n.ws-add-btn {\r\n  padding: 9px 18px;\r\n  border-radius: 8px;\r\n  border: 2px solid var(--blue);\r\n  background: #fff;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 12.5px;\r\n  font-weight: 700;\r\n  color: var(--blue);\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n  white-space: nowrap;\r\n}\r\n\r\n.ws-add-btn:hover, .ws-add-btn.added {\r\n  background: var(--blue);\r\n  color: #fff;\r\n}\r\n\r\n.ws-skip-note {\r\n  text-align: center;\r\n  font-size: 12px;\r\n  color: var(--muted);\r\n  padding: 12px;\r\n  border-top: 1px solid var(--border);\r\n  margin-top: 8px;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP 3: Personal Details\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.form-grid {\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 14px;\r\n}\r\n\r\n.form-group { display: flex; flex-direction: column; gap: 5px; }\r\n.form-group.full { grid-column: 1 \/ -1; }\r\n\r\n.form-label {\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  color: var(--muted);\r\n  text-transform: uppercase;\r\n  letter-spacing: 0.5px;\r\n}\r\n\r\n.form-label .req { color: #FF3D71; }\r\n\r\n.form-control {\r\n  border: 1.5px solid var(--border);\r\n  border-radius: 10px;\r\n  padding: 11px 14px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 13.5px;\r\n  color: var(--navy);\r\n  outline: none;\r\n  transition: border-color 0.15s, box-shadow 0.15s;\r\n  background: #fff;\r\n  width: 100%;\r\n  appearance: none;\r\n}\r\n\r\n.form-control::placeholder { color: #BBBBCC; }\r\n\r\n.form-control:focus {\r\n  border-color: var(--blue);\r\n  box-shadow: 0 0 0 3px rgba(85,99,255,0.1);\r\n}\r\n\r\n.sel-wrap { position: relative; }\r\n\r\n.sel-wrap::after {\r\n  content: '\u25be';\r\n  position: absolute;\r\n  right: 13px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  color: var(--muted);\r\n  pointer-events: none;\r\n  font-size: 12px;\r\n}\r\n\r\n\/* Consent checkboxes *\/\r\n.consent-box {\r\n  background: var(--light);\r\n  border-radius: 12px;\r\n  padding: 16px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 12px;\r\n  margin-top: 4px;\r\n}\r\n\r\n.consent-row {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  gap: 10px;\r\n  font-size: 12.5px;\r\n  color: var(--muted);\r\n  line-height: 1.55;\r\n}\r\n\r\n.consent-row input[type=\"checkbox\"] {\r\n  width: 16px;\r\n  height: 16px;\r\n  accent-color: var(--blue);\r\n  flex-shrink: 0;\r\n  margin-top: 2px;\r\n  cursor: pointer;\r\n}\r\n\r\n.consent-row a {\r\n  color: var(--blue);\r\n  text-decoration: underline;\r\n  cursor: pointer;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP 4: Review\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.review-section { margin-bottom: 20px; }\r\n\r\n.review-section-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 12px;\r\n  font-weight: 800;\r\n  color: var(--muted);\r\n  letter-spacing: 2px;\r\n  text-transform: uppercase;\r\n  margin-bottom: 12px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n}\r\n\r\n.review-edit-btn {\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  color: var(--blue);\r\n  cursor: pointer;\r\n  text-decoration: none;\r\n  padding: 3px 8px;\r\n  border: 1px solid var(--border);\r\n  border-radius: 6px;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.review-edit-btn:hover { background: var(--light); border-color: var(--blue); }\r\n\r\n.review-row {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  font-size: 13px;\r\n  padding: 8px 0;\r\n  border-bottom: 1px solid var(--light);\r\n}\r\n\r\n.review-key { color: var(--muted); font-weight: 500; }\r\n.review-val { color: var(--navy); font-weight: 600; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   STEP 5: Payment\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.pm-section-label {\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  color: var(--muted);\r\n  text-transform: uppercase;\r\n  letter-spacing: 1px;\r\n  margin-bottom: 12px;\r\n}\r\n\r\n.pm-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 10px;\r\n  margin-bottom: 20px;\r\n}\r\n\r\n.pm-opt {\r\n  border: 2px solid var(--border);\r\n  border-radius: 12px;\r\n  padding: 12px 14px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  transition: all 0.15s;\r\n  background: #fff;\r\n}\r\n\r\n.pm-opt:hover { border-color: var(--blue); background: #F8F9FF; }\r\n\r\n.pm-opt.active {\r\n  border-color: var(--blue);\r\n  background: #F0F1FF;\r\n  box-shadow: 0 0 0 3px rgba(85,99,255,0.1);\r\n}\r\n\r\n.pm-opt-emoji { font-size: 18px; flex-shrink: 0; }\r\n.pm-opt-name  { font-size: 12.5px; font-weight: 700; color: var(--navy); }\r\n.pm-opt-sub   { font-size: 10px; color: var(--muted); }\r\n\r\n.pm-panel { display: none; margin-bottom: 16px; }\r\n.pm-panel.active { display: block; }\r\n\r\n.pm-field-label {\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  color: var(--muted);\r\n  text-transform: uppercase;\r\n  letter-spacing: 0.5px;\r\n  display: block;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.pm-input {\r\n  border: 1.5px solid var(--border);\r\n  border-radius: 9px;\r\n  padding: 10px 13px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 13px;\r\n  color: var(--navy);\r\n  outline: none;\r\n  transition: border-color 0.15s;\r\n  width: 100%;\r\n  background: #fff;\r\n}\r\n\r\n.pm-input:focus { border-color: var(--blue); }\r\n.pm-input::placeholder { color: #BBBBCC; }\r\n\r\n.pm-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }\r\n\r\n.pm-info-box {\r\n  background: var(--light);\r\n  border: 1.5px solid var(--border);\r\n  border-radius: 12px;\r\n  padding: 14px 16px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 8px;\r\n}\r\n\r\n.pm-info-row { display: flex; justify-content: space-between; font-size: 12.5px; }\r\n.pm-info-key { color: var(--muted); font-weight: 500; }\r\n.pm-info-val { color: var(--navy); font-weight: 700; font-family: monospace; font-size: 12px; }\r\n\r\n.pm-ext-link {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  border: 2px dashed #D0D4E8;\r\n  border-radius: 12px;\r\n  padding: 14px 16px;\r\n  font-size: 13px;\r\n  font-weight: 600;\r\n  color: var(--blue);\r\n  text-decoration: none;\r\n  background: #FAFBFF;\r\n  cursor: pointer;\r\n  transition: all 0.15s;\r\n  width: 100%;\r\n}\r\n\r\n.pm-ext-link:hover { background: #F0F1FF; border-color: var(--blue); }\r\n\r\n.pm-notice {\r\n  background: #FFF8E8;\r\n  border: 1px solid #FFE4A0;\r\n  border-radius: 10px;\r\n  padding: 12px 14px;\r\n  font-size: 12px;\r\n  color: #996600;\r\n  line-height: 1.5;\r\n  margin-bottom: 16px;\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   NAVIGATION BUTTONS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.nav-row {\r\n  display: flex;\r\n  gap: 12px;\r\n  margin-top: 24px;\r\n}\r\n\r\n.btn-back {\r\n  padding: 12px 22px;\r\n  border: 2px solid var(--border);\r\n  border-radius: 10px;\r\n  background: #fff;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 13px;\r\n  font-weight: 700;\r\n  color: var(--muted);\r\n  cursor: pointer;\r\n  transition: all 0.2s;\r\n}\r\n\r\n.btn-back:hover { border-color: var(--blue); color: var(--blue); }\r\n\r\n.btn-next {\r\n  flex: 1;\r\n  padding: 17px 26px;\r\n  background: var(--grad);\r\n  border: none;\r\n  border-radius: 12px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 16px;\r\n  font-weight: 800;\r\n  color: #fff;\r\n  cursor: pointer;\r\n  transition: opacity 0.2s, transform 0.2s;\r\n  box-shadow: 0 4px 14px rgba(85,99,255,0.25);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 8px;\r\n}\r\n\r\n.btn-next:hover { transform: translateY(-1px); }\r\n\r\n.btn-next:hover { opacity: 0.88; }\r\n.btn-next:disabled { opacity: 0.5; cursor: not-allowed; }\r\n\r\n.btn-spinner {\r\n  display: none;\r\n  width: 16px; height: 16px;\r\n  border: 2px solid rgba(255,255,255,0.4);\r\n  border-top-color: #fff;\r\n  border-radius: 50%;\r\n  animation: spin 0.7s linear infinite;\r\n}\r\n@keyframes spin { to { transform: rotate(360deg); } }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   SIDEBAR SUMMARY\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.summary-card {\r\n  background: #fff;\r\n  border-radius: 18px;\r\n  box-shadow: var(--shadow);\r\n  overflow: hidden;\r\n}\r\n\r\n.summary-header {\r\n  background: var(--navy);\r\n  padding: 16px 20px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n}\r\n\r\n.summary-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  color: #fff;\r\n  letter-spacing: 0.5px;\r\n}\r\n\r\n.summary-event { font-size: 10px; color: rgba(255,255,255,0.5); }\r\n\r\n.summary-body { padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }\r\n\r\n.sum-row { display: flex; justify-content: space-between; font-size: 12.5px; }\r\n.sum-key { color: var(--muted); font-weight: 500; }\r\n.sum-val { color: var(--navy); font-weight: 600; font-size: 12px; text-align: right; }\r\n\r\n.sum-divider { height: 1px; background: var(--border); }\r\n\r\n.sum-total-row {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding-top: 4px;\r\n}\r\n\r\n.sum-total-label {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  color: var(--navy);\r\n}\r\n\r\n.sum-total-amount {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 28px;\r\n  font-weight: 900;\r\n  color: var(--navy);\r\n  letter-spacing: -1px;\r\n}\r\n\r\n.sum-badge {\r\n  background: #EDFAF4;\r\n  border: 1px solid #B6F0D8;\r\n  border-radius: 10px;\r\n  padding: 10px 12px;\r\n  font-size: 12px;\r\n  color: #1BA876;\r\n  font-weight: 600;\r\n  line-height: 1.45;\r\n  display: flex;\r\n  gap: 8px;\r\n}\r\n\r\n.sum-help {\r\n  border-top: 1px solid var(--border);\r\n  padding-top: 14px;\r\n  margin-top: 4px;\r\n  font-size: 11.5px;\r\n  color: var(--muted);\r\n  line-height: 1.6;\r\n  display: flex;\r\n  gap: 8px;\r\n}\r\n\r\n.sum-help a { color: var(--blue); font-weight: 600; text-decoration: none; }\r\n\r\n.sum-security {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n  font-size: 10.5px;\r\n  color: var(--muted);\r\n  justify-content: center;\r\n  padding: 12px 20px;\r\n  border-top: 1px solid var(--border);\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   FOOTER LINKS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.reg-footer {\r\n  background: var(--navy);\r\n  padding: 24px 40px;\r\n  text-align: center;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 10px;\r\n}\r\n\r\n.reg-footer-links {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-wrap: wrap;\r\n  gap: 6px;\r\n}\r\n\r\n.reg-footer-links a {\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  color: rgba(255,255,255,0.5);\r\n  text-decoration: none;\r\n  transition: color 0.2s;\r\n  padding: 0 8px;\r\n  border-right: 1px solid rgba(255,255,255,0.15);\r\n}\r\n\r\n.reg-footer-links a:last-child { border-right: none; }\r\n.reg-footer-links a:hover { color: var(--green); }\r\n\r\n.reg-footer-copy { font-size: 11px; color: rgba(255,255,255,0.3); }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   MODAL (Policy pages)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.modal-overlay {\r\n  display: none;\r\n  position: fixed;\r\n  inset: 0;\r\n  background: rgba(10,20,60,0.6);\r\n  z-index: 9998;\r\n  align-items: flex-start;\r\n  justify-content: center;\r\n  padding: 40px 20px;\r\n  overflow-y: auto;\r\n}\r\n\r\n.modal-overlay.open { display: flex; }\r\n\r\n.modal-box {\r\n  background: #fff;\r\n  border-radius: 20px;\r\n  width: 100%;\r\n  max-width: 680px;\r\n  box-shadow: 0 20px 60px rgba(0,0,0,0.25);\r\n  animation: modal-in 0.25s ease;\r\n  margin: auto;\r\n}\r\n\r\n@keyframes modal-in {\r\n  from { transform: translateY(20px); opacity: 0; }\r\n  to   { transform: translateY(0);    opacity: 1; }\r\n}\r\n\r\n.modal-header {\r\n  background: var(--navy);\r\n  padding: 20px 24px;\r\n  border-radius: 20px 20px 0 0;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n}\r\n\r\n.modal-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 18px;\r\n  font-weight: 900;\r\n  color: #fff;\r\n}\r\n\r\n.modal-close {\r\n  width: 30px; height: 30px;\r\n  background: rgba(255,255,255,0.1);\r\n  border: none;\r\n  border-radius: 8px;\r\n  color: #fff;\r\n  font-size: 18px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  transition: background 0.2s;\r\n}\r\n\r\n.modal-close:hover { background: rgba(255,255,255,0.2); }\r\n\r\n.modal-body {\r\n  padding: 28px 28px 32px;\r\n  font-size: 13.5px;\r\n  color: var(--muted);\r\n  line-height: 1.75;\r\n  max-height: 70vh;\r\n  overflow-y: auto;\r\n}\r\n\r\n.modal-body h3 {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 15px;\r\n  font-weight: 800;\r\n  color: var(--navy);\r\n  margin: 20px 0 8px;\r\n}\r\n\r\n.modal-body h3:first-child { margin-top: 0; }\r\n.modal-body p { margin-bottom: 12px; }\r\n.modal-body ul { padding-left: 18px; margin-bottom: 12px; }\r\n.modal-body li { margin-bottom: 6px; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   SUCCESS SCREEN\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.success-screen {\r\n  display: none;\r\n  text-align: center;\r\n  padding: 48px 24px;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  gap: 20px;\r\n}\r\n\r\n.success-screen.show { display: flex; }\r\n\r\n.success-icon {\r\n  width: 80px; height: 80px;\r\n  border-radius: 50%;\r\n  background: var(--grad);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 36px;\r\n}\r\n\r\n.success-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 28px;\r\n  font-weight: 900;\r\n  color: var(--navy);\r\n  letter-spacing: -1px;\r\n}\r\n\r\n.success-sub { font-size: 14px; color: var(--muted); line-height: 1.65; max-width: 420px; }\r\n\r\n.success-ref {\r\n  background: var(--light);\r\n  border-radius: 14px;\r\n  padding: 20px 24px;\r\n  width: 100%;\r\n  max-width: 380px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 10px;\r\n  text-align: left;\r\n}\r\n\r\n.success-ref-row { display: flex; justify-content: space-between; font-size: 13px; }\r\n.success-ref-key { color: var(--muted); }\r\n.success-ref-val { font-weight: 700; color: var(--navy); }\r\n\r\n.success-btn {\r\n  padding: 13px 32px;\r\n  background: var(--grad);\r\n  border: none;\r\n  border-radius: 10px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  color: #fff;\r\n  cursor: pointer;\r\n  text-decoration: none;\r\n  display: inline-block;\r\n  transition: opacity 0.2s;\r\n}\r\n\r\n.success-btn:hover { opacity: 0.88; }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   TOAST\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.toast {\r\n  display: none;\r\n  position: fixed;\r\n  bottom: 24px; right: 24px;\r\n  z-index: 99999;\r\n  padding: 14px 20px;\r\n  border-radius: 12px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 14px; font-weight: 700;\r\n  color: #fff;\r\n  box-shadow: 0 8px 28px rgba(0,0,0,0.18);\r\n  max-width: 340px;\r\n  animation: toast-in 0.3s ease;\r\n}\r\n.toast.show    { display: block; }\r\n.toast.success { background: linear-gradient(135deg,#22C98A,#1BA876); }\r\n.toast.error   { background: linear-gradient(135deg,#FF3D71,#CC2255); }\r\n@keyframes toast-in { from { transform:translateY(12px);opacity:0; } to { transform:translateY(0);opacity:1; } }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESPONSIVE\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n@media (max-width: 960px) {\r\n  .reg-main { grid-template-columns: 1fr; }\r\n  .summary-card { position: static; }\r\n  .type-grid { grid-template-columns: 1fr; }\r\n  .pm-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .ws-card { grid-template-columns: 48px 1fr; }\r\n  .ws-action { flex-direction: row; align-items: center; justify-content: space-between; grid-column: 1\/-1; }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n  .reg-header { padding: 12px 20px; }\r\n  .reg-header-event { display: none; }\r\n  .reg-stepper-wrap { padding: 0 16px; }\r\n  .reg-step-desc { display: none; }\r\n  .reg-main { padding: 20px 16px 48px; }\r\n  .reg-card-body { padding: 18px 16px; }\r\n  .form-grid { grid-template-columns: 1fr; }\r\n  .form-group.full { grid-column: 1; }\r\n  .att-grid { grid-template-columns: 1fr; }\r\n  .pm-grid { grid-template-columns: 1fr 1fr; }\r\n  .pm-two-col { grid-template-columns: 1fr; }\r\n  .nav-row { flex-direction: column; }\r\n  .btn-back { order: 2; }\r\n  .reg-footer-links a { font-size: 11px; padding: 0 5px; }\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   PAYMENT TABS (new horizontal scroll)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.pm-tabs {\r\n  display: flex;\r\n  gap: 10px;\r\n  overflow-x: auto;\r\n  padding-bottom: 4px;\r\n  margin-bottom: 16px;\r\n  scrollbar-width: none;\r\n}\r\n.pm-tabs::-webkit-scrollbar { display: none; }\r\n\r\n.pm-tab {\r\n  flex-shrink: 0;\r\n  border: 2px solid var(--border);\r\n  border-radius: 12px;\r\n  padding: 12px 14px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n  text-align: center;\r\n  gap: 3px;\r\n  min-width: 90px;\r\n  position: relative;\r\n  background: #fff;\r\n  transition: all 0.18s;\r\n}\r\n.pm-tab:hover { border-color: var(--blue); background: #F8F9FF; }\r\n.pm-tab.active { border-color: #F05537; background: #FFF5F0; box-shadow: 0 0 0 3px rgba(240,85,55,0.1); }\r\n.pm-tab-icon { font-size: 22px; }\r\n.pm-tab-name { font-size: 11.5px; font-weight: 700; color: var(--navy); }\r\n.pm-tab-sub  { font-size: 9.5px; color: var(--muted); line-height: 1.3; }\r\n.pm-tab-check {\r\n  display: none;\r\n  position: absolute;\r\n  top: -8px; right: -8px;\r\n  width: 20px; height: 20px;\r\n  border-radius: 50%;\r\n  background: #F05537;\r\n  color: #fff;\r\n  font-size: 11px;\r\n  font-weight: 800;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n.pm-tab.active .pm-tab-check { display: flex; }\r\n\r\n\/* Panel title *\/\r\n.pm-panel-title {\r\n  font-family: 'League Spartan', sans-serif;\r\n  font-size: 18px;\r\n  font-weight: 900;\r\n  color: var(--navy);\r\n  letter-spacing: -0.3px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.pm-panel-desc { font-size: 13px; color: var(--muted); line-height: 1.65; }\r\n\r\n.pm-panel-num {\r\n  width: 32px; height: 32px;\r\n  border-radius: 8px;\r\n  background: var(--blue);\r\n  color: #fff;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  display: flex; align-items: center; justify-content: center;\r\n  flex-shrink: 0;\r\n}\r\n.pm-num-blue   { background: var(--blue); }\r\n.pm-num-orange { background: #F05537; }\r\n.pm-num-navy   { background: var(--navy); }\r\n.pm-num-green  { background: var(--green); }\r\n\r\n\/* Info banner *\/\r\n.pm-info-banner {\r\n  background: #EEF5FF;\r\n  border: 1px solid #C0D8FF;\r\n  border-radius: 10px;\r\n  padding: 12px 14px;\r\n  font-size: 12.5px;\r\n  color: #1A4B8C;\r\n  line-height: 1.5;\r\n}\r\n.pm-info-banner-green {\r\n  background: #EDFAF4;\r\n  border-color: #B6F0D8;\r\n  color: #1BA876;\r\n}\r\n\r\n\/* Action buttons *\/\r\n.pm-action-btn {\r\n  width: 100%;\r\n  padding: 14px;\r\n  border: none;\r\n  border-radius: 10px;\r\n  font-family: 'Jost', sans-serif;\r\n  font-size: 14px;\r\n  font-weight: 800;\r\n  cursor: pointer;\r\n  display: block;\r\n  text-align: center;\r\n  transition: opacity 0.2s;\r\n}\r\n.pm-action-btn:hover { opacity: 0.88; }\r\n\r\n.pm-btn-blue    { background: var(--grad); color: #fff; box-shadow: 0 4px 14px rgba(85,99,255,0.25); }\r\n.pm-btn-orange  { background: linear-gradient(135deg,#FF6B35,#F05537); color: #fff; box-shadow: 0 4px 14px rgba(240,85,55,0.25); }\r\n.pm-btn-navy    { background: var(--navy); color: #fff; }\r\n.pm-btn-green   { background: var(--green); color: #fff; }\r\n.pm-btn-outline-navy { background: #fff; color: var(--navy); border: 2px solid var(--navy); padding: 12px; }\r\n\r\n.pm-amount-inline::before { content: attr(data-amount); }\r\n\r\n.pm-secure-note-row {\r\n  text-align: center;\r\n  font-size: 11px;\r\n  color: var(--muted);\r\n  margin-top: 10px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 5px;\r\n}\r\n\r\n\/* Info box green variant *\/\r\n.pm-info-box-green {\r\n  background: #FAFFF9;\r\n  border-color: #B6F0D8;\r\n}\r\n\r\n\/* Hotmart sub-methods *\/\r\n.hm-grid {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 8px;\r\n  margin-top: 14px;\r\n}\r\n\r\n.hm-opt {\r\n  border: 2px solid var(--border);\r\n  border-radius: 12px;\r\n  padding: 12px 14px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n  transition: all 0.15s;\r\n  background: #fff;\r\n  position: relative;\r\n}\r\n\r\n.hm-opt:hover   { border-color: #F05537; background: #FFF5F0; }\r\n.hm-opt.selected { border-color: #F05537; background: #FFF5F0; box-shadow: 0 0 0 3px rgba(240,85,55,0.1); }\r\n\r\n.hm-icon { font-size: 22px; flex-shrink: 0; }\r\n.hm-name { font-size: 13px; font-weight: 700; color: var(--navy); }\r\n.hm-sub  { font-size: 11px; color: var(--muted); }\r\n\r\n.hm-badge {\r\n  margin-left: auto;\r\n  font-size: 9.5px;\r\n  font-weight: 700;\r\n  color: #22C98A;\r\n  background: #EDFAF4;\r\n  border: 1px solid #B6F0D8;\r\n  padding: 2px 8px;\r\n  border-radius: 20px;\r\n  white-space: nowrap;\r\n}\r\n\r\n.hm-panel { display: none; }\r\n.hm-panel.active { display: block; }\r\n\r\n\/* Eventbrite box *\/\r\n.pm-eb-box {\r\n  background: var(--light);\r\n  border-radius: 12px;\r\n  padding: 16px;\r\n  display: flex;\r\n  align-items: flex-start;\r\n  gap: 12px;\r\n}\r\n<\/style>\r\n\r\n<!-- Toast -->\r\n<div class=\"toast\" id=\"toast\"><\/div>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 PROGRESS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"reg-stepper-wrap\">\r\n  <div class=\"reg-stepper\">\r\n    <div class=\"reg-step active\" id=\"step-dot-1\">\r\n      <div class=\"reg-step-bubble\">1<\/div>\r\n      <div class=\"reg-step-text\">\r\n        <div class=\"reg-step-name\">Registration<\/div>\r\n        <div class=\"reg-step-desc\">Select your type<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"reg-step\" id=\"step-dot-2\">\r\n      <div class=\"reg-step-bubble\">2<\/div>\r\n      <div class=\"reg-step-text\">\r\n        <div class=\"reg-step-name\">Workshops<\/div>\r\n        <div class=\"reg-step-desc\">Optional sessions<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"reg-step\" id=\"step-dot-3\">\r\n      <div class=\"reg-step-bubble\">3<\/div>\r\n      <div class=\"reg-step-text\">\r\n        <div class=\"reg-step-name\">Your Details<\/div>\r\n        <div class=\"reg-step-desc\">Personal info<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"reg-step\" id=\"step-dot-4\">\r\n      <div class=\"reg-step-bubble\">4<\/div>\r\n      <div class=\"reg-step-text\">\r\n        <div class=\"reg-step-name\">Review<\/div>\r\n        <div class=\"reg-step-desc\">Check your order<\/div>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"reg-step\" id=\"step-dot-5\">\r\n      <div class=\"reg-step-bubble\">5<\/div>\r\n      <div class=\"reg-step-text\">\r\n        <div class=\"reg-step-name\">Payment<\/div>\r\n        <div class=\"reg-step-desc\">Secure checkout<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"reg-progress-bar\"><div class=\"reg-progress-fill\" id=\"progressFill\"><\/div><\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MAIN \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<main class=\"reg-main\">\r\n  <div id=\"leftCol\">\r\n\r\n    <!-- \u2550\u2550 STEP 1: TYPE \u2550\u2550 -->\r\n    <div class=\"step-content active\" id=\"sc-1\">\r\n      <div class=\"reg-card\">\r\n        <div class=\"reg-card-header\">\r\n          <div class=\"reg-card-num\">1<\/div>\r\n          <div>\r\n            <div class=\"reg-card-title\">Registration Type<\/div>\r\n            <div class=\"reg-card-sub\">Select your category and attendance type.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"reg-card-body\">\r\n\r\n          <div class=\"type-grid\">\r\n            <!-- Student -->\r\n            <div class=\"type-card selected\" onclick=\"selectType(this,'Student','95','125')\">\r\n              <div class=\"check-badge\">\u2713<\/div>\r\n              <div class=\"type-icon\">\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#5563FF\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                  <path d=\"M22 10v6M2 10l10-5 10 5-10 5-10-5z\"\/><path d=\"M6 12v5c3 3 9 3 12 0v-5\"\/>\r\n                <\/svg>\r\n              <\/div>\r\n              <div class=\"type-name\">Student<\/div>\r\n              <div class=\"type-desc\">Undergraduate, Masters or PhD students.<\/div>\r\n              <div class=\"price-block\">\r\n                <span class=\"price-badge\">\ud83d\udc23 Early Bird \u00b7 Until 30 Sep 2025<\/span>\r\n                <div class=\"price-amount\">&euro;95<\/div>\r\n                <div class=\"price-regular\">Regular: &euro;125 \u00b7 from 1 Oct 2025<\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- Academic -->\r\n            <div class=\"type-card\" onclick=\"selectType(this,'Academic \/ Research','195','245')\">\r\n              <div class=\"check-badge\">\u2713<\/div>\r\n              <div class=\"type-icon\">\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#5563FF\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                  <path d=\"M14 2v6l3.36 4.28a4 4 0 1 1-6.72 0L14 8V2\"\/><line x1=\"10\" y1=\"2\" x2=\"14\" y2=\"2\"\/>\r\n                <\/svg>\r\n              <\/div>\r\n              <div class=\"type-name\">Academic \/ Research<\/div>\r\n              <div class=\"type-desc\">For academics, researchers, healthcare professionals and NGOs.<\/div>\r\n              <div class=\"price-block\">\r\n                <span class=\"price-badge\">\ud83d\udc23 Early Bird \u00b7 Until 30 Sep 2025<\/span>\r\n                <div class=\"price-amount\">&euro;195<\/div>\r\n                <div class=\"price-regular\">Regular: &euro;245 \u00b7 from 1 Oct 2025<\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- Professional -->\r\n            <div class=\"type-card\" onclick=\"selectType(this,'Professional \/ Industry','295','350')\">\r\n              <div class=\"check-badge\">\u2713<\/div>\r\n              <div class=\"type-icon\">\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#5563FF\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                  <rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\"\/><path d=\"M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2\"\/><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"16\"\/><line x1=\"10\" y1=\"14\" x2=\"14\" y2=\"14\"\/>\r\n                <\/svg>\r\n              <\/div>\r\n              <div class=\"type-name\">Professional \/ Industry<\/div>\r\n              <div class=\"type-desc\">For industry professionals, consultants, investors and organisations.<\/div>\r\n              <div class=\"price-block\">\r\n                <span class=\"price-badge\">\ud83d\udc23 Early Bird \u00b7 Until 30 Sep 2025<\/span>\r\n                <div class=\"price-amount\">&euro;295<\/div>\r\n                <div class=\"price-regular\">Regular: &euro;350 \u00b7 from 1 Oct 2025<\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"att-section-title\">\ud83e\ude91 Attendance Type<\/div>\r\n          <div class=\"att-grid\">\r\n            <div class=\"att-card selected\" onclick=\"selectAtt(this,'In-Person',0)\" id=\"att-person\">\r\n              <div class=\"att-radio\"><\/div>\r\n              <div>\r\n                <div class=\"att-label\">In-Person Attendance<\/div>\r\n                <div class=\"att-sub\">Join us in Lisbon, Portugal \u2014 included in fee<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"att-card\" onclick=\"selectAtt(this,'Virtual',50)\" id=\"att-virtual\">\r\n              <div class=\"att-radio\"><\/div>\r\n              <div>\r\n                <div class=\"att-label\">Virtual Attendance (+&euro;50)<\/div>\r\n                <div class=\"att-sub\">Live streamed access to all sessions<\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"nav-row\" style=\"justify-content:flex-end;\">\r\n            <button class=\"btn-next\" onclick=\"goTo(2)\">Continue to Workshops \u2192<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 STEP 2: WORKSHOPS \u2550\u2550 -->\r\n    <div class=\"step-content\" id=\"sc-2\">\r\n      <div class=\"reg-card\">\r\n        <div class=\"reg-card-header\">\r\n          <div class=\"reg-card-num\">2<\/div>\r\n          <div>\r\n            <div class=\"reg-card-title\">Workshops &amp; Training Sessions<\/div>\r\n            <div class=\"reg-card-sub\">Optional focused sessions \u2014 spaces are limited.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"reg-card-body\">\r\n          <div class=\"ws-grid\">\r\n\r\n            <!-- WS 1 -->\r\n            <div class=\"ws-card\" id=\"ws-1\">\r\n              <div class=\"ws-icon\" style=\"background:none;padding:0;\">\r\n                <img decoding=\"async\" src=\"https:\/\/clusterar.com\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2026-06-25-at-7.50.41-PM-3.webp\" alt=\"Workshop 1\" style=\"width:56px;height:56px;object-fit:cover;border-radius:12px;display:block;\" title=\"Join The Membership\" \/>\r\n              <\/div>\r\n              <div class=\"ws-info\">\r\n                <div class=\"ws-name\">Clinical Applications of Cannabinoid Medicine<\/div>\r\n                <div class=\"ws-desc\">Gain practical clinical insights, patient assessment, treatment considerations and emerging therapeutic applications of cannabinoid medicine.<\/div>\r\n                <div class=\"ws-meta\">\r\n                  <span>\ud83d\udcc5 18 Feb 2026<\/span>\r\n                  <span>\u23f1 1 Hour<\/span>\r\n                  <span>\ud83d\udc65 Max. 10 Participants<\/span>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"ws-action\">\r\n                <div>\r\n                  <div class=\"ws-price-early\">&euro;50<\/div>\r\n                  <div class=\"ws-price-reg\">Early Bird \u00b7 Regular &euro;60<\/div>\r\n                <\/div>\r\n                <button class=\"ws-add-btn\" onclick=\"toggleWS('ws-1',this,'Clinical Cannabinoid Medicine',50)\">+ Add Workshop<\/button>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- WS 2 -->\r\n            <div class=\"ws-card\" id=\"ws-2\">\r\n              <div class=\"ws-icon\" style=\"background:none;padding:0;\">\r\n                <img decoding=\"async\" src=\"https:\/\/clusterar.com\/wp-content\/uploads\/2026\/06\/C-e1782434239901-150x150.webp\" alt=\"Workshop 2\" style=\"width:56px;height:56px;object-fit:cover;border-radius:12px;display:block;\" title=\"Join The Membership\" \/>\r\n              <\/div>\r\n              <div class=\"ws-info\">\r\n                <div class=\"ws-name\">Psychedelic Research &amp; Mental Health Innovation<\/div>\r\n                <div class=\"ws-desc\">Discover the latest in psychedelic research, clinical trials, safety, regulatory developments and future perspectives in mental health treatment.<\/div>\r\n                <div class=\"ws-meta\">\r\n                  <span>\ud83d\udcc5 20 Feb 2026<\/span>\r\n                  <span>\u23f1 1 Hour<\/span>\r\n                  <span>\ud83d\udc65 Max. 10 Participants<\/span>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"ws-action\">\r\n                <div>\r\n                  <div class=\"ws-price-early\">&euro;50<\/div>\r\n                  <div class=\"ws-price-reg\">Early Bird \u00b7 Regular &euro;60<\/div>\r\n                <\/div>\r\n                <button class=\"ws-add-btn\" onclick=\"toggleWS('ws-2',this,'Psychedelic Research & Mental Health',50)\">+ Add Workshop<\/button>\r\n              <\/div>\r\n            <\/div>\r\n\r\n          <\/div>\r\n          <div class=\"ws-skip-note\">Workshops are optional. You can continue without adding any.<\/div>\r\n          <div class=\"nav-row\">\r\n            <button class=\"btn-back\" onclick=\"goTo(1)\">\u2190 Back<\/button>\r\n            <button class=\"btn-next\" onclick=\"goTo(3)\">Continue to Your Details \u2192<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 STEP 3: DETAILS \u2550\u2550 -->\r\n    <div class=\"step-content\" id=\"sc-3\">\r\n      <div class=\"reg-card\">\r\n        <div class=\"reg-card-header\">\r\n          <div class=\"reg-card-num\">3<\/div>\r\n          <div>\r\n            <div class=\"reg-card-title\">Your Details<\/div>\r\n            <div class=\"reg-card-sub\">Please fill in your personal information accurately.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"reg-card-body\">\r\n          <div class=\"form-grid\">\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Full Name <span class=\"req\">*<\/span><\/label>\r\n              <input class=\"form-control\" id=\"f-name\" type=\"text\" placeholder=\"Your full name\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Email Address <span class=\"req\">*<\/span><\/label>\r\n              <input class=\"form-control\" id=\"f-email\" type=\"email\" placeholder=\"your@email.com\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Job Title \/ Position<\/label>\r\n              <input class=\"form-control\" id=\"f-job\" type=\"text\" placeholder=\"e.g. Research Fellow\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Institution \/ Organisation<\/label>\r\n              <input class=\"form-control\" id=\"f-org\" type=\"text\" placeholder=\"University of Lisbon\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Country <span class=\"req\">*<\/span><\/label>\r\n              <div class=\"sel-wrap\">\r\n                <select class=\"form-control\" id=\"f-country\">\r\n                  <option value=\"\" disabled selected>Select your country<\/option>\r\n                  <option>Portugal<\/option><option>Spain<\/option><option>France<\/option>\r\n                  <option>Germany<\/option><option>Italy<\/option><option>United Kingdom<\/option>\r\n                  <option>Netherlands<\/option><option>Belgium<\/option><option>Switzerland<\/option>\r\n                  <option>Brazil<\/option><option>United States<\/option><option>Other<\/option>\r\n                <\/select>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Phone Number (Optional)<\/label>\r\n              <input class=\"form-control\" id=\"f-phone\" type=\"tel\" placeholder=\"+351 900 000 000\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Dietary Requirements<\/label>\r\n              <input class=\"form-control\" id=\"f-diet\" type=\"text\" placeholder=\"e.g. Vegetarian, Gluten-free\"\/>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label class=\"form-label\">Accessibility Needs<\/label>\r\n              <input class=\"form-control\" id=\"f-access\" type=\"text\" placeholder=\"e.g. Wheelchair access\"\/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"consent-box\" style=\"margin-top:16px;\">\r\n            <div class=\"consent-row\">\r\n              <input type=\"checkbox\" id=\"c-terms\"\/>\r\n              <label for=\"c-terms\">I have read and agree to the <a onclick=\"openModal('terms')\">Terms &amp; Conditions<\/a> and <a onclick=\"openModal('privacy')\">Privacy Policy<\/a>. <span class=\"req\">*<\/span><\/label>\r\n            <\/div>\r\n            <div class=\"consent-row\">\r\n              <input type=\"checkbox\" id=\"c-refund\"\/>\r\n              <label for=\"c-refund\">I have read and accept the <a onclick=\"openModal('refund')\">Refund &amp; Cancellation Policy<\/a>. <span class=\"req\">*<\/span><\/label>\r\n            <\/div>\r\n            <div class=\"consent-row\">\r\n              <input type=\"checkbox\" id=\"c-news\"\/>\r\n              <label for=\"c-news\">I would like to receive updates about future ClusterAR events and publications (optional).<\/label>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"nav-row\">\r\n            <button class=\"btn-back\" onclick=\"goTo(2)\">\u2190 Back<\/button>\r\n            <button class=\"btn-next\" onclick=\"goTo(4)\">Review My Order \u2192<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 STEP 4: REVIEW \u2550\u2550 -->\r\n    <div class=\"step-content\" id=\"sc-4\">\r\n      <div class=\"reg-card\">\r\n        <div class=\"reg-card-header\">\r\n          <div class=\"reg-card-num\">4<\/div>\r\n          <div>\r\n            <div class=\"reg-card-title\">Review Your Order<\/div>\r\n            <div class=\"reg-card-sub\">Please check everything before proceeding to payment.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"reg-card-body\">\r\n\r\n          <div class=\"review-section\">\r\n            <div class=\"review-section-title\">Registration <a class=\"review-edit-btn\" onclick=\"goTo(1)\">Edit<\/a><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Category<\/span><span class=\"review-val\" id=\"rv-type\">Student<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Attendance<\/span><span class=\"review-val\" id=\"rv-att\">In-Person<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Pricing Period<\/span><span class=\"review-val\">Early Bird (Until 30 Sep 2025)<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Registration Fee<\/span><span class=\"review-val\" id=\"rv-fee\">&euro;95<\/span><\/div>\r\n          <\/div>\r\n\r\n          <div class=\"review-section\">\r\n            <div class=\"review-section-title\">Workshops <a class=\"review-edit-btn\" onclick=\"goTo(2)\">Edit<\/a><\/div>\r\n            <div id=\"rv-workshops\"><div class=\"review-row\"><span class=\"review-key\">Workshops<\/span><span class=\"review-val\">None selected<\/span><\/div><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Workshop Fee<\/span><span class=\"review-val\" id=\"rv-wsfee\">&euro;0<\/span><\/div>\r\n          <\/div>\r\n\r\n          <div class=\"review-section\">\r\n            <div class=\"review-section-title\">Attendee Details <a class=\"review-edit-btn\" onclick=\"goTo(3)\">Edit<\/a><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Name<\/span><span class=\"review-val\" id=\"rv-name\">\u2014<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Email<\/span><span class=\"review-val\" id=\"rv-email\">\u2014<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Organisation<\/span><span class=\"review-val\" id=\"rv-org\">\u2014<\/span><\/div>\r\n            <div class=\"review-row\"><span class=\"review-key\">Country<\/span><span class=\"review-val\" id=\"rv-country\">\u2014<\/span><\/div>\r\n          <\/div>\r\n\r\n          <div style=\"background:var(--light);border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;margin-top:8px;\">\r\n            <span style=\"font-family:'League Spartan',sans-serif;font-size:16px;font-weight:900;color:var(--navy);\">TOTAL DUE<\/span>\r\n            <span style=\"font-family:'League Spartan',sans-serif;font-size:28px;font-weight:900;color:var(--navy);\" id=\"rv-total\">&euro;95<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"nav-row\">\r\n            <button class=\"btn-back\" onclick=\"goTo(3)\">\u2190 Back<\/button>\r\n            <button class=\"btn-next\" onclick=\"goTo(5)\">Proceed to Payment \u2192<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 STEP 5: PAYMENT \u2550\u2550 -->\r\n    <div class=\"step-content\" id=\"sc-5\">\r\n      <div class=\"reg-card\">\r\n        <div class=\"reg-card-header\">\r\n          <div class=\"reg-card-num\">5<\/div>\r\n          <div>\r\n            <div class=\"reg-card-title\">Payment<\/div>\r\n            <div class=\"reg-card-sub\">Choose your preferred payment method.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"reg-card-body\">\r\n\r\n          <div class=\"pm-notice\">\r\n            \u2139\ufe0f <strong>Payment Information:<\/strong> This registration system is currently in setup mode. Payment processing will be connected to a secure platform shortly. All registration details are securely collected and you will be contacted to complete your payment.\r\n          <\/div>\r\n\r\n          <!-- Payment method tabs row -->\r\n          <div class=\"pm-section-label\">Select Payment Method<\/div>\r\n          <div class=\"pm-tabs\" id=\"pmTabs\">\r\n            <div class=\"pm-tab active\" onclick=\"selPM('card')\" id=\"pmo-card\">\r\n              <div class=\"pm-tab-icon\">\ud83d\udcb3<\/div>\r\n              <div class=\"pm-tab-name\">Card<\/div>\r\n              <div class=\"pm-tab-sub\">Visa \/ Mastercard<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('paypal')\" id=\"pmo-paypal\">\r\n              <div class=\"pm-tab-icon\">\ud83c\udd7f<\/div>\r\n              <div class=\"pm-tab-name\">PayPal<\/div>\r\n              <div class=\"pm-tab-sub\">Pay with PayPal<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('mbway')\" id=\"pmo-mbway\">\r\n              <div class=\"pm-tab-icon\">\ud83d\udcf1<\/div>\r\n              <div class=\"pm-tab-name\">MB WAY<\/div>\r\n              <div class=\"pm-tab-sub\">Mobile payment<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('multibanco')\" id=\"pmo-multibanco\">\r\n              <div class=\"pm-tab-icon\">\ud83c\udfe7<\/div>\r\n              <div class=\"pm-tab-name\">Multibanco<\/div>\r\n              <div class=\"pm-tab-sub\">ATM reference<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('bank')\" id=\"pmo-bank\">\r\n              <div class=\"pm-tab-icon\">\ud83c\udfe6<\/div>\r\n              <div class=\"pm-tab-name\">Bank Transfer<\/div>\r\n              <div class=\"pm-tab-sub\">IBAN instructions<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('eventbrite')\" id=\"pmo-eventbrite\">\r\n              <div class=\"pm-tab-icon\">\ud83c\udf9f\ufe0f<\/div>\r\n              <div class=\"pm-tab-name\">Eventbrite<\/div>\r\n              <div class=\"pm-tab-sub\">Event registration (CANSPY)<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n            <div class=\"pm-tab\" onclick=\"selPM('hotmart')\" id=\"pmo-hotmart\">\r\n              <div class=\"pm-tab-icon\" style=\"font-size:20px;\">\ud83d\udd25<\/div>\r\n              <div class=\"pm-tab-name\">Hotmart<\/div>\r\n              <div class=\"pm-tab-sub\">PIX \u00b7 Boleto \u00b7 Installments<\/div>\r\n              <div class=\"pm-tab-check\">\u2713<\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"pm-notice\" style=\"margin-top:10px;\">\r\n            \u2139\ufe0f All payment methods provide the same membership benefits. Choose the option that is most convenient for you.\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 CARD \u2500\u2500 -->\r\n          <div class=\"pm-panel active\" id=\"pmp-card\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num\">1<\/span> Card Payment<\/div>\r\n            <p class=\"pm-panel-desc\">Pay securely using Visa, Mastercard or American Express. Your membership is activated immediately after payment confirmation.<\/p>\r\n            <div style=\"margin-top:14px;display:flex;flex-direction:column;gap:10px;\">\r\n              <div>\r\n                <label class=\"pm-field-label\">Name on Card<\/label>\r\n                <input class=\"pm-input\" type=\"text\" placeholder=\"Full name\"\/>\r\n              <\/div>\r\n              <div style=\"position:relative;\">\r\n                <label class=\"pm-field-label\">Card Number<\/label>\r\n                <input class=\"pm-input\" type=\"text\" placeholder=\"1234 5678 9012 3456\" maxlength=\"19\" style=\"padding-right:110px;\"\/>\r\n                <div style=\"position:absolute;right:12px;top:30px;display:flex;gap:4px;align-items:center;\">\r\n                  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/4\/41\/Visa_Logo.png\" style=\"height:16px;object-fit:contain;\" alt=\"Visa\" title=\"Join The Membership\" \/>\r\n                  <img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/2\/2a\/Mastercard-logo.svg\" style=\"height:20px;object-fit:contain;\" alt=\"MC\" title=\"Join The Membership\" \/>\r\n                  <span style=\"font-size:10px;font-weight:700;color:#2E6BE6;background:#E8F0FE;padding:2px 5px;border-radius:3px;\">AMEX<\/span>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"pm-two-col\">\r\n                <div>\r\n                  <label class=\"pm-field-label\">Expiry (MM \/ YY)<\/label>\r\n                  <input class=\"pm-input\" type=\"text\" placeholder=\"MM \/ YY\" maxlength=\"7\"\/>\r\n                <\/div>\r\n                <div>\r\n                  <label class=\"pm-field-label\">CVV<\/label>\r\n                  <input class=\"pm-input\" type=\"text\" placeholder=\"123\" maxlength=\"4\"\/>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <button class=\"pm-action-btn pm-btn-blue\" style=\"margin-top:16px;\">\r\n              \ud83d\udd12 Pay <span class=\"pm-amount-inline\"><\/span> Securely\r\n            <\/button>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Secure &amp; encrypted payment \u00b7 Processed by Stripe<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 PAYPAL \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-paypal\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num pm-num-blue\">2<\/span> Pay with PayPal<\/div>\r\n            <p class=\"pm-panel-desc\">You will be redirected to PayPal to complete your payment securely. After successful payment, you will be returned to our site.<\/p>\r\n            <div style=\"text-align:center;padding:24px 0;\">\r\n              <div style=\"font-size:48px;margin-bottom:8px;\">\ud83c\udd7f<\/div>\r\n              <div style=\"font-family:'League Spartan',sans-serif;font-size:22px;font-weight:900;color:#003087;\">PayPal<\/div>\r\n            <\/div>\r\n            <a href=\"https:\/\/paypal.com\" target=\"_blank\" class=\"pm-action-btn pm-btn-blue\">\u2192 Continue to PayPal &nbsp; \ud83c\udd7f<\/a>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Secure checkout via PayPal<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 MB WAY \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-mbway\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num pm-num-orange\">3<\/span> Pay with MB WAY<\/div>\r\n            <p class=\"pm-panel-desc\">Enter your mobile number to receive an MB WAY payment request. Approve the request in your MB WAY app to complete your registration.<\/p>\r\n            <div style=\"margin-top:14px;\">\r\n              <label class=\"pm-field-label\">Mobile Number<\/label>\r\n              <div style=\"position:relative;\">\r\n                <span style=\"position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;\">\ud83c\uddf5\ud83c\uddf9<\/span>\r\n                <input class=\"pm-input\" type=\"tel\" placeholder=\"+351 9XX XXX XXX\" style=\"padding-left:40px;\"\/>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"pm-info-banner\" style=\"margin-top:14px;\">\r\n              \ud83d\udcf1 We will send you a payment request on your MB WAY app. Please approve it to complete your payment.\r\n            <\/div>\r\n            <button class=\"pm-action-btn pm-btn-orange\" style=\"margin-top:14px;\">\u2192 Send MB WAY Payment Request<\/button>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Secure &amp; encrypted payment \u00b7 Processed by Stripe<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 MULTIBANCO \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-multibanco\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num pm-num-navy\">4<\/span> Pay with Multibanco<\/div>\r\n            <p class=\"pm-panel-desc\">Use the payment reference below through Homebanking or any Multibanco ATM. Reference valid for 72 hours.<\/p>\r\n            <div class=\"pm-info-box\" style=\"margin-top:14px;\">\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">ENTITY<\/span><span class=\"pm-info-val\">12345<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">REFERENCE<\/span><span class=\"pm-info-val\">123 456 789<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">AMOUNT<\/span><span class=\"pm-info-val\" id=\"pm-mb-amount\">&euro;95<\/span><\/div>\r\n              <div class=\"pm-info-row\">\r\n                <span class=\"pm-info-key\">VALID UNTIL<\/span>\r\n                <span class=\"pm-info-val\">72 hours <span style=\"color:#22C98A;font-size:10px;font-weight:700;background:#EDFAF4;padding:2px 6px;border-radius:4px;margin-left:4px;\">72 hours<\/span><\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"pm-info-banner\" style=\"margin-top:10px;\">\u2139\ufe0f Payment will be automatically confirmed.<\/div>\r\n            <button class=\"pm-action-btn pm-btn-navy\" style=\"margin-top:14px;\">\u2713 I've Paid Using Multibanco<\/button>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Secure &amp; encrypted payment \u00b7 Processed by Stripe<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 BANK TRANSFER \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-bank\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num pm-num-green\">5<\/span> Bank Transfer<\/div>\r\n            <p class=\"pm-panel-desc\">Complete the transfer using the banking details below. Please include the payment reference so we can identify your registration.<\/p>\r\n            <div class=\"pm-info-box pm-info-box-green\" style=\"margin-top:14px;\">\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">BANK<\/span><span class=\"pm-info-val\">Caixa Geral de Dep\u00f3sitos<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">ACCOUNT NAME<\/span><span class=\"pm-info-val\">ClusterAR Events Lda<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">IBAN<\/span><span class=\"pm-info-val\">PT50 0000 0000 0000 0000 0000 0<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">BIC \/ SWIFT<\/span><span class=\"pm-info-val\">CGDIPTPL<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">AMOUNT<\/span><span class=\"pm-info-val\" id=\"pm-bank-amount\">&euro;95<\/span><\/div>\r\n              <div class=\"pm-info-row\"><span class=\"pm-info-key\">PAYMENT REFERENCE<\/span><span class=\"pm-info-val\" id=\"pm-bank-ref\" style=\"color:#22C98A;\">CANPSY-STUDENT<\/span><\/div>\r\n            <\/div>\r\n            <div class=\"pm-info-banner pm-info-banner-green\" style=\"margin-top:10px;\">\u2139\ufe0f Transfers may take 1\u20132 business days to be confirmed.<\/div>\r\n            <button class=\"pm-action-btn pm-btn-green\" style=\"margin-top:14px;\">\u2713 I've Completed the Transfer<\/button>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Secure bank transfer instructions<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 EVENTBRITE \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-eventbrite\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num pm-num-eb\" style=\"background:#F05537;\">b<\/span> Register via Eventbrite<\/div>\r\n            <p class=\"pm-panel-desc\">Complete your registration on the official CANSPY Eventbrite page. You'll be redirected to Eventbrite's secure registration system. After registration, you'll receive your confirmation email directly from Eventbrite.<\/p>\r\n            <div class=\"pm-eb-box\" style=\"margin-top:14px;\">\r\n              <div style=\"font-size:28px;margin-bottom:10px;\">\ud83c\udf9f\ufe0f<\/div>\r\n              <div style=\"display:flex;flex-direction:column;gap:6px;\">\r\n                <div style=\"font-size:13px;color:var(--navy);display:flex;align-items:center;gap:8px;\"><span style=\"color:#22C98A;font-weight:700;\">\u2713<\/span> Secure registration and payment on Eventbrite<\/div>\r\n                <div style=\"font-size:13px;color:var(--navy);display:flex;align-items:center;gap:8px;\"><span style=\"color:#22C98A;font-weight:700;\">\u2713<\/span> Instant confirmation by email<\/div>\r\n                <div style=\"font-size:13px;color:var(--navy);display:flex;align-items:center;gap:8px;\"><span style=\"color:#22C98A;font-weight:700;\">\u2713<\/span> Official CANPSY 2026 registration page<\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <a href=\"https:\/\/eventbrite.com\" target=\"_blank\" class=\"pm-action-btn pm-btn-orange\" style=\"margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:#fff;\">\u2192 Go to Eventbrite<\/a>\r\n            <div class=\"pm-secure-note-row\">\ud83d\udee1 Official Eventbrite Registration<\/div>\r\n          <\/div>\r\n\r\n          <!-- \u2500\u2500 HOTMART \u2500\u2500 -->\r\n          <div class=\"pm-panel\" id=\"pmp-hotmart\">\r\n            <div class=\"pm-panel-title\"><span class=\"pm-panel-num\" style=\"background:linear-gradient(135deg,#FF6B35,#FF3D00);\">\ud83d\udd25<\/span> Pay with Hotmart<\/div>\r\n            <p class=\"pm-panel-desc\">You will be redirected to Hotmart to complete your payment securely. Choose between PIX, boleto or credit card installments.<\/p>\r\n\r\n            <!-- Hotmart sub-methods -->\r\n            <div class=\"hm-grid\" id=\"hmGrid\">\r\n              <div class=\"hm-opt selected\" onclick=\"selHotmart(this,'pix')\">\r\n                <span class=\"hm-icon\">\u26a1<\/span>\r\n                <div>\r\n                  <div class=\"hm-name\">PIX<\/div>\r\n                  <div class=\"hm-sub\">Instant payment with PIX<\/div>\r\n                <\/div>\r\n                <span class=\"hm-badge\">Recommended<\/span>\r\n              <\/div>\r\n              <div class=\"hm-opt\" onclick=\"selHotmart(this,'boleto')\">\r\n                <span class=\"hm-icon\">\ud83d\udcc4<\/span>\r\n                <div>\r\n                  <div class=\"hm-name\">Boleto<\/div>\r\n                  <div class=\"hm-sub\">Pay with boleto banc\u00e1rio<\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"hm-opt\" onclick=\"selHotmart(this,'installments')\">\r\n                <span class=\"hm-icon\">\ud83d\udcb3<\/span>\r\n                <div>\r\n                  <div class=\"hm-name\">Installments<\/div>\r\n                  <div class=\"hm-sub\">Credit card in up to 12 installments<\/div>\r\n                <\/div>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <!-- PIX sub-panel -->\r\n            <div class=\"hm-panel active\" id=\"hmp-pix\">\r\n              <div class=\"pm-panel-title\" style=\"margin-top:16px;\"><span class=\"pm-panel-num\" style=\"background:#00CC99;\">\u26a1<\/span> Pay with PIX<\/div>\r\n              <p class=\"pm-panel-desc\" style=\"margin:8px 0 14px;\">Scan the QR Code with your banking app or copy the code below.<\/p>\r\n              <div style=\"display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:start;\">\r\n                <div style=\"background:#0D1B4B;border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:center;\">\r\n                  <svg viewBox=\"0 0 74 74\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:110px;height:110px;\">\r\n                    <rect width=\"74\" height=\"74\" fill=\"#0B1535\"\/>\r\n                    <rect x=\"4\" y=\"4\" width=\"20\" height=\"20\" rx=\"2\" fill=\"#fff\"\/><rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"1\" fill=\"#0B1535\"\/><rect x=\"10\" y=\"10\" width=\"8\" height=\"8\" rx=\"0.5\" fill=\"#fff\"\/>\r\n                    <rect x=\"50\" y=\"4\" width=\"20\" height=\"20\" rx=\"2\" fill=\"#fff\"\/><rect x=\"54\" y=\"8\" width=\"12\" height=\"12\" rx=\"1\" fill=\"#0B1535\"\/><rect x=\"56\" y=\"10\" width=\"8\" height=\"8\" rx=\"0.5\" fill=\"#fff\"\/>\r\n                    <rect x=\"4\" y=\"50\" width=\"20\" height=\"20\" rx=\"2\" fill=\"#fff\"\/><rect x=\"8\" y=\"54\" width=\"12\" height=\"12\" rx=\"1\" fill=\"#0B1535\"\/><rect x=\"10\" y=\"56\" width=\"8\" height=\"8\" rx=\"0.5\" fill=\"#fff\"\/>\r\n                    <rect x=\"28\" y=\"4\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"34\" y=\"4\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"40\" y=\"10\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"28\" y=\"16\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"34\" y=\"22\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"28\" y=\"28\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"40\" y=\"28\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"52\" y=\"28\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"64\" y=\"28\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"34\" y=\"34\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"46\" y=\"34\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"58\" y=\"34\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"28\" y=\"40\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"40\" y=\"40\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"52\" y=\"40\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"34\" y=\"46\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"46\" y=\"52\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"58\" y=\"52\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                    <rect x=\"28\" y=\"58\" width=\"4\" height=\"4\" fill=\"#fff\"\/><rect x=\"40\" y=\"58\" width=\"4\" height=\"4\" fill=\"#fff\"\/>\r\n                  <\/svg>\r\n                <\/div>\r\n                <div style=\"display:flex;flex-direction:column;gap:8px;\">\r\n                  <div style=\"display:flex;justify-content:space-between;font-size:12px;\"><span style=\"color:var(--muted);\">Amount<\/span><span style=\"font-weight:700;\" class=\"pm-amount-inline\"><\/span><\/div>\r\n                  <div>\r\n                    <div style=\"font-size:10.5px;color:var(--muted);margin-bottom:4px;\">PIX Code<\/div>\r\n                    <div style=\"font-size:9px;font-family:monospace;background:var(--light);padding:8px;border-radius:6px;word-break:break-all;line-height:1.5;color:var(--navy);\">00020126580014BR.GOV.BCB.PIX0136a9c7bfa2-9d7e-4b9e-a5c8-8f7e5b6c123452240000053039865802BR592SClusterAR Events6009SAO PAULO 62070503***6304A1B2<\/div>\r\n                  <\/div>\r\n                  <div style=\"display:flex;justify-content:space-between;font-size:12px;\"><span style=\"color:var(--muted);\">Expires in<\/span><span style=\"color:#22C98A;font-weight:700;\">14:59<\/span><\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <div class=\"pm-info-banner pm-info-banner-green\" style=\"margin-top:12px;\">\u2705 After payment, we will confirm automatically. You will receive your access immediately.<\/div>\r\n              <div class=\"pm-secure-note-row\" style=\"margin-top:10px;\">\ud83d\udee1 Secure Brazilian checkout via Hotmart<\/div>\r\n            <\/div>\r\n\r\n            <!-- Boleto sub-panel -->\r\n            <div class=\"hm-panel\" id=\"hmp-boleto\">\r\n              <div class=\"pm-panel-title\" style=\"margin-top:16px;\"><span class=\"pm-panel-num pm-num-navy\">\ud83d\udcc4<\/span> Pay with Boleto<\/div>\r\n              <p class=\"pm-panel-desc\" style=\"margin:8px 0 14px;\">Copy the code or download the boleto and pay at banks, lottery or online banking.<\/p>\r\n              <div style=\"display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;\">\r\n                <div style=\"display:flex;flex-direction:column;gap:6px;\">\r\n                  <div style=\"display:flex;justify-content:space-between;font-size:12px;\"><span style=\"color:var(--muted);\">Amount<\/span><span style=\"font-weight:700;\" class=\"pm-amount-inline\"><\/span><\/div>\r\n                  <div><span style=\"font-size:10.5px;color:var(--muted);\">Boleto Code<\/span><div style=\"font-size:9.5px;font-family:monospace;background:var(--light);padding:7px;border-radius:6px;margin-top:3px;color:var(--navy);\">34191.09272 48749.123456 78901.234567 8 98760000002900<\/div><\/div>\r\n                  <div style=\"display:flex;justify-content:space-between;font-size:12px;\"><span style=\"color:var(--muted);\">Due date<\/span><span style=\"font-weight:600;\">24\/05\/2025<\/span><\/div>\r\n                  <div style=\"display:flex;justify-content:space-between;font-size:12px;\"><span style=\"color:var(--muted);\">Expires in<\/span><span style=\"color:#E6781E;font-weight:700;\">72 hours<\/span><\/div>\r\n                <\/div>\r\n                <div style=\"background:#0D1B4B;border-radius:8px;padding:12px;display:flex;align-items:center;justify-content:center;\">\r\n                  <svg width=\"80\" height=\"50\" viewBox=\"0 0 80 50\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                    <rect width=\"80\" height=\"50\" fill=\"#0D1B4B\"\/>\r\n                    <g fill=\"#fff\">\r\n                      <rect x=\"4\" y=\"6\" width=\"2\" height=\"38\"\/><rect x=\"8\" y=\"6\" width=\"4\" height=\"38\"\/><rect x=\"14\" y=\"6\" width=\"2\" height=\"38\"\/>\r\n                      <rect x=\"18\" y=\"6\" width=\"4\" height=\"38\"\/><rect x=\"24\" y=\"6\" width=\"2\" height=\"38\"\/><rect x=\"28\" y=\"6\" width=\"6\" height=\"38\"\/>\r\n                      <rect x=\"36\" y=\"6\" width=\"2\" height=\"38\"\/><rect x=\"40\" y=\"6\" width=\"4\" height=\"38\"\/><rect x=\"46\" y=\"6\" width=\"2\" height=\"38\"\/>\r\n                      <rect x=\"50\" y=\"6\" width=\"6\" height=\"38\"\/><rect x=\"58\" y=\"6\" width=\"2\" height=\"38\"\/><rect x=\"62\" y=\"6\" width=\"4\" height=\"38\"\/>\r\n                      <rect x=\"68\" y=\"6\" width=\"2\" height=\"38\"\/><rect x=\"72\" y=\"6\" width=\"4\" height=\"38\"\/>\r\n                    <\/g>\r\n                  <\/svg>\r\n                <\/div>\r\n              <\/div>\r\n              <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;\">\r\n                <button class=\"pm-action-btn pm-btn-outline-navy\" style=\"margin:0;\">\ud83d\udccb Copy code<\/button>\r\n                <button class=\"pm-action-btn pm-btn-orange\" style=\"margin:0;\">\u2b07 Download boleto<\/button>\r\n              <\/div>\r\n              <div class=\"pm-info-banner\" style=\"margin-top:10px;background:#FFF8E8;border-color:#FFE4A0;color:#996600;\">\u23f1 The boleto may take up to 2 business days to be confirmed.<\/div>\r\n              <div class=\"pm-secure-note-row\" style=\"margin-top:10px;\">\ud83d\udee1 Secure Brazilian checkout via Hotmart<\/div>\r\n            <\/div>\r\n\r\n            <!-- Installments sub-panel -->\r\n            <div class=\"hm-panel\" id=\"hmp-installments\">\r\n              <div class=\"pm-panel-title\" style=\"margin-top:16px;\"><span class=\"pm-panel-num\" style=\"background:#5563FF;\">\ud83d\udcb3<\/span> Pay with Credit Card<\/div>\r\n              <p class=\"pm-panel-desc\" style=\"margin:8px 0 14px;\">Pay in up to 12 installments. You will be redirected to the secure Hotmart checkout.<\/p>\r\n              <div style=\"display:flex;justify-content:space-between;font-size:13px;background:var(--light);padding:12px 14px;border-radius:10px;margin-bottom:12px;\">\r\n                <span style=\"color:var(--muted);\">Amount<\/span>\r\n                <span style=\"font-weight:800;color:var(--navy);\" class=\"pm-amount-inline\"><\/span>\r\n              <\/div>\r\n              <p style=\"font-size:12.5px;color:var(--muted);margin-bottom:12px;line-height:1.6;\">Pay securely with your credit card. Installments may vary depending on your card.<\/p>\r\n              <div style=\"background:linear-gradient(135deg,#1a237e,#3949ab);border-radius:12px;padding:16px 20px;margin-bottom:14px;position:relative;overflow:hidden;\">\r\n                <div style=\"font-size:11px;color:rgba(255,255,255,0.6);margin-bottom:16px;\">HBANK<\/div>\r\n                <div style=\"font-size:14px;font-weight:700;color:#fff;letter-spacing:2px;\">1234 5678 9012 3456<\/div>\r\n                <div style=\"display:flex;justify-content:space-between;margin-top:12px;font-size:10px;color:rgba(255,255,255,0.6);\">\r\n                  <div>VALID THRU<br><span style=\"color:#fff;font-size:12px;font-weight:700;\">12\/30<\/span><\/div>\r\n                  <div style=\"display:flex;gap:4px;align-items:center;\">\r\n                    <span style=\"background:#1565C0;color:#fff;font-size:10px;padding:2px 5px;border-radius:3px;font-weight:700;\">VISA<\/span>\r\n                    <span style=\"color:#fff;font-size:16px;\">\ud83d\udd34\ud83d\udd34<\/span>\r\n                    <span style=\"background:#0288D1;color:#fff;font-size:8px;padding:2px 4px;border-radius:3px;font-weight:700;\">elo<\/span>\r\n                  <\/div>\r\n                <\/div>\r\n              <\/div>\r\n              <a href=\"https:\/\/hotmart.com\" target=\"_blank\" class=\"pm-action-btn pm-btn-orange\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:#fff;\">\u2192 Continue to Hotmart Checkout<\/a>\r\n              <div class=\"pm-secure-note-row\" style=\"margin-top:10px;\">\ud83d\udee1 Secure Brazilian checkout via Hotmart<\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Legal -->\r\n          <div style=\"display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--muted);margin:16px 0 8px;text-align:center;\">\r\n            \ud83d\udd12 Your data is encrypted and processed securely. <a onclick=\"openModal('payment')\" style=\"color:var(--blue);cursor:pointer;font-weight:600;\">Payment Information \u2192<\/a>\r\n          <\/div>\r\n\r\n          <button class=\"btn-next\" id=\"submitBtn\" onclick=\"submitReg()\" style=\"margin-top:4px;\">\r\n            <span id=\"submitTxt\">Complete Registration<\/span>\r\n            <div class=\"btn-spinner\" id=\"submitSpinner\"><\/div>\r\n            <span id=\"submitIcon\">\u2192<\/span>\r\n          <\/button>\r\n\r\n          <div class=\"nav-row\">\r\n            <button class=\"btn-back\" onclick=\"goTo(4)\">\u2190 Back to Review<\/button>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u2550\u2550 SUCCESS \u2550\u2550 -->\r\n    <div class=\"reg-card\" id=\"successCard\" style=\"display:none;\">\r\n      <div class=\"success-screen show\">\r\n        <div class=\"success-icon\">\u2713<\/div>\r\n        <h2 class=\"success-title\">Registration Complete!<\/h2>\r\n        <p class=\"success-sub\">Thank you! Your registration for CANPSY 2027 has been received. A confirmation email will be sent to <strong id=\"s-email\"><\/strong> shortly.<\/p>\r\n        <div class=\"success-ref\">\r\n          <div class=\"success-ref-row\"><span class=\"success-ref-key\">Reference<\/span><span class=\"success-ref-val\" id=\"s-ref\">\u2014<\/span><\/div>\r\n          <div class=\"success-ref-row\"><span class=\"success-ref-key\">Category<\/span><span class=\"success-ref-val\" id=\"s-type\">\u2014<\/span><\/div>\r\n          <div class=\"success-ref-row\"><span class=\"success-ref-key\">Attendance<\/span><span class=\"success-ref-val\" id=\"s-att\">\u2014<\/span><\/div>\r\n          <div class=\"success-ref-row\"><span class=\"success-ref-key\">Workshops<\/span><span class=\"success-ref-val\" id=\"s-ws\">\u2014<\/span><\/div>\r\n          <div style=\"height:1px;background:var(--border);\"><\/div>\r\n          <div class=\"success-ref-row\"><span class=\"success-ref-key\" style=\"font-weight:800;color:var(--navy);\">Total<\/span><span class=\"success-ref-val\" style=\"font-size:18px;\" id=\"s-total\">\u2014<\/span><\/div>\r\n        <\/div>\r\n        <a href=\"https:\/\/clusterar.com\/en\/canpsy-events\/\" class=\"success-btn\">\u2190 Back to Events<\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div><!-- \/leftCol -->\r\n\r\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 SIDEBAR SUMMARY \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n  <aside>\r\n    <div class=\"summary-card\">\r\n      <div class=\"summary-header\">\r\n        <div>\r\n          <div class=\"summary-title\">Registration Summary<\/div>\r\n          <div class=\"summary-event\">CANPSY 2027 \u00b7 Feb 19\u201320, 2026<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"summary-body\">\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Category<\/span>\r\n          <span class=\"sum-val\" id=\"s-cat\">Student<\/span>\r\n        <\/div>\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Attendance<\/span>\r\n          <span class=\"sum-val\" id=\"s-att-sum\">In-Person<\/span>\r\n        <\/div>\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Period<\/span>\r\n          <span class=\"sum-val\" style=\"font-size:11px;text-align:right;\">Early Bird<br><span style=\"color:var(--muted);font-size:10px;\">Until 30 Sep 2025<\/span><\/span>\r\n        <\/div>\r\n        <div class=\"sum-divider\"><\/div>\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Registration Fee<\/span>\r\n          <span class=\"sum-val\" id=\"s-fee\">&euro;95<\/span>\r\n        <\/div>\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Attendance Extra<\/span>\r\n          <span class=\"sum-val\" id=\"s-att-extra\">&euro;0<\/span>\r\n        <\/div>\r\n        <div class=\"sum-row\">\r\n          <span class=\"sum-key\">Workshop(s)<\/span>\r\n          <span class=\"sum-val\" id=\"s-ws-sum\">&euro;0<\/span>\r\n        <\/div>\r\n        <div class=\"sum-divider\"><\/div>\r\n        <div class=\"sum-total-row\">\r\n          <span class=\"sum-total-label\">TOTAL<\/span>\r\n          <span class=\"sum-total-amount\" id=\"s-total-sum\">&euro;95<\/span>\r\n        <\/div>\r\n        <div class=\"sum-badge\">\r\n          \u2705 Early Bird registration \u2014 Save by registering early!\r\n        <\/div>\r\n        <div class=\"sum-help\">\r\n          \ud83d\udcac <div>Need help? <a href=\"mailto:events@clusterar.com\">events@clusterar.com<\/a><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"sum-security\">\ud83d\udd12 Secure &amp; encrypted registration<\/div>\r\n    <\/div>\r\n  <\/aside>\r\n\r\n<\/main>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 POLICY MODALS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"modal-overlay\" id=\"modal-overlay\" onclick=\"closeModalOut(event)\">\r\n  <div class=\"modal-box\">\r\n    <div class=\"modal-header\">\r\n      <div class=\"modal-title\" id=\"modal-title\">Policy<\/div>\r\n      <button class=\"modal-close\" onclick=\"closeModal()\">\u00d7<\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"modal-body\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CONFIG \u2014 Edit prices, dates, content here\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nvar FORMSPREE = 'https:\/\/formspree.io\/f\/xeebzrjo';\r\n\r\nvar STATE = {\r\n  type:      'Student',\r\n  earlyFee:  95,\r\n  attLabel:  'In-Person',\r\n  attExtra:  0,\r\n  workshops: {},\r\n  wsTotal:   0\r\n};\r\n\r\nfunction total() { return STATE.earlyFee + STATE.attExtra + STATE.wsTotal; }\r\n\r\n\/* \u2500\u2500 Steps \u2500\u2500 *\/\r\nvar TOTAL_STEPS = 5;\r\nvar currentStep = 1;\r\n\r\nfunction goTo(n) {\r\n  if (n === 4) { if (!validateDetails()) return; populateReview(); }\r\n  if (n > TOTAL_STEPS) return;\r\n\r\n  document.querySelectorAll('.step-content').forEach(function(el) { el.classList.remove('active'); });\r\n  var sc = document.getElementById('sc-' + n);\r\n  if (sc) sc.classList.add('active');\r\n  currentStep = n;\r\n\r\n  for (var i = 1; i <= TOTAL_STEPS; i++) {\r\n    var d = document.getElementById('step-dot-' + i);\r\n    d.classList.remove('active','done');\r\n    if (i < n)       d.classList.add('done');\r\n    else if (i === n) d.classList.add('active');\r\n  }\r\n\r\n  document.getElementById('progressFill').style.width = ((n - 1) \/ (TOTAL_STEPS - 1) * 100) + '%';\r\n  updateSummary();\r\n  updatePMAmounts();\r\n  window.scrollTo({ top: 0, behavior: 'smooth' });\r\n}\r\n\r\n\/* \u2500\u2500 Type \u2500\u2500 *\/\r\nfunction selectType(el, name, early, regular) {\r\n  document.querySelectorAll('.type-card').forEach(function(c) { c.classList.remove('selected'); });\r\n  el.classList.add('selected');\r\n  STATE.type     = name;\r\n  STATE.earlyFee = parseInt(early);\r\n  document.getElementById('pm-bank-ref').textContent = 'CANPSY-' + name.replace(\/\\s*\\\/\\s*\/g,'').replace(\/\\s+\/g,'').toUpperCase();\r\n  updateSummary();\r\n}\r\n\r\n\/* \u2500\u2500 Attendance \u2500\u2500 *\/\r\nfunction selectAtt(el, label, extra) {\r\n  document.querySelectorAll('.att-card').forEach(function(c) { c.classList.remove('selected'); });\r\n  el.classList.add('selected');\r\n  STATE.attLabel = label;\r\n  STATE.attExtra = extra;\r\n  updateSummary();\r\n}\r\n\r\n\/* \u2500\u2500 Workshops \u2500\u2500 *\/\r\nfunction toggleWS(id, btn, name, price) {\r\n  var card = document.getElementById(id);\r\n  if (STATE.workshops[id]) {\r\n    delete STATE.workshops[id];\r\n    STATE.wsTotal -= price;\r\n    btn.textContent = '+ Add Workshop';\r\n    btn.classList.remove('added');\r\n    card.classList.remove('added');\r\n  } else {\r\n    STATE.workshops[id] = { name: name, price: price };\r\n    STATE.wsTotal += price;\r\n    btn.textContent = '\u2713 Added';\r\n    btn.classList.add('added');\r\n    card.classList.add('added');\r\n  }\r\n  updateSummary();\r\n}\r\n\r\n\/* \u2500\u2500 Summary \u2500\u2500 *\/\r\nfunction updateSummary() {\r\n  var t = total();\r\n  document.getElementById('s-cat').textContent      = STATE.type;\r\n  document.getElementById('s-att-sum').textContent  = STATE.attLabel;\r\n  document.getElementById('s-fee').textContent      = '\\u20AC' + STATE.earlyFee;\r\n  document.getElementById('s-att-extra').textContent= STATE.attExtra > 0 ? '+\\u20AC' + STATE.attExtra : '\\u20AC0';\r\n  document.getElementById('s-ws-sum').textContent   = STATE.wsTotal > 0 ? '\\u20AC' + STATE.wsTotal : '\\u20AC0';\r\n  document.getElementById('s-total-sum').textContent= '\\u20AC' + t;\r\n}\r\n\r\nfunction updatePMAmounts() {\r\n  var t = total();\r\n  var mb   = document.getElementById('pm-mb-amount');\r\n  var bank = document.getElementById('pm-bank-amount');\r\n  var st   = document.getElementById('s-total-sum');\r\n  if (mb)   mb.textContent   = '\\u20AC' + t;\r\n  if (bank) bank.textContent = '\\u20AC' + t;\r\n}\r\n\r\n\/* \u2500\u2500 Validate \u2500\u2500 *\/\r\nfunction validateDetails() {\r\n  var name    = document.getElementById('f-name').value.trim();\r\n  var email   = document.getElementById('f-email').value.trim();\r\n  var country = document.getElementById('f-country').value;\r\n  var terms   = document.getElementById('c-terms').checked;\r\n  var refund  = document.getElementById('c-refund').checked;\r\n\r\n  if (!name || !email || !country) { showToast('Please fill in all required fields.', 'error'); return false; }\r\n  if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { showToast('Please enter a valid email address.', 'error'); return false; }\r\n  if (!terms)  { showToast('Please accept the Terms & Conditions and Privacy Policy.', 'error'); return false; }\r\n  if (!refund) { showToast('Please accept the Refund & Cancellation Policy.', 'error'); return false; }\r\n  return true;\r\n}\r\n\r\n\/* \u2500\u2500 Review \u2500\u2500 *\/\r\nfunction populateReview() {\r\n  document.getElementById('rv-type').textContent   = STATE.type;\r\n  document.getElementById('rv-att').textContent    = STATE.attLabel + (STATE.attExtra ? ' (+\\u20AC' + STATE.attExtra + ')' : '');\r\n  document.getElementById('rv-fee').textContent    = '\\u20AC' + STATE.earlyFee;\r\n  document.getElementById('rv-wsfee').textContent  = '\\u20AC' + STATE.wsTotal;\r\n  document.getElementById('rv-total').textContent  = '\\u20AC' + total();\r\n  document.getElementById('rv-name').textContent   = document.getElementById('f-name').value || '\u2014';\r\n  document.getElementById('rv-email').textContent  = document.getElementById('f-email').value || '\u2014';\r\n  document.getElementById('rv-org').textContent    = document.getElementById('f-org').value || '\u2014';\r\n  document.getElementById('rv-country').textContent= document.getElementById('f-country').value || '\u2014';\r\n\r\n  var wsNames = Object.values(STATE.workshops).map(function(w){return w.name;});\r\n  var wsHtml  = wsNames.length\r\n    ? wsNames.map(function(w){ return '<div class=\"review-row\"><span class=\"review-key\">Workshop<\/span><span class=\"review-val\">'+w+'<\/span><\/div>'; }).join('')\r\n    : '<div class=\"review-row\"><span class=\"review-key\">Workshops<\/span><span class=\"review-val\">None selected<\/span><\/div>';\r\n  document.getElementById('rv-workshops').innerHTML = wsHtml;\r\n}\r\n\r\n\/* \u2500\u2500 Payment method \u2500\u2500 *\/\r\nfunction selPM(m) {\r\n  ['card','paypal','mbway','multibanco','bank','eventbrite'].forEach(function(pm) {\r\n    document.getElementById('pmo-' + pm).classList.toggle('active', pm === m);\r\n    document.getElementById('pmp-' + pm).classList.toggle('active', pm === m);\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 Submit \u2500\u2500 *\/\r\nfunction submitReg() {\r\n  var name    = document.getElementById('f-name').value.trim();\r\n  var email   = document.getElementById('f-email').value.trim();\r\n  var job     = document.getElementById('f-job').value.trim();\r\n  var org     = document.getElementById('f-org').value.trim();\r\n  var country = document.getElementById('f-country').value;\r\n  var phone   = document.getElementById('f-phone').value.trim();\r\n  var diet    = document.getElementById('f-diet').value.trim();\r\n  var access  = document.getElementById('f-access').value.trim();\r\n  var wsNames = Object.values(STATE.workshops).map(function(w){return w.name;}).join(', ') || 'None';\r\n  var t       = total();\r\n  var ref     = 'CANPSY-' + Date.now().toString(36).toUpperCase();\r\n\r\n  var btn     = document.getElementById('submitBtn');\r\n  var txt     = document.getElementById('submitTxt');\r\n  var spin    = document.getElementById('submitSpinner');\r\n  var icon    = document.getElementById('submitIcon');\r\n\r\n  btn.disabled  = true;\r\n  txt.textContent = 'Processing\u2026';\r\n  spin.style.display = 'block';\r\n  icon.style.display = 'none';\r\n\r\n  fetch(FORMSPREE, {\r\n    method: 'POST',\r\n    headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\r\n    body: JSON.stringify({\r\n      _subject:          '[CANPSY 2027] New Registration \u2014 ' + STATE.type + ' (' + STATE.attLabel + ')',\r\n      reference:         ref,\r\n      name:              name,\r\n      email:             email,\r\n      job_title:         job,\r\n      organisation:      org,\r\n      country:           country,\r\n      phone:             phone,\r\n      dietary:           diet || 'None',\r\n      accessibility:     access || 'None',\r\n      registration_type: STATE.type,\r\n      attendance:        STATE.attLabel,\r\n      workshops:         wsNames,\r\n      registration_fee:  '\\u20AC' + STATE.earlyFee,\r\n      workshop_fee:      '\\u20AC' + STATE.wsTotal,\r\n      total_amount:      '\\u20AC' + t,\r\n      pricing_period:    'Early Bird (Until 30 Sep 2025)',\r\n      newsletter:        document.getElementById('c-news').checked ? 'Yes' : 'No'\r\n    })\r\n  })\r\n  .then(function(r) { return r.json(); })\r\n  .then(function(d) {\r\n    if (d.ok) {\r\n      \/\/ Show success\r\n      document.querySelectorAll('.step-content').forEach(function(el) { el.classList.remove('active'); });\r\n      document.getElementById('successCard').style.display = 'block';\r\n      document.getElementById('s-email').textContent  = email;\r\n      document.getElementById('s-ref').textContent    = ref;\r\n      document.getElementById('s-type').textContent   = STATE.type;\r\n      document.getElementById('s-att').textContent    = STATE.attLabel;\r\n      document.getElementById('s-ws').textContent     = wsNames;\r\n      document.getElementById('s-total').textContent  = '\\u20AC' + t;\r\n\r\n      \/\/ Update stepper to done\r\n      for (var i = 1; i <= TOTAL_STEPS; i++) {\r\n        var d2 = document.getElementById('step-dot-' + i);\r\n        d2.classList.remove('active');\r\n        d2.classList.add('done');\r\n      }\r\n      document.getElementById('progressFill').style.width = '100%';\r\n      window.scrollTo({ top: 0, behavior: 'smooth' });\r\n    } else {\r\n      var err = (d.errors && d.errors[0] && d.errors[0].message) || d.error || 'Something went wrong. Please try again.';\r\n      showToast('\u2715  ' + err, 'error');\r\n      btn.disabled = false;\r\n      txt.textContent = 'Complete Registration';\r\n      spin.style.display = 'none';\r\n      icon.style.display = '';\r\n    }\r\n  })\r\n  .catch(function() {\r\n    showToast('\u2715  Network error. Please check your connection.', 'error');\r\n    btn.disabled = false;\r\n    txt.textContent = 'Complete Registration';\r\n    spin.style.display = 'none';\r\n    icon.style.display = '';\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 Modals \u2500\u2500 *\/\r\nvar POLICIES = {\r\n  privacy: {\r\n    title: 'Privacy Policy',\r\n    body: `\r\n      <h3>1. Introduction<\/h3>\r\n      <p>ClusterAR Events (\"we\", \"us\") is committed to protecting your personal information. This Privacy Policy explains how we collect, use and protect data submitted through the CANPSY 2027 registration form.<\/p>\r\n      <h3>2. Data We Collect<\/h3>\r\n      <ul>\r\n        <li>Full name, email address, job title, organisation, country<\/li>\r\n        <li>Phone number, dietary requirements, accessibility needs (optional)<\/li>\r\n        <li>Registration category, attendance type, workshop selections<\/li>\r\n        <li>Payment information (processed by a secure third-party gateway)<\/li>\r\n      <\/ul>\r\n      <h3>3. How We Use Your Data<\/h3>\r\n      <ul>\r\n        <li>To process your registration and confirm attendance<\/li>\r\n        <li>To send event-related communications and updates<\/li>\r\n        <li>To prepare name badges and attendance records<\/li>\r\n        <li>To comply with legal obligations<\/li>\r\n      <\/ul>\r\n      <h3>4. Data Retention<\/h3>\r\n      <p>Your data will be retained for up to 3 years after the event for administrative and legal purposes, then securely deleted.<\/p>\r\n      <h3>5. Your Rights<\/h3>\r\n      <p>You have the right to access, correct or delete your personal data at any time. Contact us at <strong>events@clusterar.com<\/strong>.<\/p>\r\n      <h3>6. Third-Party Services<\/h3>\r\n      <p>We use Formspree for form processing and a secure payment gateway for transactions. These providers have their own privacy policies.<\/p>\r\n      <h3>7. Contact<\/h3>\r\n      <p>For any privacy-related questions, contact <strong>events@clusterar.com<\/strong>.<\/p>\r\n      <p><em>Last updated: July 2026<\/em><\/p>\r\n    `\r\n  },\r\n  terms: {\r\n    title: 'Terms & Conditions',\r\n    body: `\r\n      <h3>1. Agreement<\/h3>\r\n      <p>By completing your registration for CANPSY 2027, you agree to these Terms & Conditions.<\/p>\r\n      <h3>2. Registration<\/h3>\r\n      <ul>\r\n        <li>Registration is personal and non-transferable without prior written consent<\/li>\r\n        <li>Your registration is confirmed only upon receipt of full payment<\/li>\r\n        <li>ClusterAR Events reserves the right to refuse or cancel registrations<\/li>\r\n      <\/ul>\r\n      <h3>3. Pricing & Fees<\/h3>\r\n      <ul>\r\n        <li>Early Bird pricing applies until 30 September 2025<\/li>\r\n        <li>All prices are in Euros (\\u20AC) and include applicable taxes<\/li>\r\n        <li>Workshop fees are in addition to registration fees<\/li>\r\n      <\/ul>\r\n      <h3>4. Programme Changes<\/h3>\r\n      <p>ClusterAR Events reserves the right to alter the programme, speakers, or schedule without liability. Every effort will be made to notify registered attendees.<\/p>\r\n      <h3>5. Liability<\/h3>\r\n      <p>ClusterAR Events is not liable for any personal injury, loss or damage to property during the event. Attendees are responsible for their own travel, accommodation and insurance.<\/p>\r\n      <h3>6. Photography & Recording<\/h3>\r\n      <p>The event may be photographed or recorded. By attending, you consent to your image being used in future promotional materials.<\/p>\r\n      <h3>7. Governing Law<\/h3>\r\n      <p>These terms are governed by the laws of Portugal.<\/p>\r\n      <p><em>Last updated: July 2026<\/em><\/p>\r\n    `\r\n  },\r\n  refund: {\r\n    title: 'Refund & Cancellation Policy',\r\n    body: `\r\n      <h3>Cancellation by Attendee<\/h3>\r\n      <ul>\r\n        <li><strong>Before 31 October 2025:<\/strong> Full refund minus a \\u20AC20 administration fee<\/li>\r\n        <li><strong>1 November \u2013 31 December 2025:<\/strong> 50% refund<\/li>\r\n        <li><strong>After 1 January 2026:<\/strong> No refund \u2014 transfer to another person may be arranged<\/li>\r\n      <\/ul>\r\n      <h3>Transfer of Registration<\/h3>\r\n      <p>You may transfer your registration to another person at no additional cost before 31 January 2026. Please notify us at <strong>events@clusterar.com<\/strong> with the replacement attendee's details.<\/p>\r\n      <h3>Cancellation by ClusterAR Events<\/h3>\r\n      <p>In the unlikely event that CANPSY 2027 is cancelled by the organisers, all registered attendees will receive a full refund of registration fees within 30 business days.<\/p>\r\n      <h3>Force Majeure<\/h3>\r\n      <p>ClusterAR Events is not responsible for cancellations or changes due to circumstances beyond our control (e.g. natural disasters, pandemics, government restrictions).<\/p>\r\n      <h3>Workshop Cancellations<\/h3>\r\n      <p>If a workshop is cancelled by the organiser, a full refund of the workshop fee will be issued.<\/p>\r\n      <h3>How to Request a Refund<\/h3>\r\n      <p>Email <strong>events@clusterar.com<\/strong> with your name, registration reference and reason for cancellation.<\/p>\r\n      <p><em>Last updated: July 2026<\/em><\/p>\r\n    `\r\n  },\r\n  payment: {\r\n    title: 'Payment Information',\r\n    body: `\r\n      <h3>Payment Status<\/h3>\r\n      <p>This registration system is currently in <strong>setup mode<\/strong>. A secure, certified payment gateway will be connected before registrations open. All payment information shown is for design and preview purposes only.<\/p>\r\n      <h3>Planned Payment Methods<\/h3>\r\n      <ul>\r\n        <li>\ud83d\udcb3 <strong>Credit \/ Debit Card<\/strong> \u2014 Visa, Mastercard (via Stripe)<\/li>\r\n        <li>\ud83c\udd7f\ufe0f <strong>PayPal<\/strong> \u2014 Pay with your PayPal account<\/li>\r\n        <li>\ud83d\udcf1 <strong>MB WAY<\/strong> \u2014 Portuguese mobile payment<\/li>\r\n        <li>\ud83c\udfe7 <strong>Multibanco<\/strong> \u2014 ATM reference payment<\/li>\r\n        <li>\ud83c\udfe6 <strong>Bank Transfer<\/strong> \u2014 Direct IBAN transfer<\/li>\r\n        <li>\ud83c\udf9f\ufe0f <strong>Eventbrite<\/strong> \u2014 External registration platform<\/li>\r\n      <\/ul>\r\n      <h3>Payment Security<\/h3>\r\n      <p>All payment processing will be handled by certified, PCI-DSS compliant providers. ClusterAR Events does not store card details on its servers.<\/p>\r\n      <h3>Currency<\/h3>\r\n      <p>All transactions are processed in Euros (\\u20AC).<\/p>\r\n      <h3>VAT \/ Tax<\/h3>\r\n      <p>All prices displayed are final and include any applicable taxes.<\/p>\r\n      <h3>Payment Confirmation<\/h3>\r\n      <p>Upon successful payment, you will receive a confirmation email with your registration reference and receipt within 24 hours.<\/p>\r\n      <h3>Questions?<\/h3>\r\n      <p>Contact <strong>events@clusterar.com<\/strong> for any payment-related questions.<\/p>\r\n      <p><em>Last updated: July 2026<\/em><\/p>\r\n    `\r\n  }\r\n};\r\n\r\nfunction openModal(key) {\r\n  var p = POLICIES[key];\r\n  if (!p) return;\r\n  document.getElementById('modal-title').textContent   = p.title;\r\n  document.getElementById('modal-body').innerHTML      = p.body;\r\n  document.getElementById('modal-overlay').classList.add('open');\r\n  document.body.style.overflow = 'hidden';\r\n}\r\n\r\nfunction closeModal() {\r\n  document.getElementById('modal-overlay').classList.remove('open');\r\n  document.body.style.overflow = '';\r\n}\r\n\r\nfunction closeModalOut(e) {\r\n  if (e.target === document.getElementById('modal-overlay')) closeModal();\r\n}\r\n\r\ndocument.addEventListener('keydown', function(e) { if (e.key === 'Escape') closeModal(); });\r\n\r\n\/* \u2500\u2500 Toast \u2500\u2500 *\/\r\nfunction showToast(msg, type) {\r\n  var t = document.getElementById('toast');\r\n  t.className = 'toast show ' + type;\r\n  t.textContent = msg;\r\n  clearTimeout(t._t);\r\n  t._t = setTimeout(function() { t.className = 'toast'; }, 5000);\r\n}\r\n\r\n\/* \u2500\u2500 Init \u2500\u2500 *\/\r\nupdateSummary();\r\ndocument.getElementById('progressFill').style.width = '0%';\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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":"<p>1 Registration Select your type 2 Workshops Optional sessions 3 Your Details Personal info 4 Review Check your order 5 Payment Secure checkout 1 Registration Type Select your category and attendance type. \u2713 Student Undergraduate, Masters or PhD students. \ud83d\udc23 Early Bird \u00b7 Until 30 Sep 2025 &euro;95 Regular: &euro;125 \u00b7 from 1 Oct 2025 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-4673","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Jeremiah Fred","author_link":"https:\/\/clusterar.com\/en\/author\/fred\/"},"uagb_comment_info":0,"uagb_excerpt":"1 Registration Select your type 2 Workshops Optional sessions 3 Your Details Personal info 4 Review Check your order 5 Payment Secure checkout 1 Registration Type Select your category and attendance type. \u2713 Student Undergraduate, Masters or PhD students. \ud83d\udc23 Early Bird \u00b7 Until 30 Sep 2025 &euro;95 Regular: &euro;125 \u00b7 from 1 Oct 2025&hellip;","_links":{"self":[{"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/pages\/4673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/comments?post=4673"}],"version-history":[{"count":16,"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/pages\/4673\/revisions"}],"predecessor-version":[{"id":5153,"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/pages\/4673\/revisions\/5153"}],"wp:attachment":[{"href":"https:\/\/clusterar.com\/en\/wp-json\/wp\/v2\/media?parent=4673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}