{"id":351,"date":"2025-12-17T12:56:33","date_gmt":"2025-12-17T09:56:33","guid":{"rendered":"https:\/\/vitalofhair.de\/?page_id=351"},"modified":"2026-09-02T19:00:19","modified_gmt":"2026-09-02T16:00:19","slug":"kisisel-sac-analizi","status":"publish","type":"page","link":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/","title":{"rendered":"Ki\u015fisel Sa\u00e7 Analizi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"351\" class=\"elementor elementor-351\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8b63c9d e-con-full e-flex e-con e-parent\" data-id=\"8b63c9d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-edfc4e3 elementor-widget elementor-widget-template\" data-id=\"edfc4e3\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"page\" data-elementor-id=\"89\" class=\"elementor elementor-89\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35746bb e-flex e-con-boxed e-con e-parent\" data-id=\"35746bb\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;none&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-d8ce537 e-con-full e-flex e-con e-child\" data-id=\"d8ce537\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65fcf51 elementor-widget elementor-widget-heading\" data-id=\"65fcf51\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Ki\u015fisel Sa\u00e7 Analizi<\/h1>\t\t\t\t<\/div>\n\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\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c3eced0 e-grid e-con-boxed e-con e-parent\" data-id=\"6c3eced0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-7741530 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"7741530\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInRight&quot;,&quot;animation_delay&quot;:200}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc9a75b elementor-widget elementor-widget-shortcode\" data-id=\"bc9a75b\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"voh-ha\" id=\"voh-ha-root\" data-lang=\"tr\">\n\n<style>#voh-ha-root{--voh-primary:#1E3FD1;--voh-primary-deep:#142C9E;--voh-primary-soft:#EAF0FE;--voh-primary-on-dark:#7B9CFF;--voh-navy-deep:#050C1A;--voh-navy:#0E1F3B;--voh-navy-hi:#28456C;--voh-blue-tint:#AFC3E8;--voh-ink:#10192E;--voh-ink-2:#46516B;--voh-ink-3:#7C8698;--voh-canvas:#FFFFFF;--voh-canvas-soft:#F6F8FC;--voh-hairline:#E3E7F0;--voh-border:#CBD3E1;--voh-error:#B3261E;--voh-whatsapp:#25D366;\n  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--voh-ink);background:var(--voh-canvas-soft);\n  max-width:1200px;margin:0 auto;border-radius:24px;overflow:hidden;position:relative;box-sizing:border-box;\n}#voh-ha-root .voh-ha *{box-sizing:border-box;}#voh-ha-root .voh-ha .voh-hide{display:none !important;}#voh-ha-root .voh-ha h1,#voh-ha-root .voh-ha h2,#voh-ha-root .voh-ha h3{font-family:'Poppins',-apple-system,sans-serif;font-weight:600;margin:0;color:var(--voh-ink);}#voh-ha-root .voh-ha p{margin:0;}#voh-ha-root .voh-ha button{font-family:inherit;cursor:pointer;}#voh-ha-root \/* ---------- shell ---------- *\/\n.voh-ha__shell{padding:48px 64px 64px;}\n@media(max-width:1024px){#voh-ha-root .voh-ha__shell{padding:40px 32px 48px;}}\n@media(max-width:767px){#voh-ha-root .voh-ha__shell{padding:32px 20px 40px;}}#voh-ha-root .voh-ha__eyebrow{font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--voh-primary);margin-bottom:12px;}#voh-ha-root .voh-ha__headline{font-size:34px;line-height:1.15;margin-bottom:12px;}\n@media(min-width:768px){#voh-ha-root .voh-ha__headline{font-size:40px;}}#voh-ha-root .voh-ha__sub{font-size:17px;line-height:1.6;color:var(--voh-ink-2);max-width:640px;margin-bottom:32px;}#voh-ha-root \/* ---------- progress ---------- *\/\n.voh-ha__progress{display:flex;gap:0;margin-bottom:40px;}#voh-ha-root .voh-ha__pstep{flex:1;display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid var(--voh-hairline);position:relative;transition:border-color 260ms cubic-bezier(.22,1,.36,1);}#voh-ha-root .voh-ha__pstep.is-active,#voh-ha-root .voh-ha__pstep.is-done{border-color:var(--voh-primary);}#voh-ha-root .voh-ha__pnum{width:22px;height:22px;border-radius:50%;background:var(--voh-hairline);color:var(--voh-ink-3);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 260ms cubic-bezier(.22,1,.36,1);}#voh-ha-root .voh-ha__pstep.is-active .voh-ha__pnum,#voh-ha-root .voh-ha__pstep.is-done .voh-ha__pnum{background:var(--voh-primary);color:#fff;}#voh-ha-root .voh-ha__plabel{font-size:13px;font-weight:500;color:var(--voh-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}#voh-ha-root .voh-ha__pstep.is-active .voh-ha__plabel,#voh-ha-root .voh-ha__pstep.is-done .voh-ha__plabel{color:var(--voh-ink);}\n@media(max-width:640px){#voh-ha-root .voh-ha__plabel{display:none;}#voh-ha-root .voh-ha__progress{gap:6px;}}#voh-ha-root \/* ---------- step transition ---------- *\/\n.voh-ha__step{display:none;}#voh-ha-root .voh-ha__step.is-current{display:block;animation:vohFadeIn 380ms cubic-bezier(.22,1,.36,1);}\n@keyframes vohFadeIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}\n@media(prefers-reduced-motion:reduce){#voh-ha-root .voh-ha__step.is-current{animation:vohFadeInReduced 200ms linear;}}\n@keyframes vohFadeInReduced{from{opacity:0;}to{opacity:1;}}#voh-ha-root \/* ---------- question blocks (step 1) ---------- *\/\n.voh-ha__q{margin-bottom:36px;}#voh-ha-root .voh-ha__qtitle{font-size:20px;font-weight:600;font-family:'Poppins',sans-serif;margin-bottom:16px;}#voh-ha-root .voh-ha__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}#voh-ha-root .voh-ha__cards--5{grid-template-columns:repeat(5,1fr);}\n@media(max-width:900px){#voh-ha-root .voh-ha__cards--5{grid-template-columns:repeat(3,1fr);}}\n@media(max-width:520px){#voh-ha-root .voh-ha__cards--5{grid-template-columns:repeat(2,1fr);}#voh-ha-root .voh-ha__cards{grid-template-columns:1fr 1fr;}}#voh-ha-root .voh-ha__card{background:var(--voh-canvas);border:1.5px solid var(--voh-hairline);border-radius:16px;padding:20px 16px;text-align:center;font-size:16px;font-weight:500;color:var(--voh-ink);transition:border-color 200ms,background 200ms,transform 120ms;min-height:64px;display:flex;align-items:center;justify-content:center;}#voh-ha-root .voh-ha__card:hover{border-color:var(--voh-primary-on-dark);}#voh-ha-root .voh-ha__card:active{transform:scale(0.97);}#voh-ha-root .voh-ha__card:focus-visible{outline:2px solid var(--voh-primary);outline-offset:2px;}#voh-ha-root .voh-ha__card.is-selected{border-color:var(--voh-primary);background:var(--voh-primary-soft);color:var(--voh-primary-deep);font-weight:600;}#voh-ha-root .voh-ha__card--gender{padding:28px 16px;font-size:18px;min-height:88px;}#voh-ha-root \/* ---------- buttons ---------- *\/\n.voh-ha__btn{border:none;border-radius:9999px;padding:16px 32px;min-height:52px;font-size:16px;font-weight:600;transition:transform 120ms,background 160ms,opacity 160ms;display:inline-flex;align-items:center;justify-content:center;gap:8px;}#voh-ha-root .voh-ha__btn:active{transform:scale(0.97);}#voh-ha-root .voh-ha__btn:focus-visible{outline:2px solid var(--voh-primary-on-dark);outline-offset:2px;}#voh-ha-root .voh-ha__btn--primary{background:var(--voh-primary);color:#fff;}#voh-ha-root .voh-ha__btn--primary:hover:not(:disabled){background:var(--voh-primary-deep);}#voh-ha-root .voh-ha__btn--primary:disabled{background:var(--voh-hairline);color:var(--voh-ink-3);cursor:not-allowed;}#voh-ha-root .voh-ha__btn--ghost{background:transparent;color:var(--voh-ink);border:1.5px solid var(--voh-ink);}#voh-ha-root .voh-ha__btn--ghost:hover{background:var(--voh-canvas-soft);}\n@media(max-width:640px){#voh-ha-root .voh-ha__btn{width:100%;}}#voh-ha-root .voh-ha__nav{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:16px;}\n@media(max-width:640px){#voh-ha-root .voh-ha__nav{flex-direction:column;}}#voh-ha-root \/* ---------- step 2 layout ---------- *\/\n.voh-ha__step2grid{display:grid;grid-template-columns:63% 1fr;gap:40px;align-items:start;}\n@media(max-width:1024px){#voh-ha-root .voh-ha__step2grid{grid-template-columns:1fr;gap:32px;}}#voh-ha-root .voh-ha__headwrap{background:var(--voh-canvas);border-radius:24px;padding:32px;box-shadow:0 2px 12px 0 rgba(16,25,46,0.06);}#voh-ha-root .voh-ha__headtitle{font-size:15px;font-weight:600;color:var(--voh-ink-2);margin-bottom:4px;}#voh-ha-root .voh-ha__headhint{font-size:13px;color:var(--voh-ink-3);margin-bottom:20px;}#voh-ha-root .voh-ha__headorient{text-align:center;font-size:10.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--voh-ink-3);opacity:0.7;}#voh-ha-root .voh-ha__headorient--top{margin-bottom:6px;}#voh-ha-root .voh-ha__headorient--bottom{margin-top:6px;}@keyframes vohZoneHint{0%{fill-opacity:0;stroke-opacity:0;}30%{fill-opacity:0.16;stroke-opacity:0.4;}70%{fill-opacity:0.16;stroke-opacity:0.4;}100%{fill-opacity:0;stroke-opacity:0;}}#voh-ha-root .voh-zone.voh-hint-pulse{animation:vohZoneHint 1000ms ease-in-out;}#voh-ha-root .voh-ha__svgwrap{position:relative;width:100%;max-width:540px;margin:0 auto;}#voh-ha-root .voh-ha__svgwrap svg{width:100%;height:auto;display:block;}#voh-ha-root .voh-zone{cursor:pointer;fill:var(--voh-primary);fill-opacity:0;stroke:var(--voh-primary);stroke-width:1.2;stroke-opacity:0;transition:fill-opacity 260ms cubic-bezier(.22,1,.36,1),stroke-opacity 260ms cubic-bezier(.22,1,.36,1);}#voh-ha-root .voh-zone.voh-zone-hovered{fill-opacity:0.12;stroke-opacity:0.35;}#voh-ha-root .voh-zone.is-selected{fill-opacity:0.3;stroke-opacity:0.6;stroke:var(--voh-primary-deep);}#voh-ha-root .voh-zone.is-selected.voh-zone-hovered{fill-opacity:0.36;}#voh-ha-root .voh-zone:focus-visible{outline:2px solid var(--voh-primary);outline-offset:2px;}#voh-ha-root .voh-zone--diffuse{fill:url(#voh-diffuse-pattern);fill-opacity:0.14;stroke:none;}#voh-ha-root .voh-zone--diffuse.voh-zone-hovered{fill-opacity:0.4;}#voh-ha-root .voh-zone--diffuse.is-selected{fill:url(#voh-diffuse-pattern-active);fill-opacity:0.85;stroke:none;}#voh-ha-root .voh-zone--diffuse.is-selected.voh-zone-hovered{fill-opacity:0.85;}#voh-ha-root .voh-hit,#voh-ha-root .voh-hit.is-selected{fill:transparent !important;stroke:none !important;pointer-events:auto;}#voh-ha-root .voh-ha__zonelegend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:20px;justify-content:center;}#voh-ha-root .voh-ha__zonetag{font-size:12.5px;color:var(--voh-ink-3);display:flex;align-items:center;gap:6px;}#voh-ha-root .voh-ha__zonetag .voh-dot{width:9px;height:9px;border-radius:50%;background:#EDF1F9;border:1.2px solid #C7D2E8;flex-shrink:0;}#voh-ha-root .voh-ha__zonetag.is-active{color:var(--voh-ink);font-weight:500;}#voh-ha-root .voh-ha__zonetag.is-active .voh-dot{background:var(--voh-primary);border-color:var(--voh-primary-deep);}#voh-ha-root .voh-ha__resultpanel{background:var(--voh-canvas);border-radius:24px;padding:32px;box-shadow:0 2px 12px 0 rgba(16,25,46,0.06);position:sticky;top:24px;}#voh-ha-root .voh-ha__resulteyebrow{font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--voh-primary);margin-bottom:16px;}#voh-ha-root .voh-ha__selectedlist{min-height:28px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:8px;}#voh-ha-root .voh-ha__chip{background:var(--voh-primary-soft);color:var(--voh-primary-deep);font-size:13px;font-weight:500;padding:6px 14px;border-radius:9999px;display:inline-flex;align-items:center;gap:6px;}#voh-ha-root .voh-ha__emptyhint{font-size:15px;color:var(--voh-ink-3);line-height:1.6;}#voh-ha-root .voh-ha__resultnum{font-family:'Poppins',sans-serif;font-weight:600;font-size:34px;color:var(--voh-ink);margin-bottom:4px;transition:opacity 200ms;}#voh-ha-root .voh-ha__resultnum span{color:var(--voh-primary);}#voh-ha-root .voh-ha__resultunit{font-size:15px;color:var(--voh-ink-2);margin-bottom:18px;}#voh-ha-root .voh-ha__resultnote{font-size:14px;line-height:1.6;color:var(--voh-ink-2);margin-bottom:20px;}#voh-ha-root .voh-ha__resultcta{font-size:13px;font-weight:600;color:var(--voh-ink-3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:16px;}#voh-ha-root .voh-ha__disclaimer{font-size:12px;line-height:1.5;color:var(--voh-ink-3);border-top:1px solid var(--voh-hairline);padding-top:16px;margin-top:24px;}#voh-ha-root \/* ---------- step3 summary ---------- *\/\n.voh-ha__summarycard{background:var(--voh-canvas);border-radius:24px;padding:40px;box-shadow:0 2px 12px 0 rgba(16,25,46,0.06);max-width:720px;margin:0 auto;}#voh-ha-root .voh-ha__summaryrow{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--voh-hairline);font-size:15px;}#voh-ha-root .voh-ha__summaryrow:last-of-type{border-bottom:none;}#voh-ha-root .voh-ha__summarylabel{color:var(--voh-ink-3);}#voh-ha-root .voh-ha__summaryvalue{color:var(--voh-ink);font-weight:600;text-align:right;max-width:60%;}#voh-ha-root .voh-ha__bigresult{text-align:center;padding:32px 0 8px;}#voh-ha-root .voh-ha__bigresult .voh-ha__resultnum{font-size:40px;}#voh-ha-root .voh-ha__infoblock{background:var(--voh-canvas-soft);border-radius:16px;padding:20px 24px;font-size:14px;color:var(--voh-ink-2);line-height:1.6;margin-top:24px;}@media(max-width:767px){#voh-ha-root .voh-ha__resultnum{font-size:28px;line-height:1.35;text-align:center;letter-spacing:-0.2px;}#voh-ha-root .voh-ha__resultnum span{white-space:nowrap;}#voh-ha-root .voh-ha__bigresult .voh-ha__resultnum{font-size:32px;}#voh-ha-root .voh-ha__resultunit{text-align:center;}}#voh-ha-root \/* ---------- step4 lead form ---------- *\/\n.voh-ha__formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:720px;margin:0 auto;}\n@media(max-width:640px){#voh-ha-root .voh-ha__formgrid{grid-template-columns:1fr;}}#voh-ha-root .voh-ha__field{display:flex;flex-direction:column;gap:8px;}#voh-ha-root .voh-ha__field--full{grid-column:1\/-1;}#voh-ha-root .voh-ha__field label{font-size:14px;font-weight:500;color:var(--voh-ink);}#voh-ha-root .voh-ha__field input,#voh-ha-root .voh-ha__field select{border:1.5px solid var(--voh-border);border-radius:10px;padding:14px 16px;font-size:16px;min-height:52px;font-family:inherit;color:var(--voh-ink);background:var(--voh-canvas);transition:border-color 160ms;}#voh-ha-root .voh-ha__field input:focus,#voh-ha-root .voh-ha__field select:focus{outline:none;border-color:var(--voh-primary);border-width:2px;padding:13px 15px;}#voh-ha-root .voh-ha__field.has-error input,#voh-ha-root .voh-ha__field.has-error select{border-color:var(--voh-error);}#voh-ha-root .voh-ha__fielderror{font-size:13px;color:var(--voh-error);display:none;}#voh-ha-root .voh-ha__field.has-error .voh-ha__fielderror{display:block;}#voh-ha-root .voh-ha__consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--voh-ink-3);line-height:1.5;}#voh-ha-root .voh-ha__consent input{margin-top:3px;flex-shrink:0;width:16px;height:16px;}#voh-ha-root .voh-ha__leadsummary{background:var(--voh-canvas-soft);border-radius:16px;padding:18px 20px;font-size:13px;color:var(--voh-ink-2);margin-bottom:28px;line-height:1.6;}#voh-ha-root \/* ---------- success ---------- *\/\n.voh-ha__success{text-align:center;max-width:560px;margin:0 auto;padding:24px 0;}#voh-ha-root .voh-ha__successicon{width:64px;height:64px;border-radius:50%;background:var(--voh-primary-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;}#voh-ha-root .voh-ha__ctarow{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap;}#voh-ha-root .voh-ha__btn--whatsapp{background:var(--voh-whatsapp);color:#fff;}#voh-ha-root .voh-ha__btn--whatsapp:hover{opacity:0.92;}#voh-ha-root \/* thumbnails-style zone pills for mobile quick nav (not used but reserved) *\/\n.voh-ha__err-banner{background:#FDECEC;border:1px solid var(--voh-error);color:var(--voh-error);padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:20px;display:none;}#voh-ha-root .voh-ha__err-banner.is-visible{display:block;}#voh-ha-root \/* ---------- CF7 lead-capture wiring (Haaranalyse Lead form) ---------- *\/\n\/* The real CF7 form is embedded via its shortcode right after this widget markup.\n   Everything in it is visually hidden EXCEPT the Turnstile widget,#voh-ha-root which is moved\n   (via JS,#voh-ha-root see voh-ha-cf7-hide-field class assignment + turnstile relocation below)\n   to sit directly above the step-4 submit button. *\/\n.voh-ha-cf7-hide-field{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;}#voh-ha-root #voh-ha-cf7-turnstile-slot{margin:4px 0 20px;display:flex;justify-content:center;}#voh-ha-root .wpcf7-not-valid-tip{font-size:12px;color:var(--voh-error);margin-top:4px;}#voh-ha-root .wpcf7-response-output{display:none !important;} \/* CF7's own status box is replaced by #voh-ha-errbanner *\/\n#voh-ha-root \/* ---------- density step ---------- *\/\n.voh-ha__densitynote{font-size:13px;color:var(--voh-ink-3);margin-top:18px;line-height:1.6;}#voh-ha-root \/* ---------- photo upload step ---------- *\/\n.voh-ha__uploads{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:820px;margin:0 auto;}\n@media(max-width:820px){#voh-ha-root .voh-ha__uploads{grid-template-columns:1fr;max-width:420px;}}#voh-ha-root .voh-ha__upload{border:1.5px dashed var(--voh-border);border-radius:18px;background:var(--voh-canvas);padding:20px;text-align:center;transition:border-color 200ms,background 200ms;position:relative;}#voh-ha-root .voh-ha__upload:hover{border-color:var(--voh-primary-on-dark);}#voh-ha-root .voh-ha__upload.is-filled{border-style:solid;border-color:var(--voh-primary);background:var(--voh-primary-soft);}#voh-ha-root .voh-ha__upload.has-error{border-style:solid;border-color:var(--voh-error);}#voh-ha-root .voh-ha__uploadnum{font-size:12px;font-weight:600;letter-spacing:1px;color:var(--voh-primary);margin-bottom:8px;}#voh-ha-root .voh-ha__uploadlabel{font-size:14px;font-weight:600;color:var(--voh-ink);margin-bottom:14px;}#voh-ha-root .voh-ha__uploadzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;cursor:pointer;border-radius:12px;}#voh-ha-root .voh-ha__uploadzone:focus-visible{outline:2px solid var(--voh-primary);outline-offset:2px;}#voh-ha-root .voh-ha__uploadicon{width:36px;height:36px;border-radius:50%;background:var(--voh-canvas-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;}#voh-ha-root .voh-ha__upload.is-filled .voh-ha__uploadicon{background:var(--voh-primary);}#voh-ha-root .voh-ha__uploadhint{font-size:12.5px;color:var(--voh-ink-3);}#voh-ha-root .voh-ha__uploadpreview{display:none;align-items:center;gap:10px;}#voh-ha-root .voh-ha__upload.is-filled .voh-ha__uploadzone{display:none;}#voh-ha-root .voh-ha__upload.is-filled .voh-ha__uploadpreview{display:flex;flex-direction:column;align-items:center;gap:10px;}#voh-ha-root .voh-ha__uploadthumb{width:100%;max-width:140px;height:100px;object-fit:cover;border-radius:10px;box-shadow:0 2px 8px 0 rgba(16,25,46,0.10);}#voh-ha-root .voh-ha__uploadreplace{font-size:12.5px;font-weight:600;color:var(--voh-primary);background:none;border:none;padding:2px;}#voh-ha-root .voh-ha__uploadreplace:hover{text-decoration:underline;}#voh-ha-root .voh-ha__uploaderr{font-size:12px;color:var(--voh-error);margin-top:10px;display:none;}#voh-ha-root .voh-ha__upload.has-error .voh-ha__uploaderr{display:block;}#voh-ha-root .voh-ha__uploads input[type=\"file\"]{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important;}\n<\/style>\n\n<div class=\"voh-ha__shell\">\n\n  <div class=\"voh-ha__progress\" id=\"voh-ha-progress\"><\/div>\n\n  <!-- STEP 1 -->\n  <section class=\"voh-ha__step is-current\" data-step=\"1\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"s1_headline\"><\/h2>\n    <p class=\"voh-ha__sub\" data-t=\"s1_sub\"><\/p>\n\n    <div class=\"voh-ha__q\">\n      <div class=\"voh-ha__qtitle\" data-t=\"q_gender\"><\/div>\n      <div class=\"voh-ha__cards\" data-group=\"gender\">\n        <button type=\"button\" class=\"voh-ha__card voh-ha__card--gender\" data-value=\"male\" data-t=\"opt_male\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card voh-ha__card--gender\" data-value=\"female\" data-t=\"opt_female\"><\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"voh-ha__q\">\n      <div class=\"voh-ha__qtitle\" data-t=\"q_age\"><\/div>\n      <div class=\"voh-ha__cards voh-ha__cards--5\" data-group=\"age\">\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"u25\" data-t=\"age_u25\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"25_34\" data-t=\"age_25_34\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"35_44\" data-t=\"age_35_44\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"45_54\" data-t=\"age_45_54\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"55p\" data-t=\"age_55p\"><\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"voh-ha__q\">\n      <div class=\"voh-ha__qtitle\" data-t=\"q_duration\"><\/div>\n      <div class=\"voh-ha__cards\" data-group=\"duration\">\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"u1\" data-t=\"dur_u1\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"1_3\" data-t=\"dur_1_3\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"3_5\" data-t=\"dur_3_5\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"5p\" data-t=\"dur_5p\"><\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"voh-ha__nav\">\n      <span><\/span>\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--primary\" id=\"voh-ha-s1-next\" disabled data-t=\"btn_next\"><\/button>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 2 -->\n  <section class=\"voh-ha__step\" data-step=\"2\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"s2_headline\"><\/h2>\n    <p class=\"voh-ha__sub\" data-t=\"s2_sub\"><\/p>\n\n    <div class=\"voh-ha__step2grid\">\n      <div class=\"voh-ha__headwrap\">\n        <div class=\"voh-ha__headtitle\" data-t=\"headmap_title\"><\/div>\n        <div class=\"voh-ha__headhint\" data-t=\"headmap_hint\"><\/div>\n        <div class=\"voh-ha__headorient voh-ha__headorient--top\">\u2191 <span data-t=\"headmap_front\"><\/span><\/div>\n        <div class=\"voh-ha__svgwrap\" id=\"voh-ha-svgwrap\"><\/div>\n        <div class=\"voh-ha__headorient voh-ha__headorient--bottom\" data-t=\"headmap_back\"><\/div>\n        <div class=\"voh-ha__zonelegend\" id=\"voh-ha-legend\"><\/div>\n      <\/div>\n\n      <div class=\"voh-ha__resultpanel\">\n        <div class=\"voh-ha__resulteyebrow\" data-t=\"result_eyebrow\"><\/div>\n        <div class=\"voh-ha__selectedlist\" id=\"voh-ha-selectedlist\"><\/div>\n        <div id=\"voh-ha-resultbody\"><\/div>\n        <div class=\"voh-ha__disclaimer\" data-t=\"disclaimer_short\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"voh-ha__nav\">\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--ghost\" id=\"voh-ha-s2-back\" data-t=\"btn_back\"><\/button>\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--primary\" id=\"voh-ha-s2-next\" disabled data-t=\"btn_next\"><\/button>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 3 \u2014 DENSITY -->\n  <section class=\"voh-ha__step\" data-step=\"3\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"sD_headline\"><\/h2>\n    <p class=\"voh-ha__sub\" data-t=\"sD_sub\"><\/p>\n\n    <div class=\"voh-ha__q\">\n      <div class=\"voh-ha__cards\" data-group=\"density\">\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"natuerlich\" data-t=\"density_natuerlich\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card is-selected\" data-value=\"dichter\" data-t=\"density_dichter\"><\/button>\n        <button type=\"button\" class=\"voh-ha__card\" data-value=\"maximal\" data-t=\"density_maximal\"><\/button>\n      <\/div>\n      <p class=\"voh-ha__densitynote\" data-t=\"sD_note\"><\/p>\n    <\/div>\n\n    <div class=\"voh-ha__nav\">\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--ghost\" id=\"voh-ha-sD-back\" data-t=\"btn_back\"><\/button>\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--primary\" id=\"voh-ha-sD-next\" data-t=\"btn_next\"><\/button>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 4 -->\n  <section class=\"voh-ha__step\" data-step=\"4\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"s3_headline\"><\/h2>\n\n    <div class=\"voh-ha__summarycard\">\n      <div class=\"voh-ha__summaryrow\"><span class=\"voh-ha__summarylabel\" data-t=\"sum_gender\"><\/span><span class=\"voh-ha__summaryvalue\" id=\"voh-ha-sum-gender\"><\/span><\/div>\n      <div class=\"voh-ha__summaryrow\"><span class=\"voh-ha__summarylabel\" data-t=\"sum_age\"><\/span><span class=\"voh-ha__summaryvalue\" id=\"voh-ha-sum-age\"><\/span><\/div>\n      <div class=\"voh-ha__summaryrow\"><span class=\"voh-ha__summarylabel\" data-t=\"sum_duration\"><\/span><span class=\"voh-ha__summaryvalue\" id=\"voh-ha-sum-duration\"><\/span><\/div>\n      <div class=\"voh-ha__summaryrow\"><span class=\"voh-ha__summarylabel\" data-t=\"sum_zones\"><\/span><span class=\"voh-ha__summaryvalue\" id=\"voh-ha-sum-zones\"><\/span><\/div>\n      <div class=\"voh-ha__summaryrow\"><span class=\"voh-ha__summarylabel\" data-t=\"sum_density\"><\/span><span class=\"voh-ha__summaryvalue\" id=\"voh-ha-sum-density\"><\/span><\/div>\n\n      <div class=\"voh-ha__bigresult\">\n        <div id=\"voh-ha-sum-result\"><\/div>\n      <\/div>\n\n      <p class=\"voh-ha__resultnote\" id=\"voh-ha-sum-interpretation\"><\/p>\n      <div class=\"voh-ha__disclaimer\" data-t=\"disclaimer_full\"><\/div>\n      <div class=\"voh-ha__infoblock\" data-t=\"s3_photo_note\"><\/div>\n    <\/div>\n\n    <div class=\"voh-ha__nav\">\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--ghost\" id=\"voh-ha-s3-back\" data-t=\"btn_back\"><\/button>\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--primary\" id=\"voh-ha-s3-next\" data-t=\"btn_continue\"><\/button>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 5 \u2014 PHOTO UPLOAD -->\n  <section class=\"voh-ha__step\" data-step=\"5\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"sP_headline\"><\/h2>\n    <p class=\"voh-ha__sub\" data-t=\"sP_sub\"><\/p>\n\n    <div class=\"voh-ha__uploads\">\n      <div class=\"voh-ha__upload\" data-upload=\"front\">\n        <div class=\"voh-ha__uploadnum\">01<\/div>\n        <div class=\"voh-ha__uploadlabel\" data-t=\"upload_front\"><\/div>\n        <label class=\"voh-ha__uploadzone\" tabindex=\"0\">\n          <div class=\"voh-ha__uploadicon\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 4v12m0-12l-5 5m5-5l5 5M5 20h14\" stroke=\"#1E3FD1\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n          <span class=\"voh-ha__uploadhint\" data-t=\"upload_hint\"><\/span>\n          <input type=\"file\" accept=\"image\/jpeg,image\/png,image\/heic,image\/heif\" capture=\"environment\" aria-label=\"Vorderansicht\">\n        <\/label>\n        <div class=\"voh-ha__uploadpreview\">\n          <img class=\"voh-ha__uploadthumb\" alt=\"\">\n          <button type=\"button\" class=\"voh-ha__uploadreplace\" data-t=\"upload_replace\"><\/button>\n        <\/div>\n        <div class=\"voh-ha__uploaderr\" data-t=\"upload_error\"><\/div>\n      <\/div>\n\n      <div class=\"voh-ha__upload\" data-upload=\"top\">\n        <div class=\"voh-ha__uploadnum\">02<\/div>\n        <div class=\"voh-ha__uploadlabel\" data-t=\"upload_top\"><\/div>\n        <label class=\"voh-ha__uploadzone\" tabindex=\"0\">\n          <div class=\"voh-ha__uploadicon\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 4v12m0-12l-5 5m5-5l5 5M5 20h14\" stroke=\"#1E3FD1\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n          <span class=\"voh-ha__uploadhint\" data-t=\"upload_hint\"><\/span>\n          <input type=\"file\" accept=\"image\/jpeg,image\/png,image\/heic,image\/heif\" capture=\"environment\" aria-label=\"Oberkopf\">\n        <\/label>\n        <div class=\"voh-ha__uploadpreview\">\n          <img class=\"voh-ha__uploadthumb\" alt=\"\">\n          <button type=\"button\" class=\"voh-ha__uploadreplace\" data-t=\"upload_replace\"><\/button>\n        <\/div>\n        <div class=\"voh-ha__uploaderr\" data-t=\"upload_error\"><\/div>\n      <\/div>\n\n      <div class=\"voh-ha__upload\" data-upload=\"donor\">\n        <div class=\"voh-ha__uploadnum\">03<\/div>\n        <div class=\"voh-ha__uploadlabel\" data-t=\"upload_donor\"><\/div>\n        <label class=\"voh-ha__uploadzone\" tabindex=\"0\">\n          <div class=\"voh-ha__uploadicon\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 4v12m0-12l-5 5m5-5l5 5M5 20h14\" stroke=\"#1E3FD1\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/div>\n          <span class=\"voh-ha__uploadhint\" data-t=\"upload_hint\"><\/span>\n          <input type=\"file\" accept=\"image\/jpeg,image\/png,image\/heic,image\/heif\" capture=\"environment\" aria-label=\"Spenderbereich\">\n        <\/label>\n        <div class=\"voh-ha__uploadpreview\">\n          <img class=\"voh-ha__uploadthumb\" alt=\"\">\n          <button type=\"button\" class=\"voh-ha__uploadreplace\" data-t=\"upload_replace\"><\/button>\n        <\/div>\n        <div class=\"voh-ha__uploaderr\" data-t=\"upload_error\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"voh-ha__nav\">\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--ghost\" id=\"voh-ha-sP-back\" data-t=\"btn_back\"><\/button>\n      <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--primary\" id=\"voh-ha-sP-next\" disabled data-t=\"btn_next\"><\/button>\n    <\/div>\n  <\/section>\n\n  <!-- STEP 6 -->\n  <section class=\"voh-ha__step\" data-step=\"6\">\n    <div class=\"voh-ha__eyebrow\" data-t=\"eyebrow\"><\/div>\n    <h2 class=\"voh-ha__headline\" data-t=\"s4_headline\"><\/h2>\n    <p class=\"voh-ha__sub\" data-t=\"s4_sub\"><\/p>\n\n    <div class=\"voh-ha__leadsummary\" id=\"voh-ha-leadsummary\"><\/div>\n    <div class=\"voh-ha__err-banner\" id=\"voh-ha-errbanner\" data-t=\"form_error\"><\/div>\n\n    <form id=\"voh-ha-form\" novalidate>\n      <div class=\"voh-ha__formgrid\">\n        <div class=\"voh-ha__field\">\n          <label for=\"voh-ha-firstname\" data-t=\"lbl_firstname\"><\/label>\n          <input type=\"text\" id=\"voh-ha-firstname\" name=\"firstname\" required autocomplete=\"given-name\">\n          <span class=\"voh-ha__fielderror\" data-t=\"err_required\"><\/span>\n        <\/div>\n        <div class=\"voh-ha__field\">\n          <label for=\"voh-ha-lastname\" data-t=\"lbl_lastname\"><\/label>\n          <input type=\"text\" id=\"voh-ha-lastname\" name=\"lastname\" required autocomplete=\"family-name\">\n          <span class=\"voh-ha__fielderror\" data-t=\"err_required\"><\/span>\n        <\/div>\n        <div class=\"voh-ha__field\">\n          <label for=\"voh-ha-phone\" data-t=\"lbl_phone\"><\/label>\n          <input type=\"tel\" id=\"voh-ha-phone\" name=\"phone\" required autocomplete=\"tel\">\n          <span class=\"voh-ha__fielderror\" data-t=\"err_required\"><\/span>\n        <\/div>\n        <div class=\"voh-ha__field\">\n          <label for=\"voh-ha-email\" data-t=\"lbl_email\"><\/label>\n          <input type=\"email\" id=\"voh-ha-email\" name=\"email\" required autocomplete=\"email\">\n          <span class=\"voh-ha__fielderror\" data-t=\"err_email\"><\/span>\n        <\/div>\n        <div class=\"voh-ha__field voh-ha__field--full\">\n          <label for=\"voh-ha-location\" data-t=\"lbl_location\"><\/label>\n          <select id=\"voh-ha-location\" name=\"location\" required>\n            <option value=\"\" data-t=\"loc_placeholder\"><\/option>\n            <option value=\"guetersloh\" data-t=\"loc_guetersloh\"><\/option>\n            <option value=\"istanbul\" data-t=\"loc_istanbul\"><\/option>\n            <option value=\"unsicher\" data-t=\"loc_unsicher\"><\/option>\n          <\/select>\n        <\/div>\n        <div class=\"voh-ha__field voh-ha__field--full\">\n          <label class=\"voh-ha__consent\">\n            <input type=\"checkbox\" id=\"voh-ha-consent\" name=\"consent\" required>\n            <span data-t=\"lbl_consent\"><\/span>\n          <\/label>\n        <\/div>\n      <\/div>\n\n      <div id=\"voh-ha-cf7-turnstile-slot\"><\/div>\n\n      <div class=\"voh-ha__nav\" style=\"margin-top:0;\">\n        <button type=\"button\" class=\"voh-ha__btn voh-ha__btn--ghost\" id=\"voh-ha-s4-back\" data-t=\"btn_back\"><\/button>\n        <button type=\"submit\" class=\"voh-ha__btn voh-ha__btn--primary\" data-t=\"btn_submit\"><\/button>\n      <\/div>\n    <\/form>\n\n    <!-- IMPORTANT: this entire bundle must be pasted into an Elementor \"Shortcode\" widget,\n         NOT an \"HTML\" widget. The HTML widget does not run WordPress shortcodes, so the\n         [contact-form-7] tag below would render as literal bracket text. The Shortcode\n         widget runs the whole block through do_shortcode(), which resolves only the\n         recognized [contact-form-7 ...] tag and leaves every other line of HTML\/CSS\/JS\n         untouched. Replace X below with the actual numeric CF7 form ID after creating\n         \"Haaranalyse Lead\" in WP Admin -> Contact -> Add New (same form ID is reused on\n         the TR page too). This form's fields are visually hidden by JS (see script below)\n         except Turnstile, which gets relocated into #voh-ha-cf7-turnstile-slot above. -->\n    <div id=\"voh-ha-cf7-wrap\" aria-hidden=\"false\">\n      \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1545-o1\" lang=\"de-DE\" dir=\"ltr\" data-wpcf7-id=\"1545\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/reliant\/wp-json\/wp\/v2\/pages\/351#wpcf7-f1545-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Kontaktformular\" enctype=\"multipart\/form-data\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"1545\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"de_DE\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1545-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_uacf7_hidden_conditional_fields\" value=\"\" \/>\n<\/fieldset>\n<div class=\"uacf7-form-wrapper-container uacf7-form-1545  \"><span class=\"wpcf7-form-control-wrap\" data-name=\"vorname\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"vorname\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"nachname\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"nachname\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"telefon\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"telefon\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"email\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"standort\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"standort\"><option value=\"guetersloh\">guetersloh<\/option><option value=\"istanbul\">istanbul<\/option><option value=\"unsicher\">unsicher<\/option><\/select><\/span>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"gender\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"age_group\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"duration\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"zones\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"estimate\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"density\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"fotos_status\" \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"foto_vorderansicht\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.jpeg,.png,.heic,.heif\" aria-invalid=\"false\" type=\"file\" name=\"foto_vorderansicht\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"foto_oberkopf\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.jpeg,.png,.heic,.heif\" aria-invalid=\"false\" type=\"file\" name=\"foto_oberkopf\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"foto_spenderbereich\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-file\" accept=\".jpg,.jpeg,.png,.heic,.heif\" aria-invalid=\"false\" type=\"file\" name=\"foto_spenderbereich\" \/><\/span>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"consent\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"consent\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Consent<\/span><\/label><\/span><\/span><\/span>\n<div class=\"wpcf7-turnstile cf-turnstile\" data-sitekey=\"0x4AAAAAAEYh5WjtiGUyjhjk\" data-response-field-name=\"_wpcf7_turnstile_response\"><\/div>\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Senden\" \/>\n\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_utm_source\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_utm_medium\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_utm_campaign\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_utm_content\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_utm_term\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_landing_page\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_referrer\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_gclid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_gbraid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_wbraid\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"voh_hp\" \/><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- STEP 7 SUCCESS -->\n  <section class=\"voh-ha__step\" data-step=\"7\">\n    <div class=\"voh-ha__success\">\n      <div class=\"voh-ha__successicon\">\n        <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M5 13l4 4L19 7\" stroke=\"#1E3FD1\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n      <\/div>\n      <h2 class=\"voh-ha__headline\" data-t=\"success_headline\"><\/h2>\n      <p class=\"voh-ha__sub\" style=\"margin:0 auto 8px;\" data-t=\"success_copy\"><\/p>\n      <div id=\"voh-ha-success-result\" style=\"margin-top:20px;\"><\/div>\n      <div class=\"voh-ha__ctarow\" id=\"voh-ha-success-cta\"><\/div>\n    <\/div>\n  <\/section>\n\n<\/div>\n<\/div>\n\n<script>\n(function(){\n  \"use strict\";\n\n  var CONFIG = {\n    combinationFactors: {1:1.0, 2:0.82, 3:0.72, 4:0.65, 5:0.60, 6:0.58},\n    densityFactors: {natuerlich:0.85, dichter:1.00, maximal:1.15},\n    maxReasonableTotal: 4500,\n    overrides: {\n      \"m1+m2\": {min:1800,max:2600},\n      \"m2+m3\": {min:2000,max:2800},\n      \"m1+m2+m3\": {min:2400,max:3300},\n      \"m3+m4\": {min:2500,max:3500},\n      \"m3+m4+m5\": {min:3500,max:4800}\n    },\n    zones: {\n      male: [\n        {id:\"m1\", min:800, max:1400, label:{de:\"Geheimratsecken\", tr:\"\u015eakak A\u00e7\u0131lmas\u0131\"}},\n        {id:\"m2\", min:1200, max:1800, label:{de:\"Haarlinie \/ Front\", tr:\"\u00d6n Sa\u00e7 \u00c7izgisi\"}},\n        {id:\"m3\", min:1500, max:2200, label:{de:\"Frontbereich\", tr:\"\u00d6n B\u00f6lge\"}},\n        {id:\"m4\", min:1000, max:1700, label:{de:\"Mittlerer Oberkopf\", tr:\"Orta B\u00f6lge\"}},\n        {id:\"m5\", min:1200, max:2000, label:{de:\"Tonsur\", tr:\"Tepe (Vertex)\"}}\n      ],\n      female: [\n        {id:\"f1\", min:800, max:1400, label:{de:\"Haarlinie\", tr:\"Sa\u00e7 \u00c7izgisi\"}},\n        {id:\"f2\", min:600, max:1000, label:{de:\"Schl\u00e4fen\", tr:\"\u015eakaklar\"}},\n        {id:\"f3\", min:800, max:1400, label:{de:\"Vorderer Scheitel\", tr:\"\u00d6n Tepe Ayr\u0131m\u0131\"}},\n        {id:\"f4\", min:1000, max:1800, label:{de:\"Mittlerer Oberkopf \/ Scheitel\", tr:\"Orta B\u00f6lge \/ Tepe Ayr\u0131m\u0131\"}},\n        {id:\"f5\", min:1400, max:2400, label:{de:\"Diffuse Verdichtung\", tr:\"Yayg\u0131n Seyrelme\"}}\n      ]\n    }\n  };\n\n  var T = {\n    de: {\n      eyebrow: \"KOSTENLOSE HAARANALYSE\",\n      progress_1: \"Angaben\", progress_2: \"Bereiche\", progress_density: \"Dichte\", progress_3: \"Einsch\u00e4tzung\", progress_photos: \"Fotos\", progress_4: \"Absenden\",\n      s1_headline: \"Starten Sie Ihre kostenlose Haaranalyse\",\n      s1_sub: \"Beantworten Sie wenige kurze Fragen und erhalten Sie eine erste Einsch\u00e4tzung zu den relevanten Bereichen und der m\u00f6glichen Graft-Anzahl.\",\n      q_gender: \"F\u00fcr wen ist die Analyse?\",\n      opt_male: \"Mann\", opt_female: \"Frau\",\n      q_age: \"Wie alt sind Sie?\",\n      age_u25: \"Unter 25\", age_25_34: \"25\u201334\", age_35_44: \"35\u201344\", age_45_54: \"45\u201354\", age_55p: \"55+\",\n      q_duration: \"Seit wann beobachten Sie Haarverlust?\",\n      dur_u1: \"Unter 1 Jahr\", dur_1_3: \"1\u20133 Jahre\", dur_3_5: \"3\u20135 Jahre\", dur_5p: \"Mehr als 5 Jahre\",\n      s2_headline: \"Welche Bereiche besch\u00e4ftigen Sie aktuell?\",\n      s2_sub: \"W\u00e4hlen Sie die Zonen auf der Kopfgrafik aus, die f\u00fcr Sie zutreffen. Mehrfachauswahl m\u00f6glich.\",\n      headmap_title: \"Interaktive Kopf\u00fcbersicht\",\n      headmap_hint: \"W\u00e4hlen Sie direkt auf dem Kopf die betroffenen Bereiche aus. Mehrfachauswahl m\u00f6glich.\",\n      headmap_front: \"Vorne \/ Stirn\",\n      headmap_back: \"Hinterkopf\",\n      result_eyebrow: \"Vorl\u00e4ufige Einsch\u00e4tzung\",\n      empty_hint: \"W\u00e4hlen Sie die Bereiche aus, die Sie aktuell besch\u00e4ftigen.\",\n      result_range_unit: \"gesch\u00e4tzter Bedarf\",\n      result_note: \"Die genaue Anzahl h\u00e4ngt unter anderem von Haardichte, Spenderbereich, Haarstruktur und gew\u00fcnschter Dichte ab.\",\n      result_recommend: \"Pers\u00f6nliche Analyse empfohlen\",\n      disclaimer_short: \"Unverbindliche Ersteinsch\u00e4tzung, keine medizinische Diagnose.\",\n      disclaimer_full: \"Die angezeigte Graft-Anzahl ist eine unverbindliche Ersteinsch\u00e4tzung und ersetzt keine individuelle medizinische Beratung.\",\n      sD_headline: \"Welches Ergebnis w\u00fcnschen Sie sich?\",\n      sD_sub: \"Dies beeinflusst die Einsch\u00e4tzung der voraussichtlichen Graft-Anzahl.\",\n      density_natuerlich: \"Nat\u00fcrlich\", density_dichter: \"Dichter\", density_maximal: \"Maximale Dichte\",\n      sD_note: \"Eine h\u00f6here gew\u00fcnschte Dichte kann die voraussichtliche Graft-Anzahl erh\u00f6hen.\",\n      s3_headline: \"Ihre vorl\u00e4ufige Haaranalyse\",\n      sum_gender: \"Analyse f\u00fcr\", sum_age: \"Altersgruppe\", sum_duration: \"Haarverlust seit\", sum_zones: \"Ausgew\u00e4hlte Bereiche\",\n      sum_density: \"Gew\u00fcnschte Dichte\",\n      sum_interpretation_prefix: \"Auf Basis Ihrer Auswahl liegt der m\u00f6gliche Bedarf aktuell bei etwa\",\n      sum_interpretation_suffix: \"Grafts.\",\n      sum_interpretation_expert: \"Diese Einsch\u00e4tzung dient ausschlie\u00dflich zur Orientierung. F\u00fcr eine belastbare Planung pr\u00fcfen unsere Experten zus\u00e4tzlich Ihren Spenderbereich, Ihre Haardichte, Haarstruktur und individuelle Ausgangssituation.\",\n      sum_large_note: \"Bei gr\u00f6\u00dferen Bereichen kann die Behandlung individuell geplant oder auf mehrere Bereiche priorisiert werden.\",\n      s3_photo_note: \"Lassen Sie Ihre Analyse pers\u00f6nlich pr\u00fcfen \u2014 im n\u00e4chsten Schritt ben\u00f6tigen wir daf\u00fcr drei Aufnahmen Ihrer Haare.\",\n      sP_headline: \"F\u00fcr eine pr\u00e4zisere Einsch\u00e4tzung ben\u00f6tigen wir drei Aufnahmen.\",\n      sP_sub: \"Bitte laden Sie drei Fotos hoch. Ihre Bilder werden vertraulich behandelt und ausschlie\u00dflich f\u00fcr die \u00e4rztliche Analyse verwendet.\",\n      upload_front: \"Vorderansicht\", upload_top: \"Oberkopf\", upload_donor: \"Spenderbereich \/ Hinterkopf\",\n      upload_hint: \"Foto ausw\u00e4hlen\", upload_replace: \"Foto ersetzen\",\n      upload_error: \"Bitte ein g\u00fcltiges Bild ausw\u00e4hlen (JPG, PNG oder HEIC, max. 15 MB).\",\n      s4_headline: \"Fast geschafft \u2014 Ihre kostenlose Analyse\",\n      s4_sub: \"Hinterlassen Sie Ihre Kontaktdaten. Unser Team meldet sich pers\u00f6nlich bei Ihnen.\",\n      lbl_firstname: \"Vorname\", lbl_lastname: \"Nachname\", lbl_phone: \"Telefonnummer \/ WhatsApp\", lbl_email: \"E-Mail\",\n      lbl_location: \"Gew\u00fcnschter Standort\",\n      loc_placeholder: \"Bitte w\u00e4hlen\", loc_guetersloh: \"G\u00fctersloh\", loc_istanbul: \"Istanbul\", loc_unsicher: \"Noch unsicher\",\n      lbl_consent: \"Ich bin damit einverstanden, dass meine Angaben zur Bearbeitung meiner Anfrage gespeichert und verwendet werden.\",\n      err_required: \"Dieses Feld ist erforderlich.\",\n      err_email: \"Bitte eine g\u00fcltige E-Mail-Adresse angeben.\",\n      form_error: \"Bitte \u00fcberpr\u00fcfen Sie Ihre Angaben.\",\n      btn_next: \"Weiter\", btn_back: \"Zur\u00fcck\", btn_continue: \"Weiter zur kostenlosen Analyse\", btn_submit: \"Analyse jetzt senden\",\n      success_headline: \"Vielen Dank f\u00fcr Ihre Anfrage\",\n      success_copy: \"Unser Team pr\u00fcft Ihre Angaben pers\u00f6nlich und meldet sich f\u00fcr Ihre kostenlose Haaranalyse bei Ihnen.\",\n      whatsapp_cta: \"WhatsApp \u00f6ffnen\"\n    },\n    tr: {\n      eyebrow: \"\u00dcCRETS\u0130Z SA\u00c7 ANAL\u0130Z\u0130\",\n      progress_1: \"Bilgiler\", progress_2: \"B\u00f6lgeler\", progress_density: \"Yo\u011funluk\", progress_3: \"De\u011ferlendirme\", progress_photos: \"Foto\u011fraflar\", progress_4: \"G\u00f6nder\",\n      s1_headline: \"\u00dccretsiz sa\u00e7 analizinizi ba\u015flat\u0131n\",\n      s1_sub: \"Birka\u00e7 k\u0131sa soruyu yan\u0131tlay\u0131n ve ilgili b\u00f6lgeler ile olas\u0131 greft say\u0131s\u0131 hakk\u0131nda ilk bir de\u011ferlendirme al\u0131n.\",\n      q_gender: \"Analiz kimin i\u00e7in?\",\n      opt_male: \"Erkek\", opt_female: \"Kad\u0131n\",\n      q_age: \"Ya\u015f\u0131n\u0131z ka\u00e7?\",\n      age_u25: \"25 ya\u015f alt\u0131\", age_25_34: \"25\u201334\", age_35_44: \"35\u201344\", age_45_54: \"45\u201354\", age_55p: \"55+\",\n      q_duration: \"Sa\u00e7 d\u00f6k\u00fclmesini ne zamand\u0131r fark ediyorsunuz?\",\n      dur_u1: \"1 y\u0131ldan az\", dur_1_3: \"1\u20133 y\u0131l\", dur_3_5: \"3\u20135 y\u0131l\", dur_5p: \"5 y\u0131ldan fazla\",\n      s2_headline: \"\u015eu anda hangi b\u00f6lgeler sizi rahats\u0131z ediyor?\",\n      s2_sub: \"Sizin i\u00e7in ge\u00e7erli olan b\u00f6lgeleri kafa grafi\u011fi \u00fczerinde se\u00e7in. Birden fazla se\u00e7im yapabilirsiniz.\",\n      headmap_title: \"\u0130nteraktif kafa g\u00f6r\u00fcn\u00fcm\u00fc\",\n      headmap_hint: \"\u0130lgili b\u00f6lgeleri do\u011frudan kafa \u00fczerinden se\u00e7in. Birden fazla se\u00e7im yapabilirsiniz.\",\n      headmap_front: \"\u00d6n \/ Al\u0131n\",\n      headmap_back: \"Arka Kafa\",\n      result_eyebrow: \"\u00d6n de\u011ferlendirme\",\n      empty_hint: \"\u015eu anda sizi rahats\u0131z eden b\u00f6lgeleri se\u00e7in.\",\n      result_range_unit: \"tahmini ihtiya\u00e7\",\n      result_note: \"Kesin say\u0131; sa\u00e7 yo\u011funlu\u011fu, don\u00f6r b\u00f6lge, sa\u00e7 yap\u0131s\u0131 ve istenen s\u0131kl\u0131k gibi fakt\u00f6rlere ba\u011fl\u0131d\u0131r.\",\n      result_recommend: \"Ki\u015fisel analiz \u00f6nerilir\",\n      disclaimer_short: \"Ba\u011flay\u0131c\u0131 olmayan \u00f6n de\u011ferlendirmedir, t\u0131bbi te\u015fhis de\u011fildir.\",\n      disclaimer_full: \"G\u00f6r\u00fcnt\u00fclenen greft say\u0131s\u0131, ba\u011flay\u0131c\u0131 olmayan bir \u00f6n de\u011ferlendirmedir ve ki\u015fisel t\u0131bbi muayenenin yerini tutmaz.\",\n      sD_headline: \"Nas\u0131l bir sonu\u00e7 istersiniz?\",\n      sD_sub: \"Bu se\u00e7im, tahmini greft say\u0131s\u0131n\u0131 etkiler.\",\n      density_natuerlich: \"Do\u011fal\", density_dichter: \"Daha S\u0131k\", density_maximal: \"Maksimum Yo\u011funluk\",\n      sD_note: \"Daha y\u00fcksek yo\u011funluk iste\u011fi, tahmini greft say\u0131s\u0131n\u0131 art\u0131rabilir.\",\n      s3_headline: \"\u00d6n sa\u00e7 analiziniz\",\n      sum_gender: \"Analiz kime ait\", sum_age: \"Ya\u015f grubu\", sum_duration: \"Sa\u00e7 d\u00f6k\u00fclmesi s\u00fcresi\", sum_zones: \"Se\u00e7ilen b\u00f6lgeler\",\n      sum_density: \"\u0130stenen Yo\u011funluk\",\n      sum_interpretation_prefix: \"Se\u00e7iminize g\u00f6re olas\u0131 ihtiya\u00e7 \u015fu anda yakla\u015f\u0131k\",\n      sum_interpretation_suffix: \"greft civar\u0131ndad\u0131r.\",\n      sum_interpretation_expert: \"Bu de\u011ferlendirme yaln\u0131zca fikir vermek ama\u00e7l\u0131d\u0131r. Sa\u011fl\u0131kl\u0131 bir planlama i\u00e7in uzmanlar\u0131m\u0131z ayr\u0131ca don\u00f6r b\u00f6lgenizi, sa\u00e7 yo\u011funlu\u011funuzu, sa\u00e7 yap\u0131n\u0131z\u0131 ve ki\u015fisel durumunuzu inceler.\",\n      sum_large_note: \"Daha geni\u015f b\u00f6lgelerde tedavi ki\u015fiselle\u015ftirilerek planlanabilir veya b\u00f6lgelere g\u00f6re \u00f6nceliklendirilebilir.\",\n      s3_photo_note: \"Analizinizi ki\u015fisel olarak inceletin \u2014 bir sonraki ad\u0131mda bunun i\u00e7in \u00fc\u00e7 foto\u011frafa ihtiyac\u0131m\u0131z var.\",\n      sP_headline: \"Daha kesin bir de\u011ferlendirme i\u00e7in \u00fc\u00e7 foto\u011frafa ihtiyac\u0131m\u0131z var.\",\n      sP_sub: \"L\u00fctfen \u00fc\u00e7 foto\u011fraf y\u00fckleyin. Foto\u011fraflar\u0131n\u0131z gizli tutulur ve yaln\u0131zca t\u0131bbi analiz i\u00e7in kullan\u0131l\u0131r.\",\n      upload_front: \"\u00d6n G\u00f6r\u00fcn\u00fcm\", upload_top: \"\u00dcst B\u00f6lge\", upload_donor: \"Don\u00f6r B\u00f6lge \/ Arka Kafa\",\n      upload_hint: \"Foto\u011fraf se\u00e7in\", upload_replace: \"Foto\u011fraf\u0131 de\u011fi\u015ftir\",\n      upload_error: \"L\u00fctfen ge\u00e7erli bir g\u00f6rsel se\u00e7in (JPG, PNG veya HEIC, maks. 15 MB).\",\n      s4_headline: \"Neredeyse tamam \u2014 \u00fccretsiz analiziniz\",\n      s4_sub: \"\u0130leti\u015fim bilgilerinizi b\u0131rak\u0131n. Ekibimiz sizinle ki\u015fisel olarak ileti\u015fime ge\u00e7ecektir.\",\n      lbl_firstname: \"Ad\", lbl_lastname: \"Soyad\", lbl_phone: \"Telefon numaras\u0131 \/ WhatsApp\", lbl_email: \"E-posta\",\n      lbl_location: \"Tercih edilen lokasyon\",\n      loc_placeholder: \"L\u00fctfen se\u00e7in\", loc_guetersloh: \"G\u00fctersloh\", loc_istanbul: \"\u0130stanbul\", loc_unsicher: \"Hen\u00fcz emin de\u011filim\",\n      lbl_consent: \"Bilgilerimin talebimin i\u015fleme al\u0131nmas\u0131 amac\u0131yla saklanmas\u0131n\u0131 ve kullan\u0131lmas\u0131n\u0131 kabul ediyorum.\",\n      err_required: \"Bu alan zorunludur.\",\n      err_email: \"L\u00fctfen ge\u00e7erli bir e-posta adresi girin.\",\n      form_error: \"L\u00fctfen bilgilerinizi kontrol edin.\",\n      btn_next: \"Devam et\", btn_back: \"Geri\", btn_continue: \"\u00dccretsiz analize devam et\", btn_submit: \"Analizi \u015fimdi g\u00f6nder\",\n      success_headline: \"Talebiniz i\u00e7in te\u015fekk\u00fcr ederiz\",\n      success_copy: \"Ekibimiz bilgilerinizi ki\u015fisel olarak inceleyecek ve \u00fccretsiz sa\u00e7 analiziniz i\u00e7in sizinle ileti\u015fime ge\u00e7ecektir.\",\n      whatsapp_cta: \"WhatsApp'\u0131 a\u00e7\"\n    }\n  };\n\n  var root = document.getElementById('voh-ha-root');\n  var lang = root.getAttribute('data-lang') === 'tr' ? 'tr' : 'de';\n\n  var state = {\n    step: 1,\n    gender: null,\n    age: null,\n    duration: null,\n    zones: [],\n    density: 'dichter',\n    photos: {front:null, top:null, donor:null}\n  };\n\n  function t(key){ return T[lang][key] !== undefined ? T[lang][key] : key; }\n\n  function applyTranslations(){\n    root.querySelectorAll('[data-t]').forEach(function(el){\n      var key = el.getAttribute('data-t');\n      el.textContent = t(key);\n    });\n  }\n\n  function computeEstimate(gender, zoneIds, densityKey){\n    if(!zoneIds || zoneIds.length === 0) return null;\n    var sorted = zoneIds.slice().sort();\n    var key = sorted.join('+');\n    var base;\n    if(CONFIG.overrides[key]){\n      base = CONFIG.overrides[key];\n    } else {\n      var list = CONFIG.zones[gender];\n      var min = 0, max = 0;\n      sorted.forEach(function(id){\n        var z = list.filter(function(x){return x.id === id;})[0];\n        if(z){ min += z.min; max += z.max; }\n      });\n      var count = sorted.length;\n      var factor = CONFIG.combinationFactors[count] || CONFIG.combinationFactors[6];\n      base = {min: min * factor, max: max * factor};\n    }\n    var dFactor = CONFIG.densityFactors[densityKey] || CONFIG.densityFactors.dichter;\n    var min2 = Math.round((base.min * dFactor) \/ 50) * 50;\n    var max2 = Math.round((base.max * dFactor) \/ 50) * 50;\n    return {min:min2, max:max2};\n  }\n\n  function fmt(n){ return n.toLocaleString(lang === 'tr' ? 'tr-TR' : 'de-DE'); }\n\n  \/* ---------------- SVG HEAD MAPS ---------------- *\/\n  function svgDefs(){\n    return '<defs>' +\n      '<pattern id=\"voh-diffuse-pattern\" patternUnits=\"userSpaceOnUse\" width=\"10\" height=\"10\">' +\n        '<rect width=\"10\" height=\"10\" fill=\"#EDE1D3\" fill-opacity=\"0.5\"\/><circle cx=\"2\" cy=\"2\" r=\"1.3\" fill=\"#B49A80\" fill-opacity=\"0.6\"\/>' +\n      '<\/pattern>' +\n      '<pattern id=\"voh-diffuse-pattern-active\" patternUnits=\"userSpaceOnUse\" width=\"10\" height=\"10\">' +\n        '<rect width=\"10\" height=\"10\" fill=\"#3555DA\" fill-opacity=\"0.3\"\/><circle cx=\"2\" cy=\"2\" r=\"1.3\" fill=\"#1E3FD1\" fill-opacity=\"0.6\"\/>' +\n      '<\/pattern>' +\n      '<radialGradient id=\"voh-dome-shade\" cx=\"36%\" cy=\"30%\" r=\"80%\">' +\n        '<stop offset=\"0%\" stop-color=\"#FBF6F0\"\/>' +\n        '<stop offset=\"45%\" stop-color=\"#F0E6D9\"\/>' +\n        '<stop offset=\"80%\" stop-color=\"#DCCAB6\"\/>' +\n        '<stop offset=\"100%\" stop-color=\"#C7B29C\"\/>' +\n      '<\/radialGradient>' +\n      '<radialGradient id=\"voh-dome-vignette\" cx=\"50%\" cy=\"42%\" r=\"62%\">' +\n        '<stop offset=\"58%\" stop-color=\"#5A3E24\" stop-opacity=\"0\"\/>' +\n        '<stop offset=\"100%\" stop-color=\"#5A3E24\" stop-opacity=\"0.18\"\/>' +\n      '<\/radialGradient>' +\n      '<pattern id=\"voh-hair-texture\" patternUnits=\"userSpaceOnUse\" width=\"7\" height=\"7\" patternTransform=\"rotate(38)\">' +\n        '<line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"7\" stroke=\"#8A7256\" stroke-width=\"1.1\" stroke-opacity=\"0.6\"\/>' +\n      '<\/pattern>' +\n      '<linearGradient id=\"voh-ear-shade\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\">' +\n        '<stop offset=\"0%\" stop-color=\"#F3E9DC\"\/><stop offset=\"100%\" stop-color=\"#D8C3AC\"\/>' +\n      '<\/linearGradient>' +\n    '<\/defs>';\n  }\n\n  function maleSvg(){\n    return '<svg viewBox=\"0 0 400 460\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Kopfansicht m\u00e4nnlich\">' +\n      svgDefs() +\n      '<path d=\"M200,64 C160,64 122,72 92,98 C64,122 48,162 45,208 C43,246 46,282 58,315 C72,352 98,382 138,404 C162,417 182,423 200,425 C218,423 238,417 262,404 C302,382 328,352 342,315 C354,282 357,246 355,208 C352,162 336,122 308,98 C278,72 240,64 200,64 Z\" fill=\"url(#voh-dome-shade)\" stroke=\"#B9A48D\" stroke-width=\"1.5\" stroke-opacity=\"0.55\"\/>' +\n      '<path d=\"M200,64 C160,64 122,72 92,98 C64,122 48,162 45,208 C43,246 46,282 58,315 C72,352 98,382 138,404 C162,417 182,423 200,425 C218,423 238,417 262,404 C302,382 328,352 342,315 C354,282 357,246 355,208 C352,162 336,122 308,98 C278,72 240,64 200,64 Z\" fill=\"url(#voh-dome-vignette)\"\/>' +\n      '<path d=\"M114,110 C92,130 80,164 78,204 C76,238 79,270 90,298 C104,328 128,354 158,372 C172,382 186,388 200,390 C214,388 228,382 242,372 C272,354 296,328 310,298 C321,270 324,238 322,204 C320,164 308,130 286,110\" fill=\"none\" stroke=\"url(#voh-hair-texture)\" stroke-width=\"28\" stroke-linecap=\"round\" opacity=\"0.8\"\/>' +\n      '<path d=\"M48,222 C40,230 38,246 44,260 C48,269 57,271 60,264 C62,253 60,236 54,225 C52,222 50,221 48,222 Z\" fill=\"url(#voh-ear-shade)\" stroke=\"#B9A48D\" stroke-width=\"1\" stroke-opacity=\"0.6\"\/>' +\n      '<path d=\"M352,222 C360,230 362,246 356,260 C352,269 343,271 340,264 C338,253 340,236 346,225 C348,222 350,221 352,222 Z\" fill=\"url(#voh-ear-shade)\" stroke=\"#B9A48D\" stroke-width=\"1\" stroke-opacity=\"0.6\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"m1\" tabindex=\"0\" role=\"button\" aria-label=\"Geheimratsecken links\" ' +\n        'd=\"M78 130 C78 108 96 88 128 82 C142 100 146 122 140 146 C118 150 96 144 78 130 Z\"\/>' +\n      '<path class=\"voh-zone\" data-zone=\"m1b\" data-mirror-of=\"m1\" tabindex=\"0\" role=\"button\" aria-label=\"Geheimratsecken rechts\" ' +\n        'd=\"M322 130 C322 108 304 88 272 82 C258 100 254 122 260 146 C282 150 304 144 322 130 Z\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"m2\" tabindex=\"0\" role=\"button\" aria-label=\"Haarlinie Front\" ' +\n        'd=\"M124 88 C132 72 164 64 200 64 C236 64 268 72 276 88 C270 108 248 126 200 128 C152 126 130 108 124 88 Z\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"m3\" tabindex=\"0\" role=\"button\" aria-label=\"Frontbereich\" ' +\n        'd=\"M92 148 C120 132 160 124 200 124 C240 124 280 132 308 148 C310 172 300 194 200 198 C100 194 90 172 92 148 Z\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"m4\" tabindex=\"0\" role=\"button\" aria-label=\"Mittlerer Oberkopf\" ' +\n        'd=\"M100 206 C124 196 162 190 200 190 C238 190 276 196 300 206 C304 234 292 262 200 266 C108 262 96 234 100 206 Z\"\/>' +\n\n      '<ellipse class=\"voh-zone\" data-zone=\"m5\" tabindex=\"0\" role=\"button\" aria-label=\"Tonsur\" cx=\"200\" cy=\"330\" rx=\"76\" ry=\"66\"\/>' +\n\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"m1\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"108\" cy=\"116\" r=\"46\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"m1b\" data-mirror-of=\"m1\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"292\" cy=\"116\" r=\"46\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"m2\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"200\" cy=\"96\" r=\"44\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"m3\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"200\" cy=\"161\" r=\"52\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"m4\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"200\" cy=\"228\" r=\"52\"\/>' +\n\n      '<\/svg>';\n  }\n\n  function femaleSvg(){\n    return '<svg viewBox=\"0 0 400 460\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Kopfansicht weiblich\">' +\n      svgDefs() +\n      '<path d=\"M200,66 C165,66 132,74 106,98 C80,120 65,158 62,204 C60,244 63,280 74,312 C87,348 111,376 148,398 C170,411 186,417 200,419 C214,417 230,411 252,398 C289,376 313,348 326,312 C337,280 340,244 338,204 C335,158 320,120 294,98 C268,74 235,66 200,66 Z\" fill=\"url(#voh-dome-shade)\" stroke=\"#B9A48D\" stroke-width=\"1.5\" stroke-opacity=\"0.55\"\/>' +\n      '<path d=\"M200,66 C165,66 132,74 106,98 C80,120 65,158 62,204 C60,244 63,280 74,312 C87,348 111,376 148,398 C170,411 186,417 200,419 C214,417 230,411 252,398 C289,376 313,348 326,312 C337,280 340,244 338,204 C335,158 320,120 294,98 C268,74 235,66 200,66 Z\" fill=\"url(#voh-dome-vignette)\"\/>' +\n      '<path d=\"M104,102 C78,124 64,160 61,204 C59,240 62,274 74,304 C89,336 114,362 148,382 C170,394 186,400 200,402 C214,400 230,394 252,382 C286,362 311,336 326,304 C338,274 341,240 339,204 C336,160 322,124 296,102\" fill=\"none\" stroke=\"url(#voh-hair-texture)\" stroke-width=\"24\" stroke-linecap=\"round\" opacity=\"0.5\"\/>' +\n      '<path d=\"M200,74 L200,142\" stroke=\"#8A7256\" stroke-width=\"2\" stroke-opacity=\"0.32\" stroke-linecap=\"round\"\/>' +\n      '<path d=\"M55,224 C47,232 45,248 51,262 C55,271 64,273 67,266 C69,255 67,238 61,227 C59,224 57,223 55,224 Z\" fill=\"url(#voh-ear-shade)\" stroke=\"#B9A48D\" stroke-width=\"1\" stroke-opacity=\"0.6\"\/>' +\n      '<path d=\"M345,224 C353,232 355,248 349,262 C345,271 336,273 333,266 C331,255 333,238 339,227 C341,224 343,223 345,224 Z\" fill=\"url(#voh-ear-shade)\" stroke=\"#B9A48D\" stroke-width=\"1\" stroke-opacity=\"0.6\"\/>' +\n\n      '<path class=\"voh-zone voh-zone--diffuse\" data-zone=\"f5\" tabindex=\"0\" role=\"button\" aria-label=\"Diffuse Verdichtung\" ' +\n        'd=\"M90 150 C124 130 162 122 200 122 C238 122 276 130 310 150 C316 210 308 300 268 356 C240 384 160 384 132 356 C92 300 84 210 90 150 Z\" fill-opacity=\"0.4\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"f2\" tabindex=\"0\" role=\"button\" aria-label=\"Schl\u00e4fe links\" ' +\n        'd=\"M84 132 C84 114 98 98 122 92 C134 106 138 124 134 144 C114 148 96 144 84 132 Z\"\/>' +\n      '<path class=\"voh-zone\" data-zone=\"f2b\" data-mirror-of=\"f2\" tabindex=\"0\" role=\"button\" aria-label=\"Schl\u00e4fe rechts\" ' +\n        'd=\"M316 132 C316 114 302 98 278 92 C266 106 262 124 266 144 C286 148 304 144 316 132 Z\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"f1\" tabindex=\"0\" role=\"button\" aria-label=\"Haarlinie\" ' +\n        'd=\"M152 76 C167 68 183 64 200 64 C217 64 233 68 248 76 C243 100 232 116 200 120 C168 116 157 100 152 76 Z\"\/>' +\n\n      '<path class=\"voh-zone\" data-zone=\"f3\" tabindex=\"0\" role=\"button\" aria-label=\"Vorderer Scheitel\" ' +\n        'd=\"M182 118 C189 114 211 114 218 118 C222 148 222 182 216 214 C210 218 190 218 184 214 C178 182 178 148 182 118 Z\"\/>' +\n\n      '<ellipse class=\"voh-zone\" data-zone=\"f4\" tabindex=\"0\" role=\"button\" aria-label=\"Mittlerer Oberkopf Scheitel\" cx=\"200\" cy=\"258\" rx=\"60\" ry=\"52\"\/>' +\n\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"f2\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"109\" cy=\"118\" r=\"46\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"f2b\" data-mirror-of=\"f2\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"291\" cy=\"118\" r=\"46\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"f1\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"200\" cy=\"94\" r=\"44\"\/>' +\n      '<circle class=\"voh-zone voh-hit\" data-zone=\"f3\" tabindex=\"-1\" aria-hidden=\"true\" cx=\"200\" cy=\"166\" r=\"42\"\/>' +\n\n      '<\/svg>';\n  }\n\n  var svgWrap = document.getElementById('voh-ha-svgwrap');\n  var legendEl = document.getElementById('voh-ha-legend');\n  var hasShownZoneHint = false;\n\n  function renderHead(){\n    svgWrap.innerHTML = state.gender === 'female' ? femaleSvg() : maleSvg();\n    bindZoneEvents();\n    renderLegend();\n    syncZoneVisualState();\n    maybeShowZoneHint();\n  }\n\n  function maybeShowZoneHint(){\n    if(hasShownZoneHint) return;\n    var isTouch = false;\n    try { isTouch = window.matchMedia('(hover: none)').matches; } catch(e){}\n    if(!isTouch) return;\n    hasShownZoneHint = true;\n    requestAnimationFrame(function(){\n      var zones = svgWrap.querySelectorAll('.voh-zone:not(.voh-hit)');\n      zones.forEach(function(el){ el.classList.add('voh-hint-pulse'); });\n      setTimeout(function(){\n        zones.forEach(function(el){ el.classList.remove('voh-hint-pulse'); });\n      }, 1050);\n    });\n  }\n\n  function currentZoneList(){\n    return CONFIG.zones[state.gender === 'female' ? 'female' : 'male'];\n  }\n\n  function zoneLabel(id){\n    var baseId = id.replace(\/b$\/, '');\n    var z = currentZoneList().filter(function(x){return x.id === baseId;})[0];\n    return z ? z.label[lang] : id;\n  }\n\n  function normalizedSelectedIds(){\n    return state.zones.map(function(id){ return id.replace(\/b$\/, ''); })\n      .filter(function(v,i,arr){ return arr.indexOf(v) === i; });\n  }\n\n  function toggleZone(el){\n    var id = el.getAttribute('data-zone');\n    var mirrorOf = el.getAttribute('data-mirror-of');\n    var baseId = mirrorOf || id;\n    var siblingSelector = '[data-zone=\"' + baseId + '\"], [data-mirror-of=\"' + baseId + '\"]';\n    var alreadySelected = state.zones.indexOf(id) !== -1 || (mirrorOf && state.zones.indexOf(mirrorOf) !== -1);\n\n    if(mirrorOf || svgWrap.querySelector('[data-mirror-of=\"' + id + '\"]')){\n      var partnerId = mirrorOf ? mirrorOf : svgWrap.querySelector('[data-mirror-of=\"' + id + '\"]').getAttribute('data-zone');\n      var isSel = state.zones.indexOf(id) !== -1 || state.zones.indexOf(partnerId) !== -1;\n      state.zones = state.zones.filter(function(z){ return z !== id && z !== partnerId; });\n      if(!isSel){ state.zones.push(id); state.zones.push(partnerId); }\n    } else {\n      var idx = state.zones.indexOf(id);\n      if(idx === -1){ state.zones.push(id); } else { state.zones.splice(idx,1); }\n    }\n    syncZoneVisualState();\n    renderLegend();\n    renderResultPanel();\n    updateStep2NextState();\n  }\n\n  function syncZoneVisualState(){\n    svgWrap.querySelectorAll('.voh-zone').forEach(function(el){\n      var id = el.getAttribute('data-zone');\n      el.classList.toggle('is-selected', state.zones.indexOf(id) !== -1);\n    });\n  }\n\n  function setZoneHoverState(el, on){\n    var id = el.getAttribute('data-zone');\n    var mirrorOf = el.getAttribute('data-mirror-of');\n    var ids = [id];\n    if(mirrorOf){\n      ids.push(mirrorOf);\n    } else {\n      var partnerEl = svgWrap.querySelector('[data-mirror-of=\"' + id + '\"]');\n      if(partnerEl){ ids.push(partnerEl.getAttribute('data-zone')); }\n    }\n    svgWrap.querySelectorAll('.voh-zone').forEach(function(z){\n      if(ids.indexOf(z.getAttribute('data-zone')) !== -1){\n        z.classList.toggle('voh-zone-hovered', on);\n      }\n    });\n  }\n\n  function bindZoneEvents(){\n    svgWrap.querySelectorAll('.voh-zone').forEach(function(el){\n      el.addEventListener('mousedown', function(){ el.dataset.pointerActivated = '1'; });\n      el.addEventListener('click', function(){\n        toggleZone(el);\n        if(el.dataset.pointerActivated){ el.blur(); delete el.dataset.pointerActivated; }\n      });\n      el.addEventListener('keydown', function(e){\n        if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); toggleZone(el); }\n      });\n      el.addEventListener('mouseenter', function(){ setZoneHoverState(el, true); });\n      el.addEventListener('mouseleave', function(){ setZoneHoverState(el, false); });\n      el.addEventListener('focus', function(){ setZoneHoverState(el, true); });\n      el.addEventListener('blur', function(){ setZoneHoverState(el, false); });\n    });\n  }\n\n  function renderLegend(){\n    var ids = normalizedSelectedIds();\n    var list = currentZoneList();\n    legendEl.innerHTML = list.map(function(z){\n      var active = ids.indexOf(z.id) !== -1;\n      return '<span class=\"voh-ha__zonetag' + (active ? ' is-active' : '') + '\"><span class=\"voh-dot\"><\/span>' + z.label[lang] + '<\/span>';\n    }).join('');\n  }\n\n  function renderResultPanel(){\n    var ids = normalizedSelectedIds();\n    var selectedListEl = document.getElementById('voh-ha-selectedlist');\n    var bodyEl = document.getElementById('voh-ha-resultbody');\n\n    if(ids.length === 0){\n      selectedListEl.innerHTML = '';\n      bodyEl.innerHTML = '<p class=\"voh-ha__emptyhint\">' + t('empty_hint') + '<\/p>';\n      return;\n    }\n\n    selectedListEl.innerHTML = ids.map(function(id){\n      return '<span class=\"voh-ha__chip\">' + zoneLabel(id) + '<\/span>';\n    }).join('');\n\n    var est = computeEstimate(state.gender === 'female' ? 'female' : 'male', ids);\n    bodyEl.innerHTML =\n      '<div class=\"voh-ha__resultnum\">ca. <span>' + fmt(est.min) + '\u2013' + fmt(est.max) + '<\/span><\/div>' +\n      '<div class=\"voh-ha__resultunit\">' + t('result_range_unit') + ' \u00b7 Grafts<\/div>' +\n      '<p class=\"voh-ha__resultnote\">' + t('result_note') + '<\/p>' +\n      '<div class=\"voh-ha__resultcta\">' + t('result_recommend') + '<\/div>';\n  }\n\n  function updateStep2NextState(){\n    document.getElementById('voh-ha-s2-next').disabled = normalizedSelectedIds().length === 0;\n  }\n\n  \/* ---------------- progress + step nav ---------------- *\/\n  var progressEl = document.getElementById('voh-ha-progress');\n  function renderProgress(){\n    var labels = [t('progress_1'), t('progress_2'), t('progress_density'), t('progress_3'), t('progress_photos'), t('progress_4')];\n    progressEl.innerHTML = labels.map(function(label, i){\n      var n = i+1;\n      var cls = n < state.step ? 'is-done' : (n === state.step ? 'is-active' : '');\n      return '<div class=\"voh-ha__pstep ' + cls + '\"><span class=\"voh-ha__pnum\">' + n + '<\/span><span class=\"voh-ha__plabel\">' + label + '<\/span><\/div>';\n    }).join('');\n  }\n\n  function goToStep(n){\n    state.step = n;\n    root.querySelectorAll('.voh-ha__step').forEach(function(el){\n      el.classList.toggle('is-current', parseInt(el.getAttribute('data-step'),10) === n);\n    });\n    renderProgress();\n    if(n === 2){ renderHead(); renderResultPanel(); updateStep2NextState(); }\n    if(n === 4){ renderSummary(); }\n    if(n === 5){ updateUploadsNextState(); }\n    if(n === 6){ renderLeadSummary(); }\n    root.scrollIntoView({behavior:'smooth', block:'start'});\n  }\n\n  \/* ---------------- step 1 logic ---------------- *\/\n  function bindCardGroup(groupName, stateKey){\n    var group = root.querySelector('[data-group=\"' + groupName + '\"]');\n    group.querySelectorAll('.voh-ha__card').forEach(function(card){\n      card.addEventListener('click', function(){\n        group.querySelectorAll('.voh-ha__card').forEach(function(c){ c.classList.remove('is-selected'); });\n        card.classList.add('is-selected');\n        state[stateKey] = card.getAttribute('data-value');\n        updateStep1NextState();\n      });\n    });\n  }\n  function updateStep1NextState(){\n    document.getElementById('voh-ha-s1-next').disabled = !(state.gender && state.age && state.duration);\n  }\n  bindCardGroup('gender', 'gender');\n  bindCardGroup('age', 'age');\n  bindCardGroup('duration', 'duration');\n  bindCardGroup('density', 'density');\n\n  document.getElementById('voh-ha-s1-next').addEventListener('click', function(){ goToStep(2); });\n  document.getElementById('voh-ha-s2-back').addEventListener('click', function(){ goToStep(1); });\n  document.getElementById('voh-ha-s2-next').addEventListener('click', function(){ goToStep(3); });\n  document.getElementById('voh-ha-sD-back').addEventListener('click', function(){ goToStep(2); });\n  document.getElementById('voh-ha-sD-next').addEventListener('click', function(){ goToStep(4); });\n  document.getElementById('voh-ha-s3-back').addEventListener('click', function(){ goToStep(3); });\n  document.getElementById('voh-ha-s3-next').addEventListener('click', function(){ goToStep(5); });\n  document.getElementById('voh-ha-sP-back').addEventListener('click', function(){ goToStep(4); });\n  document.getElementById('voh-ha-sP-next').addEventListener('click', function(){ goToStep(6); });\n  document.getElementById('voh-ha-s4-back').addEventListener('click', function(){ goToStep(5); });\n\n  \/* ---------------- step 3 summary ---------------- *\/\n  var ageLabelKeys = {u25:'age_u25', '25_34':'age_25_34', '35_44':'age_35_44', '45_54':'age_45_54', '55p':'age_55p'};\n  var durLabelKeys = {u1:'dur_u1', '1_3':'dur_1_3', '3_5':'dur_3_5', '5p':'dur_5p'};\n\n  var densityLabelKeys = {natuerlich:'density_natuerlich', dichter:'density_dichter', maximal:'density_maximal'};\n\n  function renderSummary(){\n    var ids = normalizedSelectedIds();\n    var est = computeEstimate(state.gender === 'female' ? 'female' : 'male', ids, state.density);\n    document.getElementById('voh-ha-sum-gender').textContent = t(state.gender === 'female' ? 'opt_female' : 'opt_male');\n    document.getElementById('voh-ha-sum-age').textContent = t(ageLabelKeys[state.age]);\n    document.getElementById('voh-ha-sum-duration').textContent = t(durLabelKeys[state.duration]);\n    document.getElementById('voh-ha-sum-zones').textContent = ids.map(zoneLabel).join(', ');\n    document.getElementById('voh-ha-sum-density').textContent = t(densityLabelKeys[state.density] || 'density_dichter');\n\n    var resultEl = document.getElementById('voh-ha-sum-result');\n    if(est){\n      resultEl.innerHTML = '<div class=\"voh-ha__resultnum\">ca. <span>' + fmt(est.min) + '\u2013' + fmt(est.max) + '<\/span><\/div><div class=\"voh-ha__resultunit\">Grafts<\/div>';\n      var interpretation = t('sum_interpretation_prefix') + ' ' + fmt(est.min) + '\u2013' + fmt(est.max) + ' ' + t('sum_interpretation_suffix') + ' ' + t('sum_interpretation_expert');\n      if(est.max > CONFIG.maxReasonableTotal){ interpretation += ' ' + t('sum_large_note'); }\n      document.getElementById('voh-ha-sum-interpretation').textContent = interpretation;\n    }\n  }\n\n  \/* ---------------- step 6 lead form ---------------- *\/\n  function renderLeadSummary(){\n    var ids = normalizedSelectedIds();\n    var est = computeEstimate(state.gender === 'female' ? 'female' : 'male', ids, state.density);\n    var parts = [\n      t(state.gender === 'female' ? 'opt_female' : 'opt_male'),\n      t(ageLabelKeys[state.age]),\n      ids.map(zoneLabel).join(', '),\n      t(densityLabelKeys[state.density] || 'density_dichter'),\n      est ? ('ca. ' + fmt(est.min) + '\u2013' + fmt(est.max) + ' Grafts') : ''\n    ];\n    document.getElementById('voh-ha-leadsummary').textContent = parts.filter(Boolean).join(' \u00b7 ');\n  }\n\n  \/* ---------------- step 5 photo upload ---------------- *\/\n  var PHOTO_MAX_BYTES = 15 * 1024 * 1024;\n  var PHOTO_ALLOWED = ['image\/jpeg','image\/png','image\/heic','image\/heif'];\n\n  function updateUploadsNextState(){\n    var allFilled = ['front','top','donor'].every(function(k){ return !!state.photos[k]; });\n    var btn = document.getElementById('voh-ha-sP-next');\n    if(btn) btn.disabled = !allFilled;\n  }\n\n  root.querySelectorAll('.voh-ha__upload').forEach(function(box){\n    var key = box.getAttribute('data-upload');\n    var input = box.querySelector('input[type=\"file\"]');\n    var zone = box.querySelector('.voh-ha__uploadzone');\n    var thumb = box.querySelector('.voh-ha__uploadthumb');\n    var replaceBtn = box.querySelector('.voh-ha__uploadreplace');\n\n    function acceptFile(file){\n      if(!file) return;\n      var typeOk = PHOTO_ALLOWED.indexOf(file.type) !== -1 || \/\\.(jpe?g|png|heic|heif)$\/i.test(file.name || '');\n      var sizeOk = file.size <= PHOTO_MAX_BYTES;\n      if(!typeOk || !sizeOk){\n        box.classList.add('has-error');\n        box.classList.remove('is-filled');\n        state.photos[key] = null;\n        updateUploadsNextState();\n        return;\n      }\n      box.classList.remove('has-error');\n      box.classList.add('is-filled');\n      state.photos[key] = file;\n      var url = URL.createObjectURL(file);\n      thumb.src = url;\n      updateUploadsNextState();\n    }\n\n    input.addEventListener('change', function(){ acceptFile(input.files && input.files[0]); });\n\n    zone.addEventListener('keydown', function(e){\n      if(e.key === 'Enter' || e.key === ' '){ e.preventDefault(); input.click(); }\n    });\n\n    if(replaceBtn){\n      replaceBtn.addEventListener('click', function(e){\n        e.preventDefault();\n        input.click();\n      });\n    }\n  });\n\n  var form = document.getElementById('voh-ha-form');\n\n  \/* ---------------- CF7 integration ---------------- *\/\n  var WHATSAPP_URL = 'https:\/\/wa.me\/491759660651?text=Hallo,%20ich%20interessiere%20mich%20f%C3%BCr%20eine%20Haartransplantation%20in%20Deutschland%20und%20h%C3%A4tte%20gern%20eine%20kostenlose%20Haaranalyse.';\n\n  var cf7Form = null; \/\/ resolved lazily once the CF7 markup has rendered on the page\n  var lastPayload = null;\n\n  function getCf7Form(){\n    if(cf7Form && document.body.contains(cf7Form)) return cf7Form;\n    var wrap = document.getElementById('voh-ha-cf7-wrap');\n    cf7Form = wrap ? wrap.querySelector('form.wpcf7-form') : document.querySelector('form.wpcf7-form');\n    return cf7Form;\n  }\n\n  function setCf7Field(f, name, value){\n    var el = f.querySelector('[name=\"' + name + '\"]');\n    if(el){ el.value = value; }\n  }\n\n  function setCf7FileField(f, name, file){\n    if(!file) return;\n    var el = f.querySelector('input[type=\"file\"][name=\"' + name + '\"]');\n    if(!el) return;\n    try {\n      var dt = new DataTransfer();\n      dt.items.add(file);\n      el.files = dt.files;\n    } catch(err) { \/* DataTransfer assignment unsupported: field stays empty, CF7 will report it as required *\/ }\n  }\n\n  function hideCf7FieldsAndRelocateTurnstile(){\n    var f = getCf7Form();\n    if(!f) return false;\n    if(!f.id){ f.id = 'voh-ha-real-cf7-form'; }\n\n    ['vorname','nachname','telefon','email','standort','gender','age_group','duration','zones','estimate','density','foto_vorderansicht','foto_oberkopf','foto_spenderbereich']\n      .forEach(function(name){\n        var el = f.querySelector('[name=\"' + name + '\"]');\n        if(!el) return;\n        var wrap = el.closest('.wpcf7-form-control-wrap') || el.parentElement;\n        wrap.classList.add('voh-ha-cf7-hide-field');\n      });\n\n    var submitBtn = f.querySelector('input[type=\"submit\"]');\n    if(submitBtn) submitBtn.classList.add('voh-ha-cf7-hide-field');\n\n    \/\/ Locate the Turnstile widget (iframe from challenges.cloudflare.com, or CF7's own\n    \/\/ .wpcf7-form-control-wrap around the [turnstile] tag) and move it into the visible slot.\n    var slot = document.getElementById('voh-ha-cf7-turnstile-slot');\n    var tsWrap = f.querySelector('.wpcf7-form-control-wrap.turnstile-response')\n      || f.querySelector('[class*=\"turnstile\"]')\n      || (function(){\n           var iframe = f.querySelector('iframe[src*=\"challenges.cloudflare.com\"], iframe[src*=\"turnstile\"]');\n           return iframe ? iframe.closest('.wpcf7-form-control-wrap') || iframe.parentElement : null;\n         })();\n    if(tsWrap && slot && !slot.contains(tsWrap)){\n      slot.appendChild(tsWrap);\n    }\n\n    if(tsWrap){\n      tsWrap.querySelectorAll('input, select, textarea, button').forEach(function(el){ el.setAttribute('form', f.id); });\n    }\n\n    return true;\n  }\n\n  function tryHideRepeatedly(){\n    \/\/ Keeps re-applying (cheap, idempotent) for the life of the page: covers the\n    \/\/ initial render, and CF7 re-rendering\/resetting the Turnstile widget after a\n    \/\/ failed submit attempt (which would otherwise re-show the raw form fields).\n    setInterval(function(){ hideCf7FieldsAndRelocateTurnstile(); }, 400);\n  }\n  tryHideRepeatedly();\n\n  function showFormError(){\n    document.getElementById('voh-ha-errbanner').classList.add('is-visible');\n  }\n  function hideFormError(){\n    document.getElementById('voh-ha-errbanner').classList.remove('is-visible');\n  }\n\n  document.addEventListener('wpcf7mailsent', function(e){\n    var f = getCf7Form();\n    if(!f || e.target !== f) return;\n    hideFormError();\n    goToStep(7);\n    renderSuccess(lastPayload);\n  }, false);\n\n  document.addEventListener('wpcf7invalid', function(e){\n    var f = getCf7Form();\n    if(!f || e.target !== f) return;\n    showFormError();\n  }, false);\n\n  document.addEventListener('wpcf7mailfailed', function(e){\n    var f = getCf7Form();\n    if(!f || e.target !== f) return;\n    showFormError();\n  }, false);\n\n  form.addEventListener('submit', function(e){\n    e.preventDefault();\n    var valid = true;\n    ['firstname','lastname','phone','email','location'].forEach(function(name){\n      var input = form.querySelector('[name=\"' + name + '\"]');\n      var fieldWrap = input.closest('.voh-ha__field');\n      var ok = input.checkValidity();\n      fieldWrap.classList.toggle('has-error', !ok);\n      if(!ok) valid = false;\n    });\n    var consent = form.querySelector('[name=\"consent\"]');\n    if(!consent.checked){ valid = false; }\n    document.getElementById('voh-ha-errbanner').classList.toggle('is-visible', !valid);\n    if(!valid) return;\n\n    var ids = normalizedSelectedIds();\n    var est = computeEstimate(state.gender === 'female' ? 'female' : 'male', ids, state.density);\n    var payload = {\n      gender: state.gender, age: state.age, duration: state.duration,\n      zones: ids, density: state.density, estimate: est,\n      firstname: form.firstname.value, lastname: form.lastname.value,\n      phone: form.phone.value, email: form.email.value, location: form.location.value\n    };\n    lastPayload = payload;\n    window.dispatchEvent(new CustomEvent('voh-haaranalyse-submit', {detail: payload}));\n\n    var f = getCf7Form();\n    if(!f){\n      \/\/ Real CF7 form not found\/wired yet \u2014 cannot submit a real lead.\n      showFormError();\n      return;\n    }\n    setCf7Field(f, 'vorname', payload.firstname);\n    setCf7Field(f, 'nachname', payload.lastname);\n    setCf7Field(f, 'telefon', payload.phone);\n    setCf7Field(f, 'email', payload.email);\n    setCf7Field(f, 'standort', payload.location);\n    setCf7Field(f, 'gender', payload.gender || '');\n    setCf7Field(f, 'age_group', payload.age || '');\n    setCf7Field(f, 'duration', payload.duration || '');\n    setCf7Field(f, 'zones', ids.map(zoneLabel).join(', '));\n    setCf7Field(f, 'density', t(densityLabelKeys[state.density] || 'density_dichter'));\n    setCf7Field(f, 'estimate', est ? (fmt(est.min) + '\u2013' + fmt(est.max) + ' Grafts') : '');\n    setCf7FileField(f, 'foto_vorderansicht', state.photos.front);\n    setCf7FileField(f, 'foto_oberkopf', state.photos.top);\n    setCf7FileField(f, 'foto_spenderbereich', state.photos.donor);\n    var cf7Consent = f.querySelector('[name=\"consent\"]');\n    if(cf7Consent){ cf7Consent.checked = true; }\n\n    hideFormError();\n    f.requestSubmit();\n  });\n\n  function renderSuccess(payload){\n    if(!payload) return;\n    var est = payload.estimate;\n    document.getElementById('voh-ha-success-result').innerHTML = est ?\n      ('<div class=\"voh-ha__resultnum\" style=\"font-size:26px;\">ca. <span>' + fmt(est.min) + '\u2013' + fmt(est.max) + '<\/span><\/div><div class=\"voh-ha__resultunit\">Grafts<\/div>') : '';\n    var ctaEl = document.getElementById('voh-ha-success-cta');\n    ctaEl.innerHTML = '<a class=\"voh-ha__btn voh-ha__btn--whatsapp\" href=\"' + WHATSAPP_URL + '\" target=\"_blank\" rel=\"noopener\" data-t=\"whatsapp_cta\"><\/a>';\n    applyTranslations();\n  }\n\n  \/* ---------------- init ---------------- *\/\n  applyTranslations();\n  renderProgress();\n  updateStep1NextState();\n})();\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2191 01 02 03<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-351","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair\" \/>\n<meta property=\"og:description\" content=\"\u2191 01 02 03\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/\" \/>\n<meta property=\"og:site_name\" content=\"Vital of Hair\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-02T16:00:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/kisisel-sac-analizi\\\/\",\"url\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/kisisel-sac-analizi\\\/\",\"name\":\"Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#website\"},\"datePublished\":\"2025-12-17T09:56:33+00:00\",\"dateModified\":\"2026-09-02T16:00:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/kisisel-sac-analizi\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/kisisel-sac-analizi\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/kisisel-sac-analizi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/de\\\/startseite\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ki\u015fisel Sa\u00e7 Analizi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#website\",\"url\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/\",\"name\":\"Vital of Hair\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#organization\",\"name\":\"Vital of Hair\",\"url\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/vital-of-hair-logo.png\",\"contentUrl\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/vital-of-hair-logo.png\",\"width\":417,\"height\":108,\"caption\":\"Vital of Hair\"},\"image\":{\"@id\":\"https:\\\/\\\/vitalofhair.de\\\/reliant\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"tr_TR","og_type":"article","og_title":"Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair","og_description":"\u2191 01 02 03","og_url":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/","og_site_name":"Vital of Hair","article_modified_time":"2026-09-02T16:00:19+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tahmini okuma s\u00fcresi":"1 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/","url":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/","name":"Ki\u015fisel Sa\u00e7 Analizi | Vital of Hair","isPartOf":{"@id":"https:\/\/vitalofhair.de\/reliant\/#website"},"datePublished":"2025-12-17T09:56:33+00:00","dateModified":"2026-09-02T16:00:19+00:00","breadcrumb":{"@id":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vitalofhair.de\/reliant\/kisisel-sac-analizi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/vitalofhair.de\/reliant\/de\/startseite\/"},{"@type":"ListItem","position":2,"name":"Ki\u015fisel Sa\u00e7 Analizi"}]},{"@type":"WebSite","@id":"https:\/\/vitalofhair.de\/reliant\/#website","url":"https:\/\/vitalofhair.de\/reliant\/","name":"Vital of Hair","description":"","publisher":{"@id":"https:\/\/vitalofhair.de\/reliant\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vitalofhair.de\/reliant\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/vitalofhair.de\/reliant\/#organization","name":"Vital of Hair","url":"https:\/\/vitalofhair.de\/reliant\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/vitalofhair.de\/reliant\/#\/schema\/logo\/image\/","url":"https:\/\/vitalofhair.de\/reliant\/wp-content\/uploads\/2025\/12\/vital-of-hair-logo.png","contentUrl":"https:\/\/vitalofhair.de\/reliant\/wp-content\/uploads\/2025\/12\/vital-of-hair-logo.png","width":417,"height":108,"caption":"Vital of Hair"},"image":{"@id":"https:\/\/vitalofhair.de\/reliant\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/pages\/351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/comments?post=351"}],"version-history":[{"count":15,"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/pages\/351\/revisions"}],"predecessor-version":[{"id":1877,"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/pages\/351\/revisions\/1877"}],"wp:attachment":[{"href":"https:\/\/vitalofhair.de\/reliant\/wp-json\/wp\/v2\/media?parent=351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}