{"id":241,"date":"2026-04-12T00:22:40","date_gmt":"2026-04-12T00:22:40","guid":{"rendered":"https:\/\/360stark.com\/?page_id=241"},"modified":"2026-05-02T21:33:58","modified_gmt":"2026-05-02T21:33:58","slug":"links","status":"publish","type":"page","link":"https:\/\/360stark.com\/de\/links\/","title":{"rendered":"BioLink"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"241\" class=\"elementor elementor-241\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fbff337 e-con-full e-flex e-con e-parent\" data-id=\"fbff337\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1d748e7 elementor-widget elementor-widget-html\" data-id=\"1d748e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script type=\"text\/javascript\">\n    (function(c,l,a,r,i,t,y){\n        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n        t=l.createElement(r);t.async=1;t.src=\"https:\/\/www.clarity.ms\/tag\/\"+i;\n        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n    })(window, document, \"clarity\", \"script\", \"wjh4kj5gq7\");\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1ab909 elementor-widget elementor-widget-html\" data-id=\"c1ab909\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0\">\n<title>360\u00baStark \u00b7 Norman Eckardt<\/title>\n<meta name=\"description\" content=\"360\u00baStark \u00b7 Full Stack Agency Made in Europe \u00b7 Norman Eckardt.\">\n<meta property=\"og:type\" content=\"website\">\n<meta property=\"og:url\" content=\"https:\/\/360stark.com\/links\">\n<meta property=\"og:title\" content=\"360\u00baStark \u00b7 Norman Eckardt\">\n<meta property=\"og:description\" content=\"Full Stack Agency Made in Europe.\">\n<meta property=\"og:image\" content=\"https:\/\/360stark.com\/wp-content\/uploads\/2026\/04\/Perfil-Biolink-Foto.png\">\n<meta name=\"theme-color\" content=\"#0f1117\">\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@300;400;600;700&family=Barlow+Condensed:wght@700&display=swap\" rel=\"stylesheet\">\n\n<style>\n:root {\n    --orange:        #FF8C00;\n    --orange-deep:   #E67A00;\n    --orange-light:  #FFB347;\n    --carbon:        #0f1117;\n    --carbon-mid:    #161b24;\n    --carbon-border: rgba(255,255,255,0.07);\n    --white:         #ffffff;\n    --white-muted:   rgba(255,255,255,0.6);\n}\n\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\nhtml { background: var(--carbon) !important; overscroll-behavior: none; }\n\nbody {\n    font-family: 'Barlow', Arial, sans-serif;\n    color: var(--white);\n    overflow-x: hidden;\n    min-height: 100vh;\n    background: var(--carbon) !important;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   HERO BACKGROUND \u2014 exact from 360stark.com hero code\n   .hero-bg + .hero-grid-lines\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Base carbon layer \u2014 fixed so it covers overscroll *\/\n#hero-bg {\n    position: fixed;\n    top: -200px; bottom: -200px;\n    left: -20px; right: -20px;\n    z-index: -3;\n    background: var(--carbon);\n    pointer-events: none;\n}\n\n\/* .hero-bg \u2014 radial gradients *\/\n#hero-radial {\n    position: fixed;\n    top: -200px; bottom: -200px;\n    left: -20px; right: -20px;\n    z-index: -2;\n    background:\n        radial-gradient(ellipse 60% 50% at 70% 40%, rgba(255,140,0,0.08) 0%, transparent 70%),\n        radial-gradient(ellipse 40% 60% at 20% 70%, rgba(107,122,144,0.06) 0%, transparent 70%);\n    pointer-events: none;\n}\n\n\/* .hero-grid-lines *\/\n#hero-grid {\n    position: fixed;\n    top: -200px; bottom: -200px;\n    left: -20px; right: -20px;\n    z-index: -1;\n    background-image:\n        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\n    background-size: 80px 80px;\n    mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);\n    -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);\n    pointer-events: none;\n}\n\n\/* \u2500\u2500 LAYOUT \u2500\u2500 *\/\n.wrap {\n    max-width: 480px;\n    margin: 0 auto;\n    padding: 0 20px 90px;\n    position: relative;\n    z-index: 1;\n    min-height: 100vh;\n}\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.header {\n    display: flex; flex-direction: column; align-items: center;\n    padding: 44px 0 20px;\n}\n\n.logo-circle {\n    position: relative;\n    width: 120px; height: 120px;\n    margin-bottom: 18px;\n    display: flex; align-items: center; justify-content: center;\n}\n\n.profile-photo {\n    width: 104px; height: 104px;\n    border-radius: 50%; object-fit: cover;\n    position: absolute; top: 50%; left: 50%;\n    transform: translate(-50%, -50%);\n    border: 2px solid rgba(255,140,0,0.35);\n    z-index: 1;\n}\n\n.orbit-svg {\n    position: absolute; top: 0; left: 0;\n    width: 120px; height: 120px;\n    z-index: 2; pointer-events: none;\n}\n\n.brand-name {\n    font-family: 'Barlow Condensed', Arial, sans-serif;\n    font-size: 26px; font-weight: 700;\n    letter-spacing: 2.5px; color: var(--white);\n    text-transform: uppercase; margin-bottom: 4px;\n}\n.brand-name span { color: var(--orange); }\n\n.contact-name {\n    font-size: 15px; font-weight: 400;\n    color: rgba(255,200,120,0.8);\n    margin-bottom: 4px; letter-spacing: 0.4px;\n}\n\n.brand-sub {\n    font-size: 11px; font-weight: 300;\n    color: rgba(255,140,0,0.7);\n    letter-spacing: 3px; text-transform: uppercase;\n}\n\n\/* \u2500\u2500 SELECTOR IDIOMAS \u2500\u2500 *\/\n.selector-idiomas {\n    position: relative; display: flex;\n    justify-content: center; margin: 22px 0 0;\n}\n\n#idioma-toggle {\n    background: rgba(20,20,20,0.97);\n    color: var(--white); height: 38px; padding: 0 18px;\n    border-radius: 33px; border: 1px solid var(--orange);\n    box-shadow: 0 4px 20px rgba(255,140,0,0.2);\n    cursor: pointer; display: flex; align-items: center; gap: 6px;\n    font-size: 13px; font-family: 'Barlow', Arial, sans-serif;\n    white-space: nowrap; transition: background 0.2s, box-shadow 0.2s;\n}\n#idioma-toggle:hover { background: #1a1a2e; box-shadow: 0 4px 24px rgba(255,140,0,0.35); }\n#idioma-toggle .caret { font-size: 9px; transition: transform 0.25s; color: var(--orange); }\n#idioma-toggle[aria-expanded=\"true\"] .caret { transform: rotate(180deg); }\n#idioma-toggle .flag { font-size: 16px; }\n\n#idioma-list {\n    position: absolute; top: calc(100% + 10px); left: 50%;\n    transform: translateX(-50%);\n    background: rgba(14,12,20,0.99);\n    border-radius: 16px; border: 1px solid rgba(255,140,0,0.3);\n    box-shadow: 0 8px 28px rgba(255,140,0,0.2);\n    display: none; flex-direction: column;\n    padding: 8px 0; min-width: 180px;\n    list-style: none; z-index: 999;\n    animation: dropdownAnim 0.2s ease forwards;\n}\n#idioma-list.abierto { display: flex; }\n#idioma-list li {\n    padding: 11px 18px; cursor: pointer;\n    display: flex; gap: 10px; align-items: center;\n    color: var(--white); font-size: 13px;\n    font-family: 'Barlow', Arial, sans-serif;\n    transition: background 0.15s;\n}\n#idioma-list li:hover { background: rgba(255,140,0,0.12); }\n#idioma-list li.activo { color: var(--orange); font-weight: 600; }\n#idioma-list li:first-child { border-radius: 16px 16px 0 0; }\n#idioma-list li:last-child  { border-radius: 0 0 16px 16px; }\n#idioma-list li .flag { font-size: 16px; }\n\n@keyframes dropdownAnim {\n    from { opacity: 0; transform: translateX(-50%) translateY(-8px); }\n    to   { opacity: 1; transform: translateX(-50%) translateY(0); }\n}\n\n\/* \u2500\u2500 SECCIONES \u2500\u2500 *\/\n.section { margin-top: 28px; }\n.section-label {\n    font-size: 10px; letter-spacing: 3px; text-transform: uppercase;\n    color: rgba(255,140,0,0.7); margin-bottom: 10px; padding-left: 2px;\n}\n\n\/* \u2500\u2500 INFO CARD \u2500\u2500 *\/\n.info-card {\n    background: rgba(255,255,255,0.04);\n    border: 1px solid rgba(255,255,255,0.08);\n    border-radius: 16px; overflow: hidden;\n}\n.info-row {\n    display: flex; align-items: center; gap: 14px;\n    padding: 14px 18px;\n    border-bottom: 1px solid rgba(255,255,255,0.05);\n    text-decoration: none; color: inherit; transition: background 0.15s;\n}\n.info-row:last-child { border-bottom: none; }\n.info-row:hover { background: rgba(255,140,0,0.07); }\n\n.info-icon {\n    width: 38px; height: 38px; border-radius: 11px;\n    display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n}\n.ic-orange { background: rgba(255,140,0,0.18); }\n.ic-blue   { background: rgba(100,160,255,0.15); }\n.info-icon svg { width: 18px; height: 18px; }\n\n.info-text { flex: 1; min-width: 0; }\n.info-label { font-size: 11px; color: rgba(130,170,220,0.7); margin-bottom: 2px; }\n.info-value { font-size: 15px; color: #dde6f5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.info-row:hover .info-value { color: var(--white); }\n.arrow-icon { flex-shrink: 0; opacity: 0.35; }\n\n\/* \u2500\u2500 CTA BUTTONS \u2500\u2500 *\/\n.cta-btn {\n    display: flex; align-items: center; justify-content: center; gap: 10px;\n    width: 100%; padding: 15px 20px; border-radius: 14px;\n    font-family: 'Barlow', Arial, sans-serif; font-size: 15px; font-weight: 600;\n    text-decoration: none !important; letter-spacing: 0.3px;\n    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;\n    border: 1px solid transparent; cursor: pointer; margin-bottom: 12px;\n}\n.cta-btn:hover { transform: scale(1.02); }\n.btn-icon { width: 22px; height: 22px; flex-shrink: 0; }\n\n.btn-whatsapp  { background:rgba(37,211,102,0.15)!important; border-color:rgba(37,211,102,0.35)!important; color:#4de08a!important; }\n.btn-whatsapp:hover  { background:rgba(37,211,102,0.25)!important; box-shadow:0 4px 16px rgba(37,211,102,0.25); }\n.btn-instagram { background:rgba(193,53,132,0.15)!important; border-color:rgba(193,53,132,0.35)!important; color:#e87fc0!important; }\n.btn-instagram:hover { background:rgba(193,53,132,0.25)!important; }\n.btn-facebook  { background:rgba(66,103,178,0.15)!important; border-color:rgba(66,103,178,0.35)!important; color:#7fa8f0!important; }\n.btn-facebook:hover  { background:rgba(66,103,178,0.25)!important; }\n.btn-linkedin  { background:rgba(10,102,194,0.15)!important; border-color:rgba(10,102,194,0.35)!important; color:#6da8e0!important; }\n.btn-linkedin:hover  { background:rgba(10,102,194,0.25)!important; }\n.btn-web {\n    background:rgba(255,140,0,0.12)!important; border-color:rgba(255,140,0,0.4)!important;\n    color:#ffb84d!important; box-shadow:0 4px 16px rgba(255,140,0,0.08);\n}\n.btn-web:hover { background:rgba(255,140,0,0.22)!important; box-shadow:0 4px 24px rgba(255,140,0,0.25); }\n.btn-review { background:rgba(250,180,30,0.12)!important; border-color:rgba(250,180,30,0.3)!important; color:#f5c842!important; }\n.btn-review:hover { background:rgba(250,180,30,0.22)!important; box-shadow:0 4px 16px rgba(250,180,30,0.2); }\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   DIVIDER \u2014 subtle, pulsing opacity, no sweep\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.divider {\n    height: 1px;\n    margin: 28px 0;\n    background: linear-gradient(90deg,\n        transparent 0%,\n        rgba(255,140,0,0.25) 20%,\n        rgba(255,180,60,0.55) 50%,\n        rgba(255,140,0,0.25) 80%,\n        transparent 100%);\n    animation: dividerFade 3s ease-in-out infinite;\n}\n\n@keyframes dividerFade {\n    0%, 100% { opacity: 0.5; }\n    50%       { opacity: 1;   }\n}\n\n\/* \u2500\u2500 FAB \u2500\u2500 *\/\n.fab-wrap {\n    position: fixed; bottom: 28px;\n    right: max(20px, calc(50vw - 220px));\n    z-index: 8888;\n    display: flex; flex-direction: column-reverse; align-items: flex-end; gap: 10px;\n}\n\n.fab-main {\n    width: 140px; height: 48px; border-radius: 14px;\n    background: rgba(255,140,0,0.18);\n    border: 1.5px solid rgba(255,140,0,0.6) !important;\n    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);\n    box-shadow: 0 4px 20px rgba(255,140,0,0.25);\n    color: var(--white); font-family: 'Barlow', Arial, sans-serif;\n    font-size: 12px; font-weight: 600; letter-spacing: 0.3px;\n    display: flex; align-items: center; justify-content: center; gap: 7px;\n    cursor: pointer; transition: background 0.2s, box-shadow 0.2s, transform 0.2s;\n    text-decoration: none !important;\n}\n.fab-main:hover { background: rgba(255,140,0,0.32); box-shadow: 0 6px 28px rgba(255,140,0,0.4); transform: scale(1.04); }\n.fab-main svg { width: 16px; height: 16px; flex-shrink: 0; transition: transform 0.3s; }\n.fab-wrap.open .fab-main { background: rgba(255,140,0,0.35); }\n.fab-wrap.open .fab-main .fab-arrow { transform: rotate(180deg); }\n\n.fab-options {\n    display: flex; flex-direction: column; align-items: stretch; gap: 8px;\n    overflow: hidden; max-height: 0;\n    transition: max-height 0.35s cubic-bezier(.4,0,.2,1), opacity 0.25s;\n    opacity: 0; pointer-events: none; width: 160px;\n}\n.fab-wrap.open .fab-options { max-height: 500px; opacity: 1; pointer-events: all; }\n\n.fab-option {\n    display: flex; align-items: center; gap: 10px; width: 100%;\n    background: rgba(10,12,16,0.92);\n    border: 1px solid rgba(255,140,0,0.25);\n    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);\n    border-radius: 14px; padding: 10px 14px; cursor: pointer;\n    white-space: nowrap; font-family: 'Barlow', Arial, sans-serif;\n    font-size: 13px; font-weight: 600; color: #e8edf5;\n    transition: background 0.2s, transform 0.15s;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.4); text-align: left;\n}\n.fab-option:hover { background: rgba(255,140,0,0.15); transform: scale(1.02); }\n.fab-option svg { width: 16px; height: 16px; flex-shrink: 0; }\n.fab-opt-icon { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.fab-opt-orange { background: rgba(255,140,0,0.2); }\n.fab-opt-purple { background: rgba(130,80,220,0.25); }\n.fab-opt-green  { background: rgba(37,211,102,0.2); }\n.fab-opt-white  { background: rgba(255,255,255,0.1); }\n\n\/* \u2500\u2500 QR POPUP \u2500\u2500 *\/\n#qr-overlay {\n    display: none; position: fixed; inset: 0;\n    background: rgba(0,0,0,0.78); z-index: 99999;\n    justify-content: center; align-items: center;\n}\n#qr-overlay.activo { display: flex; }\n.qr-box {\n    background: #0d0c14; border: 1px solid rgba(255,140,0,0.25);\n    border-radius: 20px; padding: 2rem; text-align: center;\n    max-width: 300px; width: 90%;\n    animation: popIn .3s cubic-bezier(.34,1.56,.64,1) both;\n}\n.qr-box h4 {\n    font-family: 'Barlow Condensed', Arial, sans-serif;\n    font-size: 16px; font-weight: 700; color: #e8edf5;\n    letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px;\n}\n.qr-box p { font-size: 12px; color: rgba(140,170,210,0.7); margin-bottom: 16px; }\n.qr-box canvas { border-radius: 12px; background: #fff; padding: 10px; }\n.qr-close-btn {\n    margin-top: 16px; background: rgba(255,140,0,0.12);\n    border: 1px solid rgba(255,140,0,0.3); border-radius: 14px;\n    color: #ffb84d; font-family: 'Barlow', Arial, sans-serif;\n    font-size: 13px; padding: 8px 24px; cursor: pointer;\n}\n.qr-close-btn:hover { background: rgba(255,140,0,0.22); }\n\n\/* \u2500\u2500 TOAST \u2500\u2500 *\/\n.toast {\n    position: fixed; bottom: 28px; left: 50%;\n    transform: translateX(-50%) translateY(80px);\n    background: var(--orange); color: #000;\n    padding: 11px 28px; border-radius: 33px;\n    font-size: 13px; font-weight: 600;\n    box-shadow: 0 4px 20px rgba(255,140,0,0.4);\n    transition: transform 0.35s cubic-bezier(.34,1.56,.64,1);\n    pointer-events: none; white-space: nowrap; z-index: 9999;\n}\n.toast.show { transform: translateX(-50%) translateY(0); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.footer {\n    text-align: center; font-size: 11px;\n    color: rgba(255,140,0,0.5);\n    letter-spacing: 2px; text-transform: uppercase; margin-top: 36px;\n}\n.footer a { color: rgba(255,140,0,0.7); text-decoration: none; }\n.footer a:hover { color: var(--orange); }\n.powered-by {\n    margin-top: 10px; font-size: 10px;\n    letter-spacing: 1.5px; color: rgba(255,255,255,0.3);\n}\n.powered-by a { color: rgba(255,140,0,0.5); text-decoration: none; }\n.powered-by a:hover { color: var(--orange); }\n\n[data-lang] { display: none; }\n[data-lang].active { display: block; }\n\n@keyframes popIn {\n    from { transform: scale(0.85) translateY(30px); opacity: 0; }\n    to   { transform: scale(1) translateY(0); opacity: 1; }\n}\n<\/style>\n<\/head>\n<body>\n\n<!-- Three separate layers matching 360stark.com hero exactly -->\n<div id=\"hero-bg\"><\/div>\n<div id=\"hero-radial\"><\/div>\n<div id=\"hero-grid\"><\/div>\n\n<script>\n(function(){\n    var C = '#0f1117';\n    document.documentElement.style.background = C;\n    document.body.style.background = C;\n    \/* Extra insurance for iOS overscroll bounce *\/\n    var s = document.createElement('style');\n    s.textContent = 'html,body{background:'+C+'!important;}';\n    document.head.appendChild(s);\n})();\n<\/script>\n\n<div class=\"wrap\">\n\n    <!-- \u2500\u2500 HEADER \u2500\u2500 -->\n    <div class=\"header\">\n        <div class=\"logo-circle\">\n            <img decoding=\"async\" class=\"profile-photo\"\n                src=\"https:\/\/360stark.com\/wp-content\/uploads\/2026\/04\/Norman-Eckardt-Perfil.png\"\n                alt=\"Norman Eckardt\"\n                onerror=\"this.style.display='none'\">\n            <svg class=\"orbit-svg\" viewBox=\"0 0 120 120\" fill=\"none\">\n                <circle cx=\"60\" cy=\"60\" r=\"56\" stroke=\"rgba(255,255,255,0.04)\" stroke-width=\"1\"\/>\n                <circle cx=\"60\" cy=\"60\" r=\"56\" stroke=\"white\" stroke-width=\"2\" stroke-dasharray=\"230 50\" stroke-linecap=\"round\"\/>\n                <circle cx=\"60\" cy=\"60\" r=\"56\" stroke=\"#FF8C00\" stroke-width=\"2.5\" stroke-dasharray=\"65 215\" stroke-linecap=\"round\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 60 60\" to=\"360 60 60\" dur=\"8s\" repeatCount=\"indefinite\"\/>\n                <\/circle>\n                <circle cx=\"60\" cy=\"60\" r=\"56\" stroke=\"rgba(255,140,0,0.3)\" stroke-width=\"1\" stroke-dasharray=\"35 245\" stroke-linecap=\"round\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"180 60 60\" to=\"-180 60 60\" dur=\"14s\" repeatCount=\"indefinite\"\/>\n                <\/circle>\n            <\/svg>\n        <\/div>\n        <div class=\"brand-name\">360\u00ba<span>Stark<\/span><\/div>\n        <div class=\"contact-name\">Norman Eckardt<\/div>\n        <div class=\"brand-sub\" id=\"brand-sub\">Full Stack Agency \u00b7 Made in Europe<\/div>\n    <\/div>\n\n    <!-- \u2500\u2500 SELECTOR IDIOMAS \u2500\u2500 -->\n    <div class=\"selector-idiomas\">\n        <button id=\"idioma-toggle\" aria-expanded=\"false\" aria-haspopup=\"listbox\">\n            <span class=\"flag\" id=\"flag-activo\">\ud83c\uddea\ud83c\uddf8<\/span>\n            <span class=\"code\" id=\"code-activo\">ES \u2013 Espa\u00f1ol<\/span>\n            <span class=\"caret\">\u25bc<\/span>\n        <\/button>\n        <ul id=\"idioma-list\" role=\"listbox\" aria-label=\"Seleccionar idioma\">\n            <li data-lang-code=\"es\" data-flag=\"\ud83c\uddea\ud83c\uddf8\" data-label=\"ES \u2013 Espa\u00f1ol\" role=\"option\" tabindex=\"0\" class=\"activo\">\n                <span class=\"flag\">\ud83c\uddea\ud83c\uddf8<\/span> ES \u2013 Espa\u00f1ol\n            <\/li>\n            <li data-lang-code=\"de\" data-flag=\"\ud83c\udde9\ud83c\uddea\" data-label=\"DE \u2013 Deutsch\" role=\"option\" tabindex=\"0\">\n                <span class=\"flag\">\ud83c\udde9\ud83c\uddea<\/span> DE \u2013 Deutsch\n            <\/li>\n            <li data-lang-code=\"en\" data-flag=\"\ud83c\uddec\ud83c\udde7\" data-label=\"EN \u2013 English\" role=\"option\" tabindex=\"0\">\n                <span class=\"flag\">\ud83c\uddec\ud83c\udde7<\/span> EN \u2013 English\n            <\/li>\n        <\/ul>\n    <\/div>\n\n    <!-- \u2500\u2500 CONTACTO \u2500\u2500 -->\n    <div class=\"section\">\n        <div data-lang=\"es\" class=\"section-label active\">Contacto<\/div>\n        <div data-lang=\"de\" class=\"section-label\">Kontakt<\/div>\n        <div data-lang=\"en\" class=\"section-label\">Contact<\/div>\n\n        <div class=\"info-card\">\n            <!-- Tel\u00e9fono ES \/ EN -->\n            <a href=\"tel:+34657730100\" class=\"info-row\" id=\"row-phone-es\">\n                <div class=\"info-icon ic-orange\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#FF8C00\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 9.81 19.79 19.79 0 01.12 1.18 2 2 0 012.11 0h3a2 2 0 012 1.72c.13.96.36 1.9.7 2.81a2 2 0 01-.45 2.11L6.91 7.09a16 16 0 006 6l.45-.45a2 2 0 012.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0122 16.92z\"\/>\n                    <\/svg>\n                <\/div>\n                <div class=\"info-text\">\n                    <div class=\"info-label\" id=\"lbl-phone-es\">Tel\u00e9fono Espa\u00f1a<\/div>\n                    <div class=\"info-value\">+34 657 730 100<\/div>\n                <\/div>\n                <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n            <\/a>\n            <!-- Tel\u00e9fono DE -->\n            <a href=\"tel:+4915259322567\" class=\"info-row\" id=\"row-phone-de\" style=\"display:none;\">\n                <div class=\"info-icon ic-orange\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#FF8C00\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 9.81 19.79 19.79 0 01.12 1.18 2 2 0 012.11 0h3a2 2 0 012 1.72c.13.96.36 1.9.7 2.81a2 2 0 01-.45 2.11L6.91 7.09a16 16 0 006 6l.45-.45a2 2 0 012.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0122 16.92z\"\/>\n                    <\/svg>\n                <\/div>\n                <div class=\"info-text\">\n                    <div class=\"info-label\">Telefon Deutschland<\/div>\n                    <div class=\"info-value\">+49 152 59322567<\/div>\n                <\/div>\n                <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n            <\/a>\n            <!-- Email -->\n            <a href=\"mailto:mail@360stark.com\" class=\"info-row\">\n                <div class=\"info-icon ic-blue\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(100,160,255,0.9)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"\/>\n                        <polyline points=\"22,6 12,13 2,6\"\/>\n                    <\/svg>\n                <\/div>\n                <div class=\"info-text\">\n                    <div class=\"info-label\">Email<\/div>\n                    <div class=\"info-value\">mail@360stark.com<\/div>\n                <\/div>\n                <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n            <\/a>\n        <\/div>\n    <\/div>\n\n    <!-- \u2500\u2500 WHATSAPP \u2500\u2500 -->\n    <div class=\"section\">\n        <a id=\"wa-btn\" href=\"https:\/\/wa.me\/34657730100\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-whatsapp\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"#25D366\">\n                <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/>\n            <\/svg>\n            <span id=\"lbl-whatsapp\">WhatsApp \u00b7 +34 657 730 100<\/span>\n        <\/a>\n    <\/div>\n\n    <div class=\"divider\"><\/div>\n\n    <!-- \u2500\u2500 REDES & WEB \u2500\u2500 -->\n    <div class=\"section\">\n        <div data-lang=\"es\" class=\"section-label active\">Redes sociales &amp; Web<\/div>\n        <div data-lang=\"de\" class=\"section-label\">Soziale Medien &amp; Web<\/div>\n        <div data-lang=\"en\" class=\"section-label\">Social media &amp; Web<\/div>\n\n        <a href=\"https:\/\/www.instagram.com\/360stark\/\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-instagram\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"#e87fc0\">\n                <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z\"\/>\n            <\/svg>\n            Instagram\n        <\/a>\n\n        <a href=\"https:\/\/www.facebook.com\/360stark\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-facebook\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"#7fa8f0\">\n                <path d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\/>\n            <\/svg>\n            Facebook\n        <\/a>\n\n        <a href=\"https:\/\/www.linkedin.com\/in\/norman-eckardt\/\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-linkedin\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"#6da8e0\">\n                <path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"\/>\n            <\/svg>\n            LinkedIn\n        <\/a>\n\n        <a href=\"https:\/\/www.360stark.com\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-web\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#FF8C00\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n                <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/>\n                <path d=\"M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z\"\/>\n            <\/svg>\n            <span id=\"lbl-web\">www.360stark.com<\/span>\n        <\/a>\n    <\/div>\n\n    <div class=\"divider\"><\/div>\n\n    <!-- \u2500\u2500 RESE\u00d1A GOOGLE \u2500\u2500 -->\n    <div class=\"section\">\n        <div data-lang=\"es\" class=\"section-label active\">Opiniones<\/div>\n        <div data-lang=\"de\" class=\"section-label\">Bewertungen<\/div>\n        <div data-lang=\"en\" class=\"section-label\">Reviews<\/div>\n\n       \n        <a href=\"https:\/\/g.page\/r\/CRuC9kO9Z4ZKEBM\/review\" target=\"_blank\" rel=\"noopener\" class=\"cta-btn btn-review\">\n            <svg class=\"btn-icon\" viewBox=\"0 0 24 24\">\n                <path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\" fill=\"#f5c842\" stroke=\"#f5c842\" stroke-width=\"0.5\"\/>\n            <\/svg>\n            <span id=\"lbl-review\">Dejar rese\u00f1a en Google<\/span>\n        <\/a>\n    <\/div>\n\n    <!-- \u2500\u2500 FOOTER \u2500\u2500 -->\n    <div class=\"footer\">\n        <div style=\"display:flex;justify-content:center;margin-bottom:12px;\">\n            <svg width=\"52\" height=\"52\" viewBox=\"0 0 340 340\" fill=\"none\">\n                <circle cx=\"170\" cy=\"170\" r=\"150\" stroke=\"rgba(255,255,255,0.04)\" stroke-width=\"1\"\/>\n                <circle cx=\"170\" cy=\"170\" r=\"120\" stroke=\"rgba(255,255,255,0.06)\" stroke-width=\"1\"\/>\n                <circle cx=\"170\" cy=\"170\" r=\"140\" stroke=\"white\" stroke-width=\"3.5\" stroke-dasharray=\"600 100\" stroke-linecap=\"round\"\/>\n                <circle cx=\"170\" cy=\"170\" r=\"140\" stroke=\"#FF8C00\" stroke-width=\"4\" stroke-dasharray=\"160 480\" stroke-linecap=\"round\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 170 170\" to=\"360 170 170\" dur=\"10s\" repeatCount=\"indefinite\"\/>\n                <\/circle>\n                <circle cx=\"170\" cy=\"170\" r=\"140\" stroke=\"rgba(255,140,0,0.3)\" stroke-width=\"1\" stroke-dasharray=\"80 560\" stroke-linecap=\"round\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"180 170 170\" to=\"-180 170 170\" dur=\"16s\" repeatCount=\"indefinite\"\/>\n                <\/circle>\n                <text x=\"170\" y=\"196\" text-anchor=\"middle\" font-size=\"88\" font-weight=\"700\" fill=\"#4a5668\" font-family=\"sans-serif\">S<\/text>\n                <text x=\"170\" y=\"228\" text-anchor=\"middle\" font-size=\"20\" font-weight=\"600\" fill=\"#FF8C00\" font-family=\"Montserrat,sans-serif\" letter-spacing=\"2\">360\u00ba<\/text>\n                <text x=\"170\" y=\"256\" text-anchor=\"middle\" font-size=\"18\" fill=\"rgba(255,255,255,0.35)\" font-family=\"monospace\" letter-spacing=\"8\">STARK<\/text>\n            <\/svg>\n        <\/div>\n        <a href=\"https:\/\/360stark.com\">360stark.com<\/a>\n        <div class=\"powered-by\">Powered by <a href=\"https:\/\/360stark.com\" target=\"_blank\" rel=\"noopener\">360\u00baStark<\/a><\/div>\n    <\/div>\n\n<\/div><!-- \/wrap -->\n\n<!-- \u2500\u2500 FAB MENU FLOTANTE \u2500\u2500 -->\n<div class=\"fab-wrap\" id=\"fab-wrap\">\n    <div class=\"fab-options\" id=\"fab-options\">\n\n        <button class=\"fab-option\" onclick=\"downloadVCard(); toggleFab();\">\n            <div class=\"fab-opt-icon fab-opt-orange\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#ffb84d\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <path d=\"M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2\"\/>\n                    <circle cx=\"12\" cy=\"7\" r=\"4\"\/>\n                    <polyline points=\"16 11 18 13 22 9\"\/>\n                <\/svg>\n            <\/div>\n            <span id=\"lbl-vcard\">+ Contacto<\/span>\n        <\/button>\n\n        <button class=\"fab-option\" onclick=\"compartirNFC(); toggleFab();\">\n            <div class=\"fab-opt-icon fab-opt-purple\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c09eff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z\"\/>\n                    <path d=\"M8 12c0-2.21 1.79-4 4-4s4 1.79 4 4-1.79 4-4 4\"\/>\n                    <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"#c09eff\"\/>\n                <\/svg>\n            <\/div>\n            <span id=\"lbl-nfc\">Compartir NFC<\/span>\n        <\/button>\n\n        <button class=\"fab-option\" onclick=\"mostrarQR(); toggleFab();\">\n            <div class=\"fab-opt-icon fab-opt-green\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#4de08a\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/>\n                    <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/>\n                    <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/>\n                    <path d=\"M14 14h.01M14 17h3M17 14v3M20 17v3M17 20h3\"\/>\n                <\/svg>\n            <\/div>\n            <span id=\"lbl-qr\">Ver c\u00f3digo QR<\/span>\n        <\/button>\n\n        <button class=\"fab-option\" onclick=\"addToAppleWallet(); toggleFab();\">\n            <div class=\"fab-opt-icon fab-opt-white\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#e8edf5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"3\"\/>\n                    <path d=\"M1 10h22\"\/>\n                    <circle cx=\"7\" cy=\"15\" r=\"1.5\" fill=\"#e8edf5\"\/>\n                <\/svg>\n            <\/div>\n            <span id=\"lbl-wallet\">Apple Wallet<\/span>\n        <\/button>\n\n        <button class=\"fab-option\" onclick=\"addToGoogleWallet(); toggleFab();\">\n            <div class=\"fab-opt-icon\" style=\"background:rgba(66,133,244,0.2);\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"3\" stroke=\"#4285F4\"\/>\n                    <path d=\"M1 10h22\" stroke=\"#4285F4\"\/>\n                    <circle cx=\"7\" cy=\"15\" r=\"1.5\" fill=\"#4285F4\"\/>\n                    <text x=\"15\" y=\"17\" text-anchor=\"middle\" font-size=\"5\" font-family=\"Arial\" font-weight=\"bold\" fill=\"#4285F4\">G<\/text>\n                <\/svg>\n            <\/div>\n            <span id=\"lbl-gwallet\">Google Wallet<\/span>\n        <\/button>\n\n    <\/div>\n\n    <button class=\"fab-main\" id=\"fab-main-btn\" onclick=\"toggleFab()\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n            <path d=\"M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2\"\/>\n            <circle cx=\"12\" cy=\"7\" r=\"4\"\/>\n            <polyline points=\"16 11 18 13 22 9\"\/>\n        <\/svg>\n        <span id=\"fab-label\">+ Contacto<\/span>\n        <svg class=\"fab-arrow\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:12px;height:12px;margin-left:2px\">\n            <polyline points=\"18 15 12 9 6 15\"\/>\n        <\/svg>\n    <\/button>\n<\/div>\n\n<!-- \u2500\u2500 QR POPUP \u2500\u2500 -->\n<div id=\"qr-overlay\">\n    <div class=\"qr-box\">\n        <h4>360\u00baStark<\/h4>\n        <p id=\"qr-subtitle\">Escanea para abrir el Biolink<\/p>\n        <canvas id=\"qr-canvas\"><\/canvas>\n        <br>\n        <button class=\"qr-close-btn\" onclick=\"document.getElementById('qr-overlay').classList.remove('activo')\">\n            <span id=\"qr-close-lbl\">Cerrar<\/span>\n        <\/button>\n    <\/div>\n<\/div>\n\n<!-- TOAST -->\n<div class=\"toast\" id=\"toast\"><span id=\"toast-msg\">Contacto guardado<\/span><\/div>\n\n<script>\nconst _T = {\n    es: {\n        fab:'+ Contacto', vcard:'Guardar contacto', nfc:'Compartir NFC',\n        qr:'Ver c\u00f3digo QR', wallet:'Apple Wallet', gwallet:'Google Wallet',\n        qrSub:'Escanea para abrir el Biolink', qrClose:'Cerrar',\n        brandSub:'Full Stack Agency \u00b7 Made in Europe',\n        whatsapp:'WhatsApp \u00b7 +34 657 730 100', toastMsg:'\u2713 Contacto guardado',\n        review:'Dejar rese\u00f1a en Google', web:'www.360stark.com'\n    },\n    de: {\n        fab:'+ Kontakt', vcard:'Kontakt speichern', nfc:'NFC teilen',\n        qr:'QR-Code anzeigen', wallet:'Apple Wallet', gwallet:'Google Wallet',\n        qrSub:'Scannen zum \u00d6ffnen', qrClose:'Schlie\u00dfen',\n        brandSub:'Full Stack Agency \u00b7 Made in Europe',\n        whatsapp:'WhatsApp \u00b7 +49 152 59322567', toastMsg:'\u2713 Kontakt gespeichert',\n        review:'Google-Bewertung abgeben', web:'www.360stark.com'\n    },\n    en: {\n        fab:'+ Contact', vcard:'Save contact', nfc:'Share via NFC',\n        qr:'Show QR code', wallet:'Apple Wallet', gwallet:'Google Wallet',\n        qrSub:'Scan to open the Biolink', qrClose:'Close',\n        brandSub:'Full Stack Agency \u00b7 Made in Europe',\n        whatsapp:'WhatsApp \u00b7 +34 657 730 100', toastMsg:'\u2713 Contact saved',\n        review:'Leave a Google Review', web:'www.360stark.com'\n    }\n};\n\nlet currentLang = 'es';\n\nconst toggle = document.getElementById('idioma-toggle');\nconst list   = document.getElementById('idioma-list');\nconst flagEl = document.getElementById('flag-activo');\nconst codeEl = document.getElementById('code-activo');\nconst items  = list.querySelectorAll('li');\n\ntoggle.addEventListener('click', function(e){\n    e.stopPropagation();\n    const open = list.classList.toggle('abierto');\n    toggle.setAttribute('aria-expanded', String(open));\n});\n\nitems.forEach(function(li){\n    function sel(){\n        currentLang = li.dataset.langCode;\n        flagEl.textContent = li.dataset.flag;\n        codeEl.textContent = li.dataset.label;\n        items.forEach(i => i.classList.remove('activo'));\n        li.classList.add('activo');\n        list.classList.remove('abierto');\n        toggle.setAttribute('aria-expanded','false');\n        applyLang(currentLang);\n    }\n    li.addEventListener('click', sel);\n    li.addEventListener('keydown', function(e){\n        if(e.key==='Enter'||e.key===' '){ e.preventDefault(); sel(); }\n    });\n});\n\ndocument.addEventListener('click', function(){\n    list.classList.remove('abierto');\n    toggle.setAttribute('aria-expanded','false');\n});\n\nfunction applyLang(lang){\n    const t = _T[lang] || _T.es;\n    document.querySelectorAll('[data-lang]').forEach(el => {\n        el.classList.toggle('active', el.dataset.lang === lang);\n    });\n    const rowEs = document.getElementById('row-phone-es');\n    const rowDe = document.getElementById('row-phone-de');\n    if(lang === 'de'){\n        rowEs.style.display = 'none';\n        rowDe.style.display = 'flex';\n    } else {\n        rowEs.style.display = 'flex';\n        rowDe.style.display = 'none';\n    }\n    document.getElementById('wa-btn').href = lang === 'de'\n        ? 'https:\/\/wa.me\/4915259322567'\n        : 'https:\/\/wa.me\/34657730100';\n    document.getElementById('lbl-whatsapp').textContent  = t.whatsapp;\n    document.getElementById('lbl-review').textContent    = t.review;\n    document.getElementById('lbl-web').textContent       = t.web;\n    document.getElementById('brand-sub').textContent     = t.brandSub;\n    document.getElementById('fab-label').textContent     = t.fab;\n    document.getElementById('lbl-vcard').textContent     = t.vcard;\n    document.getElementById('lbl-nfc').textContent       = t.nfc;\n    document.getElementById('lbl-qr').textContent        = t.qr;\n    document.getElementById('lbl-wallet').textContent    = t.wallet;\n    document.getElementById('lbl-gwallet').textContent   = t.gwallet;\n    document.getElementById('qr-subtitle').textContent   = t.qrSub;\n    document.getElementById('qr-close-lbl').textContent  = t.qrClose;\n}\n\nfunction toggleFab(){\n    document.getElementById('fab-wrap').classList.toggle('open');\n}\ndocument.addEventListener('click', function(e){\n    var fab = document.getElementById('fab-wrap');\n    if(fab && !fab.contains(e.target)) fab.classList.remove('open');\n});\n\nasync function compartirNFC(){\n    var url = 'https:\/\/360stark.com\/links';\n    if(navigator.share){\n        try{ await navigator.share({title:'360\u00baStark \u00b7 Norman Eckardt', text:'Full Stack Agency \u00b7 Made in Europe', url}); return; } catch(e){}\n    }\n    if('NDEFReader' in window){\n        try{\n            showToast('\ud83d\udce1 Acerca el dispositivo NFC...');\n            var ndef = new NDEFReader();\n            await ndef.write({records:[{recordType:'url', data:url}]});\n            showToast('\u2713 NFC escrito correctamente');\n            return;\n        } catch(e){ hideToast(); }\n    }\n    try{ await navigator.clipboard.writeText(url); showToast('\u2713 Enlace copiado'); } catch(e){}\n}\n\n\/* QR \u2192 https:\/\/360stark.com\/links *\/\nfunction mostrarQR(){\n    document.getElementById('qr-overlay').classList.add('activo');\n    if(window._qrLoaded){ _renderQR(); return; }\n    var s = document.createElement('script');\n    s.src = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/qrcodejs\/1.0.0\/qrcode.min.js';\n    s.onload = function(){ window._qrLoaded = true; _renderQR(); };\n    document.head.appendChild(s);\n}\nfunction _renderQR(){\n    var canvas = document.getElementById('qr-canvas');\n    if(canvas._qrDone) return;\n    canvas._qrDone = true;\n    var tmp = document.createElement('div');\n    new QRCode(tmp, {\n        text: 'https:\/\/360stark.com\/links',\n        width: 220, height: 220,\n        colorDark: '#0f1117', colorLight: '#ffffff',\n        correctLevel: QRCode.CorrectLevel.H\n    });\n    setTimeout(function(){\n        var src = tmp.querySelector('canvas');\n        if(src){\n            var ctx = canvas.getContext('2d');\n            canvas.width = src.width; canvas.height = src.height;\n            ctx.drawImage(src, 0, 0);\n        }\n    }, 100);\n}\ndocument.getElementById('qr-overlay').addEventListener('click', function(e){\n    if(e.target === this) this.classList.remove('activo');\n});\n\nfunction addToAppleWallet(){\n    if(\/iPhone|iPad|iPod\/.test(navigator.userAgent)){\n        var a = document.createElement('a');\n        a.href = 'https:\/\/360stark.com\/360stark.pkpass';\n        document.body.appendChild(a); a.click(); document.body.removeChild(a);\n    } else { showToast('\ud83c\udf4e Disponible solo en iPhone'); }\n}\n\nfunction addToGoogleWallet(){\n    if(\/Android\/.test(navigator.userAgent)){\n        var a = document.createElement('a');\n        a.href = 'https:\/\/360stark.com\/360stark.pkpass';\n        a.setAttribute('type','application\/vnd.apple.pkpass');\n        document.body.appendChild(a); a.click(); document.body.removeChild(a);\n    } else { showToast('\ud83e\udd16 Disponible solo en Android'); }\n}\n\nfunction showToast(msg){\n    var t = document.getElementById('toast');\n    document.getElementById('toast-msg').textContent = msg;\n    t.classList.add('show');\n    setTimeout(function(){ t.classList.remove('show'); }, 2800);\n}\nfunction hideToast(){ document.getElementById('toast').classList.remove('show'); }\n\n\/* vCARD \u2014 foto via canvas, URLs correctas *\/\nfunction downloadVCard(){\n    var photoUrl = 'https:\/\/360stark.com\/wp-content\/uploads\/2026\/04\/Perfil-Biolink-Foto.png';\n\n    function buildAndDownload(photoB64){\n        var lines = [\n            'BEGIN:VCARD',\n            'VERSION:3.0',\n            'FN:Norman Eckardt',\n            'N:Eckardt;Norman;;;',\n            'ORG:360STARK',\n            'TITLE:Full Stack Agency \u00b7 Made in Europe',\n            'TEL;TYPE=CELL,PREF:+34657730100',\n            'TEL;TYPE=CELL:+4915259322567',\n            'EMAIL;TYPE=WORK:mail@360stark.com',\n            'URL;TYPE=WORK:https:\/\/www.360stark.com',\n            'X-SOCIALPROFILE;type=instagram;x-user=360stark:https:\/\/www.instagram.com\/360stark\/',\n            'X-SOCIALPROFILE;type=facebook;x-user=360stark:https:\/\/www.facebook.com\/360stark',\n            'X-SOCIALPROFILE;type=linkedin;x-user=norman-eckardt:https:\/\/www.linkedin.com\/in\/norman-eckardt\/',\n            'X-SOCIALPROFILE;type=whatsapp:+34657730100',\n            'NOTE:360\u00baStark \u00b7 Full Stack Agency \u00b7 Made in Europe \u00b7 360stark.com\/links',\n            'X-APPLE-DARKMODE:1',\n            'X-ABCARD-BACKGROUNDCOLOR:0F1117FF',\n            'X-ABCARD-TEXTCOLOR:E8EDF5FF',\n            'X-ABCARD-TINTCOLOR:FF8C00FF'\n        ];\n\n        if(photoB64){\n            var header = 'PHOTO;ENCODING=b;TYPE=JPEG:';\n            var full   = header + photoB64;\n            lines.push(full.substring(0, 75));\n            for(var offset = 75; offset < full.length; offset += 74){\n                lines.push(' ' + full.substring(offset, offset + 74));\n            }\n        }\n\n        lines.push('END:VCARD');\n\n        var blob = new Blob([lines.join('\\r\\n')], {type:'text\/vcard;charset=utf-8'});\n        var url  = URL.createObjectURL(blob);\n        var a    = document.createElement('a');\n        a.href   = url;\n        a.setAttribute('type','text\/vcard');\n        if(!\/iPhone|iPad|iPod|Android\/i.test(navigator.userAgent)){\n            a.download = 'Norman_Eckardt_360Stark.vcf';\n        }\n        document.body.appendChild(a); a.click(); document.body.removeChild(a);\n        setTimeout(function(){ URL.revokeObjectURL(url); }, 1000);\n        showToast((_T[currentLang] || _T.es).toastMsg);\n    }\n\n    \/* Load photo via canvas \u2014 works if server sends CORS header *\/\n    try {\n        var img  = new Image();\n        var done = false;\n        img.crossOrigin = 'anonymous';\n        img.onload = function(){\n            if(done) return; done = true;\n            try {\n                var cv  = document.createElement('canvas');\n                var max = 400;\n                var ratio = Math.min(max \/ img.naturalWidth, max \/ img.naturalHeight, 1);\n                cv.width  = Math.round(img.naturalWidth  * ratio);\n                cv.height = Math.round(img.naturalHeight * ratio);\n                cv.getContext('2d').drawImage(img, 0, 0, cv.width, cv.height);\n                buildAndDownload(cv.toDataURL('image\/jpeg', 0.82).split(',')[1]);\n            } catch(e){ buildAndDownload(null); }\n        };\n        img.onerror = function(){ if(!done){ done = true; buildAndDownload(null); } };\n        img.src = photoUrl + '?_cb=' + Date.now();\n        setTimeout(function(){ if(!done){ done = true; buildAndDownload(null); } }, 3500);\n    } catch(e){ buildAndDownload(null); }\n}\n<\/script>\n\n<\/body>\n<\/html>\n\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>360\u00baStark \u00b7 Norman Eckardt 360\u00baStark Norman Eckardt Full Stack Agency \u00b7 Made in Europe \ud83c\uddea\ud83c\uddf8 ES \u2013 Espa\u00f1ol \u25bc \ud83c\uddea\ud83c\uddf8 ES \u2013 Espa\u00f1ol \ud83c\udde9\ud83c\uddea DE \u2013 Deutsch \ud83c\uddec\ud83c\udde7 EN \u2013 English Contacto Kontakt Contact Tel\u00e9fono Espa\u00f1a +34 657 730 100 Telefon Deutschland +49 152 59322567 Email mail@360stark.com WhatsApp \u00b7 +34 657 730 100 Redes sociales [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-241","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/pages\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":24,"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/pages\/241\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/pages\/241\/revisions\/321"}],"wp:attachment":[{"href":"https:\/\/360stark.com\/de\/wp-json\/wp\/v2\/media?parent=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}