@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/fraunces-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url('fonts/fraunces-latin-wght-italic.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/instrument-sans-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url('fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2')}
.gzl{--accent:#7DF0C0;--bg:#0B1410;--surface:#0D1A13;--text:#E8EFE6;--line:#1e3328;--line2:#356148;--muted:#b8c8bd;--soft:#d6e1da;--ink:#06130d;--gutter:clamp(18px,4vw,72px);
--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
position:relative;background:var(--bg);color:var(--text)!important;font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-text-size-adjust:100%} .gzl *,.gzl *::before,.gzl *::after{box-sizing:border-box} .gzl a{color:inherit!important;text-decoration:none} .gzl h1,.gzl h2,.gzl h3,.gzl p,.gzl ul,.gzl dl,.gzl dd,.gzl figure{margin:0;padding:0} .gzl ul{list-style:none} .gzl img,.gzl svg{max-width:100%} .gzl em{font-style:italic;color:var(--accent)!important} .gzl :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px} .gzl .wrap{width:100%;max-width:1560px;margin:0 auto;padding:0 var(--gutter)} .gzl .narrow{max-width:980px} .gzl .sec{padding:clamp(64px,10vw,128px) 0;position:relative} .gzl .sec--alt{background:var(--surface);border-block:1px solid var(--line)} .gzl .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)!important;margin-bottom:14px} .gzl .h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,7vw,86px);line-height:1.04;letter-spacing:-.02em} .gzl .h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,56px);line-height:1.1;letter-spacing:-.015em} .gzl .lead{color:var(--soft)!important;font-size:clamp(17px,2vw,20px);max-width:960px;margin-top:18px} .gzl .head{margin-bottom:clamp(32px,5vw,56px)} .gzl .mono{font-family:var(--mono)} /* Legibilidad: los estilos del constructor no deben sobrescribir los colores del texto */ .gzl,.gzl p,.gzl li,.gzl span,.gzl div,.gzl h1,.gzl h2,.gzl h3,.gzl h4,.gzl dt,.gzl dd,.gzl strong,.gzl b,.gzl blockquote,.gzl figcaption,.gzl small{color:var(--text)!important} .gzl a{text-decoration:none!important} .gzl p{opacity:1} /* Botones */ .gzl .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;border:1px solid transparent;font:600 15.5px/1 var(--sans);cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s,color .3s;white-space:nowrap} .gzl .btn--p{background:linear-gradient(135deg,#16966a,#0f7a55);color:#fff!important;border-color:rgba(125,240,192,.55);text-shadow:0 1px 1px rgba(0,0,0,.25)} .gzl .btn--p:hover{transform:translateY(-2px);box-shadow:0 12px 40px -10px var(--accent);border-color:var(--accent)} .gzl .btn--g{border-color:var(--line2);color:var(--text)!important;font-weight:500} .gzl .btn--g:hover{border-color:var(--accent);color:var(--accent)!important} .gzl .btn--lg{padding:18px 34px;font-size:16.5px} /* Hero */ .gzl .hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse 70% 60% at 70% 40%,rgba(125,240,192,.09),transparent 70%)} .gzl .hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block} .gzl .hero__in{position:relative;z-index:2;padding-block:clamp(48px,8vw,96px);pointer-events:none} .gzl .hero__in a,.gzl .hero__in .btn{pointer-events:auto} .gzl .badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line2);border-radius:999px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--soft)!important;background:color-mix(in srgb,var(--bg) 70%,transparent);margin-bottom:26px} .gzl .badge i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:gzl-pulse 2.4s infinite} .gzl .hero .lead{max-width:720px} .gzl .award .lead{max-width:none} .gzl .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px} .gzl .stats{display:flex;flex-wrap:wrap;gap:28px 48px;margin-top:clamp(36px,6vw,64px);padding-top:26px;border-top:1px solid var(--line);max-width:680px} .gzl .stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(28px,4vw,40px);color:var(--accent)!important;line-height:1.1} .gzl .stat span{font-size:13.5px;color:var(--muted)!important} .gzl .rise{opacity:0;transform:translateY(24px);animation:gzl-rise .9s cubic-bezier(.2,.7,.2,1) forwards} .gzl .d1{animation-delay:.1s}.gzl .d2{animation-delay:.25s}.gzl .d3{animation-delay:.4s}.gzl .d4{animation-delay:.55s}.gzl .d5{animation-delay:.7s} @keyframes gzl-rise{to{opacity:1;transform:none}} @keyframes gzl-pulse{0%{box-shadow:0 0 0 0 rgba(125,240,192,.5)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}} /* Cinta animada */ .gzl .mq{border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden;padding:18px 0} .gzl .mq__t{display:flex;gap:56px;width:max-content;animation:gzl-mq 38s linear infinite} .gzl .mq__t span{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;white-space:nowrap} .gzl .mq__t span::before{content:"✦";color:var(--accent)!important;margin-right:56px} @keyframes gzl-mq{to{transform:translateX(-50%)}} /* Aparición */ .gzl.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)} .gzl.js .rv.in{opacity:1;transform:none} .gzl.js .rv.in.s1{transition-delay:.08s}.gzl.js .rv.in.s2{transition-delay:.16s}.gzl.js .rv.in.s3{transition-delay:.24s} /* Tarjetas */ .gzl .grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))} .gzl .card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s} .gzl .sec--alt .card{background:var(--bg)} .gzl .card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(125,240,192,.14),transparent 45%);opacity:0;transition:opacity .35s;pointer-events:none} .gzl .card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 30px 70px -30px rgba(125,240,192,.35)} .gzl .card:hover::before{opacity:1} .gzl .card__ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)!important} .gzl .card__tag{position:absolute;top:20px;right:20px;padding:4px 12px;border-radius:999px;background:#0f7a55;color:#fff!important;font-size:11.5px;font-weight:700;letter-spacing:.04em} .gzl .card__tag--soon{background:transparent;border:1px solid var(--line2);color:var(--soft)!important} .gzl .card h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.2;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal} .gzl .card__sub{font-family:var(--mono);font-size:12.5px;color:var(--muted)!important} .gzl .card p{color:var(--muted)!important;font-size:15px;flex:1} .gzl .card__more{color:var(--accent)!important;font-size:14.5px;font-weight:600;display:inline-flex;gap:8px;align-items:center} .gzl .card__more::after{content:"→";transition:transform .3s} .gzl .card__links{display:flex;flex-wrap:wrap;gap:0 22px} .gzl .card__more--off{color:var(--muted)!important;font-weight:500}.gzl .card__more--off::after{content:none} .gzl .card:hover .card__more::after{transform:translateX(6px)} .gzl .note{margin-top:30px;font-size:13.5px;color:var(--muted)!important;max-width:820px} .gzl .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))} .gzl .grid--2{grid-template-columns:repeat(2,minmax(0,1fr))} /* Historia */ .gzl .story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(24px,5vw,64px);align-items:start} .gzl .tabs{display:flex;flex-direction:column;gap:10px} .gzl .tab{display:flex;gap:16px;align-items:center;text-align:left;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:transparent;color:var(--muted)!important;font:500 17px/1.3 var(--sans);cursor:pointer;transition:all .35s} .gzl .tab:hover{border-color:var(--line2);color:var(--text)!important} .gzl .tab span{font-family:var(--mono);font-size:13px;color:var(--dim,#7d9186)!important} .gzl .tab[aria-selected=true]{border-color:var(--accent);color:var(--text)!important;background:color-mix(in srgb,var(--accent) 7%,transparent)} .gzl .tab[aria-selected=true] span{color:var(--accent)!important} .gzl .panel{position:relative;padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:var(--bg);overflow:hidden;min-height:320px;animation:gzl-rise .6s both} .gzl .panel[hidden]{display:none} .gzl .panel svg.hy{position:absolute;right:-20px;bottom:-10px;width:70%;color:var(--accent)!important;opacity:.2;pointer-events:none} .gzl .panel .path{stroke-dasharray:900;stroke-dashoffset:900;animation:gzl-draw 2.4s .1s ease forwards} @keyframes gzl-draw{to{stroke-dashoffset:0}} .gzl .panel h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.4vw,40px);margin:6px 0 14px;position:relative} .gzl .panel p{color:var(--soft)!important;max-width:520px;position:relative} .gzl .chip{display:inline-block;margin-top:20px;padding:8px 16px;border-radius:999px;border:1px solid var(--line2);font-family:var(--mono);font-size:12.5px;color:var(--accent)!important;position:relative} .gzl .band{display:flex;gap:clamp(20px,4vw,48px);align-items:center;margin-top:clamp(36px,6vw,64px);padding:clamp(24px,4vw,40px);border:1px solid var(--line2);border-radius:28px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%)} .gzl .band b{font-family:var(--serif);font-weight:300;font-size:clamp(48px,8vw,92px);line-height:1;color:var(--accent)!important} .gzl .band h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:6px} .gzl .band p{color:var(--muted)!important;font-size:15.5px} /* Por qué */ .gzl .why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden} .gzl .why>div{padding:clamp(24px,3vw,38px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s} .gzl .why>div:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)} .gzl .why>div:nth-child(3n){border-right:0}.gzl .why>div:nth-last-child(-n+3){border-bottom:0} .gzl .why b{font-family:var(--mono);font-size:13px;color:var(--accent)!important;display:block;margin-bottom:12px} .gzl .why h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:8px} .gzl .why p{color:var(--muted)!important;font-size:15.5px;max-width:none} /* Premio */ .gzl .award{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center} .gzl .trophy{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;max-width:420px;margin:0 auto;width:100%;border-radius:50%;border:1px solid var(--line2);background:radial-gradient(circle,rgba(125,240,192,.14),transparent 65%)} .gzl .trophy::before,.gzl .trophy::after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px dashed var(--line2);animation:gzl-spin 40s linear infinite} .gzl .trophy::after{inset:20%;animation-direction:reverse;animation-duration:30s} @keyframes gzl-spin{to{transform:rotate(360deg)}} .gzl .trophy div{text-align:center;position:relative;z-index:1;padding:20px} .gzl .trophy svg{color:var(--accent)!important;margin-bottom:10px} .gzl .trophy strong{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,52px);line-height:1} .gzl .trophy span{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted)!important;margin-top:8px;text-transform:uppercase} .gzl .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px} .gzl .fact{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)} .gzl .fact b{display:block;font-family:var(--serif);font-weight:300;font-size:32px;color:var(--accent)!important;line-height:1.1} .gzl .fact span{font-size:13.5px;color:var(--muted)!important} .gzl .ph{border:1px dashed var(--line2);border-radius:20px;padding:20px;color:var(--muted)!important;font-size:14.5px} /* Lista de servicios */ .gzl .svc{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px} .gzl .svc span{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:12px;color:var(--soft)!important} /* Contacto */ .gzl .contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start} .gzl .cl{display:grid;gap:14px;margin-top:26px} .gzl .cl a,.gzl .cl p{display:flex;gap:14px;align-items:flex-start;color:var(--soft)!important} .gzl .cl a:hover{color:var(--accent)!important} .gzl .cl svg{flex:none;color:var(--accent)!important;margin-top:3px} .gzl .map{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--surface);display:flex;align-items:center;justify-content:center} .gzl .map svg{position:absolute;inset:0;width:100%;height:100%;color:var(--accent)!important;opacity:.35} .gzl .map div{position:relative;text-align:center;padding:24px} .gzl .map b{display:block;font-family:var(--serif);font-weight:300;font-size:34px} .gzl .map span{color:var(--muted)!important;font-size:14.5px} .gzl .pin{width:14px;height:14px;border-radius:50%;background:var(--accent);margin:0 auto 14px;box-shadow:0 0 0 0 var(--accent);animation:gzl-pulse 2s infinite} /* CTA final */ .gzl .final{text-align:center;background:radial-gradient(ellipse at center,rgba(125,240,192,.1),transparent 70%)} .gzl .final .cta{justify-content:center} .gzl .final .lead{margin-inline:auto} /* Pie de página */ .gzl .ft{border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0 28px;background:#08100c} .gzl .ft__g{display:flex;flex-wrap:wrap;gap:36px 56px;justify-content:space-between} .gzl .ft__g>div{min-width:150px} .gzl .ft h4{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)!important;margin:0 0 14px;font-weight:500} .gzl .ft li{margin-bottom:8px;color:var(--muted)!important;font-size:15px} .gzl .ft li a:hover{color:var(--text)!important} .gzl .ft__brand{max-width:340px;color:var(--muted)!important;font-size:15px} .gzl .ft__legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:12.5px;line-height:1.6} /* Animación alternativa CSS (funciona si el constructor bloquea los scripts) */ .gzl .fb{position:absolute;inset:0;overflow:hidden;pointer-events:none} .gzl .fb svg{position:absolute;inset:0;width:100%;height:100%;color:var(--accent)!important;opacity:.5} .gzl .fb .hp{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:gzl-draw 4s ease forwards} .gzl .fb .hp:nth-child(2){animation-delay:.6s}.gzl .fb .hp:nth-child(3){animation-delay:1.2s}.gzl .fb .hp:nth-child(4){animation-delay:1.8s} .gzl .fb .hn{fill:currentColor;animation:gzl-pulse 3s infinite} .gzl .fb i{position:absolute;bottom:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);opacity:0;animation:gzl-spore var(--d) var(--dl) linear infinite} @keyframes gzl-spore{0%{opacity:0;transform:translate(0,0)}12%{opacity:.9}50%{transform:translate(18px,-45vh)}88%{opacity:.7}100%{opacity:0;transform:translate(-14px,-95vh)}} .gzl.js .fb{display:none} @media(prefers-reduced-motion:reduce){.gzl .fb i,.gzl .fb .hn{animation:none}.gzl .fb .hp{animation:none;stroke-dashoffset:0}} /* Adaptable */ @media(max-width:1100px){.gzl .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gzl .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:860px){
.gzl .story,.gzl .award,.gzl .contact{grid-template-columns:1fr}
.gzl .tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
.gzl .tabs::-webkit-scrollbar{display:none}
.gzl .tab{flex:none;padding:14px 18px;font-size:15.5px}
.gzl .why{grid-template-columns:repeat(2,minmax(0,1fr))}
.gzl .why>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.gzl .why>div:nth-child(2n){border-right:0!important}.gzl .why>div:nth-last-child(-n+2){border-bottom:0!important} } @media(max-width:640px){
.gzl{font-size:16.5px}
.gzl .grid,.gzl .grid--3,.gzl .grid--2{grid-template-columns:1fr}
.gzl .why{grid-template-columns:1fr}.gzl .why>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.gzl .why>div:last-child{border-bottom:0!important}
.gzl .hero{min-height:0}
.gzl .cta{flex-direction:column}.gzl .cta .btn{width:100%}
.gzl .band{flex-direction:column;align-items:flex-start}
.gzl .facts{grid-template-columns:1fr 1fr}
.gzl .stats{gap:22px 32px} } /* Ajustes para móvil */ .gzl{width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip} .gzl section,.gzl [id]{scroll-margin-top:84px} .gzl .hero{min-height:min(92vh,860px);min-height:min(92svh,860px);touch-action:pan-y} .gzl .card__more,.gzl .ft li a{display:inline-flex;align-items:center;min-height:44px} .gzl .h1,.gzl .h2,.gzl h3,.gzl p,.gzl .lead{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:manual} .gzl .btn{white-space:normal;text-align:center} @media(max-width:640px){
.gzl .sec{padding:56px 0}
.gzl .hero__in{padding-block:44px 40px}
.gzl .badge{font-size:11.5px;padding:7px 14px;letter-spacing:.03em}
.gzl .card{padding:22px;border-radius:22px}
.gzl .band,.gzl .panel,.gzl .safety{border-radius:22px}
.gzl .tab{min-height:48px}
.gzl .stats{gap:18px 26px}
.gzl .map{aspect-ratio:16/11;border-radius:22px}
.gzl .trophy{max-width:300px}
.gzl .ft__g{gap:28px}.gzl .ft__g>div{min-width:130px;flex:1 1 130px} } @media(max-width:420px){
.gzl{font-size:16px}
.gzl .h1{font-size:clamp(32px,10.4vw,44px)}
.gzl .h2{font-size:clamp(27px,8.4vw,36px)}
.gzl .facts{grid-template-columns:1fr}
.gzl .stat b{font-size:26px} } @media(hover:none){.gzl .card:hover{transform:none;box-shadow:none}.gzl .card:hover::before{opacity:0}} @media(prefers-reduced-motion:reduce){
.gzl .rise,.gzl.js .rv{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.gzl .mq__t,.gzl .trophy::before,.gzl .trophy::after,.gzl .badge i,.gzl .pin,.gzl .panel .path{animation:none!important}
.gzl .panel .path{stroke-dashoffset:0} }
100of100 Ganador del Science & Startups Award 2025
Ciencias de la vida desde Kronach:
Hongos medicinales
y cultivo de tejidos
Recolección silvestre, extracción por ultrasonidos y análisis de laboratorio, de una startup de Alta Franconia que acerca la ciencia al público.
Ir a la tienda
Más información
100of100
Ganador del premio 2025
Kronach
Fabricado en Baviera
COA
Análisis de cada lote
Recolección silvestre en Alemania
Extracción por ultrasonidos
Cuerpos fructíferos, no micelio
Etanol + agua caliente
Fabricado en Baviera
Analizado en laboratorio
Productos
Crecimiento en el bosque,
extracción en el laboratorio
.
Extractos de hongos medicinales, productos químicos de laboratorio, mejoradores del suelo y más, directamente del fabricante en Kronach.
Más vendidos
Extracto de hongo yesquero
Fomes fomentarius
Extracto líquido de hongo medicinal elaborado con cuerpos fructíferos recolectados en estado silvestre. Ultrasonidos + etanol + agua caliente.
Más información
Ver en la tienda
Extracto de poliporo del abedul
Fomitopsis betulina
Extracto líquido de hongo medicinal elaborado con el poliporo del abedul, con el mismo método de extracción que el hongo yesquero.
Más información
Ver en la tienda
Trichoderma harzianum
Mejorador del suelo
Esporas vivas para la zona radicular: 12 millones de esporas por gramo. Mejorador del suelo, no es un producto fitosanitario.
Más información
Azul de metileno
Producto químico de laboratorio · Especificación USP
Producto químico de laboratorio de alta pureza y colorante textil. No apto para consumo.
Ver en la tienda
Cannabis y accesorios
Semillas · Análisis · Fertilizantes
De forma consciente y responsable, dentro del marco legal. Consulta la normativa de tu país.
Ver en la tienda
Aceite de oliva siciliano
Finazzo · Passione per la natura
Dos variedades de Sicilia, recolectadas a mano y extraídas en frío. 0,75 l cada una.
Ver en la tienda
Estudios e investigación
Fuentes científicas
Contexto, estudios y fuentes sobre hongos medicinales y nuestro trabajo en el laboratorio.
Más información
Los extractos de hongos medicinales pueden ser complementos alimenticios y no sustituyen una dieta equilibrada y variada. No se debe superar la dosis diaria recomendada. El azul de metileno es un producto químico de laboratorio y no está destinado al consumo.
Del bosque a la botella
Cinco pasos.
Nada
más.
01
Recolección silvestre
02
Ultrasonidos
03
Etanol + agua caliente
04
Análisis de laboratorio
05
Envasado
Paso 1 / 5
Recolección silvestre
Recolectamos a mano hongos yesqueros y poliporos del abedul en bosques de Alemania. Utilizamos exclusivamente cuerpos fructíferos, no micelio.
Solo cuerpos fructíferos
Paso 2 / 5
Ultrasonidos
Las estructuras celulares duras de los hongos se descomponen mediante ultrasonidos: un método moderno y suave, habitual en la práctica de laboratorio.
Extracción por ultrasonidos
Paso 3 / 5
Etanol + agua caliente
La extracción dual con etanol y agua caliente incorpora al extracto componentes solubles en agua y alcohol. Ambos hongos se procesan de la misma manera.
Ultrasonidos + etanol + agua caliente
Paso 4 / 5
Análisis de laboratorio
Cada lote se analiza en el laboratorio. Documentamos los resultados en un certificado de análisis del lote (COA).
COA de cada lote
Paso 5 / 5
Envasado
Envasamos y enviamos desde Kronach, en paquetes discretos y con número de seguimiento.
Fabricado en Baviera
5.000
años de tradición
Los arqueólogos encontraron hongos yesqueros y poliporos del abedul junto a Ötzi, la momia de los glaciares. El uso de ambos hongos se basa en conocimientos transmitidos a lo largo del tiempo. Combinamos esta tradición con la moderna extracción por ultrasonidos, sin hacer promesas terapéuticas.
Servicios
Un laboratorio
a tu
servicio.
Análisis y cultivo de plantas con rigor científico, directamente desde Alta Franconia.
Análisis de cannabis
Perfilado y análisis de tus muestras con métodos de medición modernos.
NIR
HPLC
GC-MS
Terpenos
Pesticidas
Metales pesados
Solicitar asesoramiento
Cultivo de tejidos in vitro
Propagación de plantas en cultivos de tejidos estériles: limpia, uniforme y predecible.
Micropropagación
Libre de patógenos
Conservación varietal
Solicitar asesoramiento
Control de calidad
Analizamos nuestros propios lotes para comprobar sus componentes, metales pesados, microbiología y residuos.
Componentes
Metales pesados
Microbiología
Residuos
Solicitar asesoramiento
Por qué GrayZone Labs
Seis razones
para confiar en nosotros
.
01
Excelencia científica
Métodos de laboratorio en lugar de intuiciones: medir, analizar y documentar.
02
Arraigo local
Fabricado en Kronach, Alta Franconia: distancias cortas y control total.
03
Máxima transparencia
Certificados de análisis de cada lote, accesibles mediante enlace o código QR.
04
Calidad premiada
Ganadores del 100of100 Science & Startups Award 2025.
05
Solo cuerpos fructíferos
Nuestros extractos de hongos se elaboran con cuerpos fructíferos, no con micelio cultivado en cereales.
06
Atención al cliente
Asesoramiento personalizado, embalaje discreto y envío con número de seguimiento.
100of100
Science & Startups
Award 2025
Ciencia
Innovación
galardonada
.
El 100of100 Award reconoce la profundidad científica y la innovación. Para nosotros, supone el compromiso de respaldar cada afirmación con datos.
2025
Ganadores del Science & Startups Award
100 %
de los lotes analizados en laboratorio
Ver fuentes científicas
Ubicación y contacto
Con raíces en
Kronach
, Alta Franconia.
Asesoramiento y visitas al laboratorio con cita previa. Escríbenos o llámanos.
Friesener Straße 13
96317 Kronach, Alta Franconia, Baviera
grayzonelabs@proton.me
+49 174 1524416
Cómo llegar y horario de atención →
Kronach
Alta Franconia · Baviera
¿Listo para
la calidad de
laboratorio
?
Descubre extractos, productos químicos de laboratorio y más en la tienda, o ponte en contacto con nosotros.
Ir a la tienda
Solicitar asesoramiento
GrayZone
Labs
Ciencias de la vida desde Kronach: hongos medicinales, productos químicos de laboratorio y cultivo de tejidos. Ganadores del 100of100 Science & Startups Award 2025.
Páginas
Productos
Servicios
Ciencia
Contacto
Estudios e investigación
Tienda
Ir a la tienda
Extractos de hongos medicinales
Cannabis y accesorios
Información legal
Aviso legal
Política de privacidad
Términos y condiciones
© GrayZone Labs · Anja Finazzo · Friesener Straße 13 · 96317 Kronach. Los extractos de hongos medicinales pueden ser complementos alimenticios y no sustituyen una dieta equilibrada y variada. El azul de metileno es un producto químico de laboratorio y no está destinado al consumo. Trichoderma es un mejorador del suelo, no un producto fitosanitario. Certificación ecológica en preparación.
{"@context":"https://schema.org","@type":"Organization","name":"Grayzone Labs","url":"https://www.grayzonelabs.net","foundingDate":"2022","founder":{"@type":"Person","name":"Luca Finazzo","jobTitle":"Gründer & Geschäftsführer (M.Sc.)"},"address":{"@type":"PostalAddress","streetAddress":"Friesener Straße 13","addressLocality":"Kronach","addressRegion":"Oberfranken, Bayern","postalCode":"96317","addressCountry":"DE"},"geo":{"@type":"GeoCoordinates","latitude":"50.2367","longitude":"11.3295"},"contactPoint":{"@type":"ContactPoint","telephone":"+491741524416","email":"grayzonelabs@proton.me"},"award":"100of100 Science and Startups Award 2025"}
(function(){
'use strict';
var root=document.getElementById('gzl-root'); if(!root||root.getAttribute('data-gzl-init')) return; root.setAttribute('data-gzl-init','1');
root.classList.add('js');
var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;
function $(s,r){return (r||root).querySelector(s)} function $$(s,r){return Array.prototype.slice.call((r||root).querySelectorAll(s))}
function clamp(v,a,b){return Math.min(b,Math.max(a,v))}
/* Duplicar cinta animada */
var mq=$('[data-mq]'); if(mq){mq.innerHTML+=mq.innerHTML}
/* Desplazamiento suave a secciones (sustituye el controlador global de anclas de la página antigua) */
$$('a[href^="#"]').forEach(function(a){
var h=a.getAttribute('href'); if(!h||h.length<2) return;
a.addEventListener('click',function(e){var t=document.getElementById(h.slice(1)); if(t){e.preventDefault();t.scrollIntoView({behavior:reduce?'auto':'smooth',block:'start'})}});
});
/* Aparición al desplazarse */
var rv=$$('.rv');
if('IntersectionObserver' in window){
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target)}})},{threshold:.12,rootMargin:'0px 0px -6% 0px'});
rv.forEach(function(el){io.observe(el)});
} else { rv.forEach(function(el){el.classList.add('in')}) }
/* El brillo de las tarjetas sigue el cursor */
$$('[data-glow]').forEach(function(c){
c.addEventListener('pointermove',function(e){var r=c.getBoundingClientRect();c.style.setProperty('--mx',(e.clientX-r.left)+'px');c.style.setProperty('--my',(e.clientY-r.top)+'px')},{passive:true});
});
/* Pestañas de historia */
var st=$('[data-story]');
if(st){
var tabs=$$('[role=tab]',st),panels=$$('[role=tabpanel]',st);
function sel(i,focus){
tabs.forEach(function(t,k){t.setAttribute('aria-selected',k===i?'true':'false');t.tabIndex=k===i?0:-1});
panels.forEach(function(p,k){p.hidden=k!==i});
if(focus)tabs[i].focus();
var t=tabs[i]; if(t&&t.scrollIntoView&&window.innerWidth<=860){var par=t.parentNode;par.scrollTo({left:t.offsetLeft-par.offsetLeft-20,behavior:reduce?'auto':'smooth'})}
}
tabs.forEach(function(t,i){
t.addEventListener('click',function(){sel(i)});
t.addEventListener('keydown',function(e){
var n=null;
if(e.key==='ArrowRight'||e.key==='ArrowDown')n=(i+1)%tabs.length;
if(e.key==='ArrowLeft'||e.key==='ArrowUp')n=(i-1+tabs.length)%tabs.length;
if(n!==null){e.preventDefault();sel(n,true)}
});
});
}
/* Hero: red de micelio reactiva + esporas */
var hero=$('[data-hero]'),cv=hero&&$('canvas',hero);
if(cv&&cv.getContext){
var ctx=cv.getContext('2d'),W=0,H=0,dpr=1,nodes=[],spores=[],reach=240,t0=performance.now(),last=t0,running=false,visible=true;
var cur={x:0,y:0,tx:0,ty:0,on:false},touched=false,release;
function rnd(a,b){return a+Math.random()*(b-a)}
function makeSpore(init){return{x:rnd(0,W),y:init?rnd(0,H):H+10,v:rnd(10,32),sw:rnd(.6,1.6),ph:rnd(0,6.28),s:rnd(1,2.6),life:init?Math.random():0,ls:rnd(.05,.12)}}
function resize(){
var r=hero.getBoundingClientRect();W=Math.max(1,r.width);H=Math.max(1,r.height);
dpr=Math.min(2,window.devicePixelRatio||1);cv.width=W*dpr;cv.height=H*dpr;ctx.setTransform(dpr,0,0,dpr,0,0);
var n=clamp(Math.round(W*H/20000),22,W<640?30:64);
nodes=[];for(var i=0;i
var sc=reduce?0:(W<640?16:30);spores=[];for(var j=0;j
reach=W<640?170:260;draw(0,0);
}
function draw(t,dt){
ctx.clearRect(0,0,W,H);
var grow=reduce?1:clamp(t/2.4,0,1);grow=1-Math.pow(1-grow,3);
var cx=cur.x,cy=cur.y,active=cur.on||(!touched&&!reduce);
if(!touched&&!reduce){cur.tx=W*(.5+.32*Math.sin(t*.35));cur.ty=H*(.5+.28*Math.sin(t*.52+1));}
cur.x+=(cur.tx-cur.x)*Math.min(1,dt*6);cur.y+=(cur.ty-cur.y)*Math.min(1,dt*6);
var i,j,a,b,d,dx,dy;
for(i=0;i
a=nodes[i];
if(!reduce){a.x+=a.vx;a.y+=a.vy;if(a.x<-20)a.x=W+20;if(a.x>W+20)a.x=-20;if(a.y<-20)a.y=H+20;if(a.y>H+20)a.y=-20;}
a.ox=a.x;a.oy=a.y;
if(active){dx=cur.x-a.x;dy=cur.y-a.y;d=Math.sqrt(dx*dx+dy*dy);if(d1){var f=(1-d/reach)*(touched?26:14);a.ox=a.x+dx/d*f;a.oy=a.y+dy/d*f}}
}
ctx.lineCap='round';
var link=W<640?120:150;
for(i=0;i
for(j=i+1;j
if(d }
}
for(i=0;iif(active){dx=cur.x-a.ox;dy=cur.y-a.oy;d=Math.sqrt(dx*dx+dy*dy);if(d
ctx.fillStyle='rgba(125,240,192,'+((.35+near*.65)*grow).toFixed(3)+')';
ctx.shadowColor='rgba(125,240,192,.9)';ctx.shadowBlur=near*14;
ctx.beginPath();ctx.arc(a.ox,a.oy,a.r+near*2.2,0,6.283);ctx.fill();
}
ctx.shadowBlur=0;
if(active&&grow>.6){
var cand=[];for(i=0;i
cand.sort(function(p,q){return p[0]-q[0]});
for(i=0;ictx.strokeStyle='rgba(125,240,192,'+(al2*.85).toFixed(3)+')';ctx.lineWidth=1.3;ctx.shadowColor='rgba(125,240,192,.8)';ctx.shadowBlur=8;
ctx.beginPath();ctx.moveTo(cur.x,cur.y);
var mx=(cur.x+a.ox)/2+Math.sin(t*2+i)*12,my=(cur.y+a.oy)/2+Math.cos(t*2+i)*12;
ctx.quadraticCurveTo(mx,my,a.ox,a.oy);ctx.stroke();
}
ctx.shadowBlur=0;
var g=ctx.createRadialGradient(cur.x,cur.y,0,cur.x,cur.y,46);g.addColorStop(0,'rgba(125,240,192,.28)');g.addColorStop(1,'rgba(125,240,192,0)');
ctx.fillStyle=g;ctx.beginPath();ctx.arc(cur.x,cur.y,46,0,6.283);ctx.fill();
}
for(i=0;is.y-=s.v*dt;s.x+=Math.sin(t*s.sw+s.ph)*.35;s.life+=s.ls*dt;
if(s.y<-10||s.life>1){spores[i]=makeSpore(false);continue}
var sa=Math.sin(s.life*Math.PI)*.9;if(sa<.02)continue;
ctx.fillStyle='rgba(125,240,192,'+sa.toFixed(3)+')';ctx.shadowColor='rgba(125,240,192,.9)';ctx.shadowBlur=s.s*4;
ctx.beginPath();ctx.arc(s.x,s.y,s.s,0,6.283);ctx.fill();
}
ctx.shadowBlur=0;
}
function frame(now){
if(!visible||document.hidden){running=false;return}
var dt=Math.min(.05,(now-last)/1000);last=now;draw((now-t0)/1000,dt);requestAnimationFrame(frame);
}
function start(){if(running||reduce)return;running=true;last=performance.now();requestAnimationFrame(frame)}
function setP(e){var r=hero.getBoundingClientRect();cur.tx=e.clientX-r.left;cur.ty=e.clientY-r.top;if(!cur.on){cur.x=cur.tx;cur.y=cur.ty}cur.on=true;touched=true;clearTimeout(release)}
function leave(e){clearTimeout(release);if(e&&e.pointerType==='touch'){release=setTimeout(function(){cur.on=false},900)}else{cur.on=false}}
if(!reduce){hero.addEventListener('pointermove',setP,{passive:true});hero.addEventListener('pointerdown',setP,{passive:true});hero.addEventListener('pointerleave',leave,{passive:true});hero.addEventListener('pointerup',leave,{passive:true});hero.addEventListener('pointercancel',leave,{passive:true})}
if('ResizeObserver' in window){new ResizeObserver(resize).observe(hero)}else{window.addEventListener('resize',resize)}
if('IntersectionObserver' in window){new IntersectionObserver(function(es){visible=es[0].isIntersecting;if(visible)start()},{threshold:0}).observe(hero)}
document.addEventListener('visibilitychange',function(){if(!document.hidden)start()});
resize();start();
} })();
--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
position:relative;background:var(--bg);color:var(--text)!important;font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-text-size-adjust:100%} .gzl *,.gzl *::before,.gzl *::after{box-sizing:border-box} .gzl a{color:inherit!important;text-decoration:none} .gzl h1,.gzl h2,.gzl h3,.gzl p,.gzl ul,.gzl dl,.gzl dd,.gzl figure{margin:0;padding:0} .gzl ul{list-style:none} .gzl img,.gzl svg{max-width:100%} .gzl em{font-style:italic;color:var(--accent)!important} .gzl :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px} .gzl .wrap{width:100%;max-width:1560px;margin:0 auto;padding:0 var(--gutter)} .gzl .narrow{max-width:980px} .gzl .sec{padding:clamp(64px,10vw,128px) 0;position:relative} .gzl .sec--alt{background:var(--surface);border-block:1px solid var(--line)} .gzl .eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)!important;margin-bottom:14px} .gzl .h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,7vw,86px);line-height:1.04;letter-spacing:-.02em} .gzl .h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,56px);line-height:1.1;letter-spacing:-.015em} .gzl .lead{color:var(--soft)!important;font-size:clamp(17px,2vw,20px);max-width:960px;margin-top:18px} .gzl .head{margin-bottom:clamp(32px,5vw,56px)} .gzl .mono{font-family:var(--mono)} /* Legibilidad: los estilos del constructor no deben sobrescribir los colores del texto */ .gzl,.gzl p,.gzl li,.gzl span,.gzl div,.gzl h1,.gzl h2,.gzl h3,.gzl h4,.gzl dt,.gzl dd,.gzl strong,.gzl b,.gzl blockquote,.gzl figcaption,.gzl small{color:var(--text)!important} .gzl a{text-decoration:none!important} .gzl p{opacity:1} /* Botones */ .gzl .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;border:1px solid transparent;font:600 15.5px/1 var(--sans);cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s,color .3s;white-space:nowrap} .gzl .btn--p{background:linear-gradient(135deg,#16966a,#0f7a55);color:#fff!important;border-color:rgba(125,240,192,.55);text-shadow:0 1px 1px rgba(0,0,0,.25)} .gzl .btn--p:hover{transform:translateY(-2px);box-shadow:0 12px 40px -10px var(--accent);border-color:var(--accent)} .gzl .btn--g{border-color:var(--line2);color:var(--text)!important;font-weight:500} .gzl .btn--g:hover{border-color:var(--accent);color:var(--accent)!important} .gzl .btn--lg{padding:18px 34px;font-size:16.5px} /* Hero */ .gzl .hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse 70% 60% at 70% 40%,rgba(125,240,192,.09),transparent 70%)} .gzl .hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block} .gzl .hero__in{position:relative;z-index:2;padding-block:clamp(48px,8vw,96px);pointer-events:none} .gzl .hero__in a,.gzl .hero__in .btn{pointer-events:auto} .gzl .badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line2);border-radius:999px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--soft)!important;background:color-mix(in srgb,var(--bg) 70%,transparent);margin-bottom:26px} .gzl .badge i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);animation:gzl-pulse 2.4s infinite} .gzl .hero .lead{max-width:720px} .gzl .award .lead{max-width:none} .gzl .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px} .gzl .stats{display:flex;flex-wrap:wrap;gap:28px 48px;margin-top:clamp(36px,6vw,64px);padding-top:26px;border-top:1px solid var(--line);max-width:680px} .gzl .stat b{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(28px,4vw,40px);color:var(--accent)!important;line-height:1.1} .gzl .stat span{font-size:13.5px;color:var(--muted)!important} .gzl .rise{opacity:0;transform:translateY(24px);animation:gzl-rise .9s cubic-bezier(.2,.7,.2,1) forwards} .gzl .d1{animation-delay:.1s}.gzl .d2{animation-delay:.25s}.gzl .d3{animation-delay:.4s}.gzl .d4{animation-delay:.55s}.gzl .d5{animation-delay:.7s} @keyframes gzl-rise{to{opacity:1;transform:none}} @keyframes gzl-pulse{0%{box-shadow:0 0 0 0 rgba(125,240,192,.5)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}} /* Cinta animada */ .gzl .mq{border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden;padding:18px 0} .gzl .mq__t{display:flex;gap:56px;width:max-content;animation:gzl-mq 38s linear infinite} .gzl .mq__t span{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;white-space:nowrap} .gzl .mq__t span::before{content:"✦";color:var(--accent)!important;margin-right:56px} @keyframes gzl-mq{to{transform:translateX(-50%)}} /* Aparición */ .gzl.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)} .gzl.js .rv.in{opacity:1;transform:none} .gzl.js .rv.in.s1{transition-delay:.08s}.gzl.js .rv.in.s2{transition-delay:.16s}.gzl.js .rv.in.s3{transition-delay:.24s} /* Tarjetas */ .gzl .grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))} .gzl .card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s} .gzl .sec--alt .card{background:var(--bg)} .gzl .card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(125,240,192,.14),transparent 45%);opacity:0;transition:opacity .35s;pointer-events:none} .gzl .card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 30px 70px -30px rgba(125,240,192,.35)} .gzl .card:hover::before{opacity:1} .gzl .card__ic{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)!important} .gzl .card__tag{position:absolute;top:20px;right:20px;padding:4px 12px;border-radius:999px;background:#0f7a55;color:#fff!important;font-size:11.5px;font-weight:700;letter-spacing:.04em} .gzl .card__tag--soon{background:transparent;border:1px solid var(--line2);color:var(--soft)!important} .gzl .card h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.2;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal} .gzl .card__sub{font-family:var(--mono);font-size:12.5px;color:var(--muted)!important} .gzl .card p{color:var(--muted)!important;font-size:15px;flex:1} .gzl .card__more{color:var(--accent)!important;font-size:14.5px;font-weight:600;display:inline-flex;gap:8px;align-items:center} .gzl .card__more::after{content:"→";transition:transform .3s} .gzl .card__links{display:flex;flex-wrap:wrap;gap:0 22px} .gzl .card__more--off{color:var(--muted)!important;font-weight:500}.gzl .card__more--off::after{content:none} .gzl .card:hover .card__more::after{transform:translateX(6px)} .gzl .note{margin-top:30px;font-size:13.5px;color:var(--muted)!important;max-width:820px} .gzl .grid--3{grid-template-columns:repeat(3,minmax(0,1fr))} .gzl .grid--2{grid-template-columns:repeat(2,minmax(0,1fr))} /* Historia */ .gzl .story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(24px,5vw,64px);align-items:start} .gzl .tabs{display:flex;flex-direction:column;gap:10px} .gzl .tab{display:flex;gap:16px;align-items:center;text-align:left;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:transparent;color:var(--muted)!important;font:500 17px/1.3 var(--sans);cursor:pointer;transition:all .35s} .gzl .tab:hover{border-color:var(--line2);color:var(--text)!important} .gzl .tab span{font-family:var(--mono);font-size:13px;color:var(--dim,#7d9186)!important} .gzl .tab[aria-selected=true]{border-color:var(--accent);color:var(--text)!important;background:color-mix(in srgb,var(--accent) 7%,transparent)} .gzl .tab[aria-selected=true] span{color:var(--accent)!important} .gzl .panel{position:relative;padding:clamp(26px,4vw,48px);border:1px solid var(--line);border-radius:28px;background:var(--bg);overflow:hidden;min-height:320px;animation:gzl-rise .6s both} .gzl .panel[hidden]{display:none} .gzl .panel svg.hy{position:absolute;right:-20px;bottom:-10px;width:70%;color:var(--accent)!important;opacity:.2;pointer-events:none} .gzl .panel .path{stroke-dasharray:900;stroke-dashoffset:900;animation:gzl-draw 2.4s .1s ease forwards} @keyframes gzl-draw{to{stroke-dashoffset:0}} .gzl .panel h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.4vw,40px);margin:6px 0 14px;position:relative} .gzl .panel p{color:var(--soft)!important;max-width:520px;position:relative} .gzl .chip{display:inline-block;margin-top:20px;padding:8px 16px;border-radius:999px;border:1px solid var(--line2);font-family:var(--mono);font-size:12.5px;color:var(--accent)!important;position:relative} .gzl .band{display:flex;gap:clamp(20px,4vw,48px);align-items:center;margin-top:clamp(36px,6vw,64px);padding:clamp(24px,4vw,40px);border:1px solid var(--line2);border-radius:28px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%)} .gzl .band b{font-family:var(--serif);font-weight:300;font-size:clamp(48px,8vw,92px);line-height:1;color:var(--accent)!important} .gzl .band h3{font-family:var(--serif);font-weight:400;font-size:24px;margin-bottom:6px} .gzl .band p{color:var(--muted)!important;font-size:15.5px} /* Por qué */ .gzl .why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:28px;overflow:hidden} .gzl .why>div{padding:clamp(24px,3vw,38px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s} .gzl .why>div:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)} .gzl .why>div:nth-child(3n){border-right:0}.gzl .why>div:nth-last-child(-n+3){border-bottom:0} .gzl .why b{font-family:var(--mono);font-size:13px;color:var(--accent)!important;display:block;margin-bottom:12px} .gzl .why h3{font-family:var(--serif);font-weight:400;font-size:22px;margin-bottom:8px} .gzl .why p{color:var(--muted)!important;font-size:15.5px;max-width:none} /* Premio */ .gzl .award{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center} .gzl .trophy{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;max-width:420px;margin:0 auto;width:100%;border-radius:50%;border:1px solid var(--line2);background:radial-gradient(circle,rgba(125,240,192,.14),transparent 65%)} .gzl .trophy::before,.gzl .trophy::after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px dashed var(--line2);animation:gzl-spin 40s linear infinite} .gzl .trophy::after{inset:20%;animation-direction:reverse;animation-duration:30s} @keyframes gzl-spin{to{transform:rotate(360deg)}} .gzl .trophy div{text-align:center;position:relative;z-index:1;padding:20px} .gzl .trophy svg{color:var(--accent)!important;margin-bottom:10px} .gzl .trophy strong{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,52px);line-height:1} .gzl .trophy span{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted)!important;margin-top:8px;text-transform:uppercase} .gzl .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px} .gzl .fact{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)} .gzl .fact b{display:block;font-family:var(--serif);font-weight:300;font-size:32px;color:var(--accent)!important;line-height:1.1} .gzl .fact span{font-size:13.5px;color:var(--muted)!important} .gzl .ph{border:1px dashed var(--line2);border-radius:20px;padding:20px;color:var(--muted)!important;font-size:14.5px} /* Lista de servicios */ .gzl .svc{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px} .gzl .svc span{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:12px;color:var(--soft)!important} /* Contacto */ .gzl .contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start} .gzl .cl{display:grid;gap:14px;margin-top:26px} .gzl .cl a,.gzl .cl p{display:flex;gap:14px;align-items:flex-start;color:var(--soft)!important} .gzl .cl a:hover{color:var(--accent)!important} .gzl .cl svg{flex:none;color:var(--accent)!important;margin-top:3px} .gzl .map{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--surface);display:flex;align-items:center;justify-content:center} .gzl .map svg{position:absolute;inset:0;width:100%;height:100%;color:var(--accent)!important;opacity:.35} .gzl .map div{position:relative;text-align:center;padding:24px} .gzl .map b{display:block;font-family:var(--serif);font-weight:300;font-size:34px} .gzl .map span{color:var(--muted)!important;font-size:14.5px} .gzl .pin{width:14px;height:14px;border-radius:50%;background:var(--accent);margin:0 auto 14px;box-shadow:0 0 0 0 var(--accent);animation:gzl-pulse 2s infinite} /* CTA final */ .gzl .final{text-align:center;background:radial-gradient(ellipse at center,rgba(125,240,192,.1),transparent 70%)} .gzl .final .cta{justify-content:center} .gzl .final .lead{margin-inline:auto} /* Pie de página */ .gzl .ft{border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) 0 28px;background:#08100c} .gzl .ft__g{display:flex;flex-wrap:wrap;gap:36px 56px;justify-content:space-between} .gzl .ft__g>div{min-width:150px} .gzl .ft h4{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)!important;margin:0 0 14px;font-weight:500} .gzl .ft li{margin-bottom:8px;color:var(--muted)!important;font-size:15px} .gzl .ft li a:hover{color:var(--text)!important} .gzl .ft__brand{max-width:340px;color:var(--muted)!important;font-size:15px} .gzl .ft__legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)!important;font-size:12.5px;line-height:1.6} /* Animación alternativa CSS (funciona si el constructor bloquea los scripts) */ .gzl .fb{position:absolute;inset:0;overflow:hidden;pointer-events:none} .gzl .fb svg{position:absolute;inset:0;width:100%;height:100%;color:var(--accent)!important;opacity:.5} .gzl .fb .hp{fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:gzl-draw 4s ease forwards} .gzl .fb .hp:nth-child(2){animation-delay:.6s}.gzl .fb .hp:nth-child(3){animation-delay:1.2s}.gzl .fb .hp:nth-child(4){animation-delay:1.8s} .gzl .fb .hn{fill:currentColor;animation:gzl-pulse 3s infinite} .gzl .fb i{position:absolute;bottom:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);opacity:0;animation:gzl-spore var(--d) var(--dl) linear infinite} @keyframes gzl-spore{0%{opacity:0;transform:translate(0,0)}12%{opacity:.9}50%{transform:translate(18px,-45vh)}88%{opacity:.7}100%{opacity:0;transform:translate(-14px,-95vh)}} .gzl.js .fb{display:none} @media(prefers-reduced-motion:reduce){.gzl .fb i,.gzl .fb .hn{animation:none}.gzl .fb .hp{animation:none;stroke-dashoffset:0}} /* Adaptable */ @media(max-width:1100px){.gzl .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gzl .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}} @media(max-width:860px){
.gzl .story,.gzl .award,.gzl .contact{grid-template-columns:1fr}
.gzl .tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
.gzl .tabs::-webkit-scrollbar{display:none}
.gzl .tab{flex:none;padding:14px 18px;font-size:15.5px}
.gzl .why{grid-template-columns:repeat(2,minmax(0,1fr))}
.gzl .why>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
.gzl .why>div:nth-child(2n){border-right:0!important}.gzl .why>div:nth-last-child(-n+2){border-bottom:0!important} } @media(max-width:640px){
.gzl{font-size:16.5px}
.gzl .grid,.gzl .grid--3,.gzl .grid--2{grid-template-columns:1fr}
.gzl .why{grid-template-columns:1fr}.gzl .why>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.gzl .why>div:last-child{border-bottom:0!important}
.gzl .hero{min-height:0}
.gzl .cta{flex-direction:column}.gzl .cta .btn{width:100%}
.gzl .band{flex-direction:column;align-items:flex-start}
.gzl .facts{grid-template-columns:1fr 1fr}
.gzl .stats{gap:22px 32px} } /* Ajustes para móvil */ .gzl{width:100%;max-width:100vw;overflow-x:hidden;overflow-x:clip} .gzl section,.gzl [id]{scroll-margin-top:84px} .gzl .hero{min-height:min(92vh,860px);min-height:min(92svh,860px);touch-action:pan-y} .gzl .card__more,.gzl .ft li a{display:inline-flex;align-items:center;min-height:44px} .gzl .h1,.gzl .h2,.gzl h3,.gzl p,.gzl .lead{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:manual} .gzl .btn{white-space:normal;text-align:center} @media(max-width:640px){
.gzl .sec{padding:56px 0}
.gzl .hero__in{padding-block:44px 40px}
.gzl .badge{font-size:11.5px;padding:7px 14px;letter-spacing:.03em}
.gzl .card{padding:22px;border-radius:22px}
.gzl .band,.gzl .panel,.gzl .safety{border-radius:22px}
.gzl .tab{min-height:48px}
.gzl .stats{gap:18px 26px}
.gzl .map{aspect-ratio:16/11;border-radius:22px}
.gzl .trophy{max-width:300px}
.gzl .ft__g{gap:28px}.gzl .ft__g>div{min-width:130px;flex:1 1 130px} } @media(max-width:420px){
.gzl{font-size:16px}
.gzl .h1{font-size:clamp(32px,10.4vw,44px)}
.gzl .h2{font-size:clamp(27px,8.4vw,36px)}
.gzl .facts{grid-template-columns:1fr}
.gzl .stat b{font-size:26px} } @media(hover:none){.gzl .card:hover{transform:none;box-shadow:none}.gzl .card:hover::before{opacity:0}} @media(prefers-reduced-motion:reduce){
.gzl .rise,.gzl.js .rv{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
.gzl .mq__t,.gzl .trophy::before,.gzl .trophy::after,.gzl .badge i,.gzl .pin,.gzl .panel .path{animation:none!important}
.gzl .panel .path{stroke-dashoffset:0} }
100of100 Ganador del Science & Startups Award 2025
Ciencias de la vida desde Kronach:
Hongos medicinales
y cultivo de tejidos
Recolección silvestre, extracción por ultrasonidos y análisis de laboratorio, de una startup de Alta Franconia que acerca la ciencia al público.
Ir a la tienda
Más información
100of100
Ganador del premio 2025
Kronach
Fabricado en Baviera
COA
Análisis de cada lote
Recolección silvestre en Alemania
Extracción por ultrasonidos
Cuerpos fructíferos, no micelio
Etanol + agua caliente
Fabricado en Baviera
Analizado en laboratorio
Productos
Crecimiento en el bosque,
extracción en el laboratorio
.
Extractos de hongos medicinales, productos químicos de laboratorio, mejoradores del suelo y más, directamente del fabricante en Kronach.
Más vendidos
Extracto de hongo yesquero
Fomes fomentarius
Extracto líquido de hongo medicinal elaborado con cuerpos fructíferos recolectados en estado silvestre. Ultrasonidos + etanol + agua caliente.
Más información
Ver en la tienda
Extracto de poliporo del abedul
Fomitopsis betulina
Extracto líquido de hongo medicinal elaborado con el poliporo del abedul, con el mismo método de extracción que el hongo yesquero.
Más información
Ver en la tienda
Trichoderma harzianum
Mejorador del suelo
Esporas vivas para la zona radicular: 12 millones de esporas por gramo. Mejorador del suelo, no es un producto fitosanitario.
Más información
Azul de metileno
Producto químico de laboratorio · Especificación USP
Producto químico de laboratorio de alta pureza y colorante textil. No apto para consumo.
Ver en la tienda
Cannabis y accesorios
Semillas · Análisis · Fertilizantes
De forma consciente y responsable, dentro del marco legal. Consulta la normativa de tu país.
Ver en la tienda
Aceite de oliva siciliano
Finazzo · Passione per la natura
Dos variedades de Sicilia, recolectadas a mano y extraídas en frío. 0,75 l cada una.
Ver en la tienda
Estudios e investigación
Fuentes científicas
Contexto, estudios y fuentes sobre hongos medicinales y nuestro trabajo en el laboratorio.
Más información
Los extractos de hongos medicinales pueden ser complementos alimenticios y no sustituyen una dieta equilibrada y variada. No se debe superar la dosis diaria recomendada. El azul de metileno es un producto químico de laboratorio y no está destinado al consumo.
Del bosque a la botella
Cinco pasos.
Nada
más.
01
Recolección silvestre
02
Ultrasonidos
03
Etanol + agua caliente
04
Análisis de laboratorio
05
Envasado
Paso 1 / 5
Recolección silvestre
Recolectamos a mano hongos yesqueros y poliporos del abedul en bosques de Alemania. Utilizamos exclusivamente cuerpos fructíferos, no micelio.
Solo cuerpos fructíferos
Paso 2 / 5
Ultrasonidos
Las estructuras celulares duras de los hongos se descomponen mediante ultrasonidos: un método moderno y suave, habitual en la práctica de laboratorio.
Extracción por ultrasonidos
Paso 3 / 5
Etanol + agua caliente
La extracción dual con etanol y agua caliente incorpora al extracto componentes solubles en agua y alcohol. Ambos hongos se procesan de la misma manera.
Ultrasonidos + etanol + agua caliente
Paso 4 / 5
Análisis de laboratorio
Cada lote se analiza en el laboratorio. Documentamos los resultados en un certificado de análisis del lote (COA).
COA de cada lote
Paso 5 / 5
Envasado
Envasamos y enviamos desde Kronach, en paquetes discretos y con número de seguimiento.
Fabricado en Baviera
5.000
años de tradición
Los arqueólogos encontraron hongos yesqueros y poliporos del abedul junto a Ötzi, la momia de los glaciares. El uso de ambos hongos se basa en conocimientos transmitidos a lo largo del tiempo. Combinamos esta tradición con la moderna extracción por ultrasonidos, sin hacer promesas terapéuticas.
Servicios
Un laboratorio
a tu
servicio.
Análisis y cultivo de plantas con rigor científico, directamente desde Alta Franconia.
Análisis de cannabis
Perfilado y análisis de tus muestras con métodos de medición modernos.
NIR
HPLC
GC-MS
Terpenos
Pesticidas
Metales pesados
Solicitar asesoramiento
Cultivo de tejidos in vitro
Propagación de plantas en cultivos de tejidos estériles: limpia, uniforme y predecible.
Micropropagación
Libre de patógenos
Conservación varietal
Solicitar asesoramiento
Control de calidad
Analizamos nuestros propios lotes para comprobar sus componentes, metales pesados, microbiología y residuos.
Componentes
Metales pesados
Microbiología
Residuos
Solicitar asesoramiento
Por qué GrayZone Labs
Seis razones
para confiar en nosotros
.
01
Excelencia científica
Métodos de laboratorio en lugar de intuiciones: medir, analizar y documentar.
02
Arraigo local
Fabricado en Kronach, Alta Franconia: distancias cortas y control total.
03
Máxima transparencia
Certificados de análisis de cada lote, accesibles mediante enlace o código QR.
04
Calidad premiada
Ganadores del 100of100 Science & Startups Award 2025.
05
Solo cuerpos fructíferos
Nuestros extractos de hongos se elaboran con cuerpos fructíferos, no con micelio cultivado en cereales.
06
Atención al cliente
Asesoramiento personalizado, embalaje discreto y envío con número de seguimiento.
100of100
Science & Startups
Award 2025
Ciencia
Innovación
galardonada
.
El 100of100 Award reconoce la profundidad científica y la innovación. Para nosotros, supone el compromiso de respaldar cada afirmación con datos.
2025
Ganadores del Science & Startups Award
100 %
de los lotes analizados en laboratorio
Ver fuentes científicas
Ubicación y contacto
Con raíces en
Kronach
, Alta Franconia.
Asesoramiento y visitas al laboratorio con cita previa. Escríbenos o llámanos.
Friesener Straße 13
96317 Kronach, Alta Franconia, Baviera
grayzonelabs@proton.me
+49 174 1524416
Cómo llegar y horario de atención →
Kronach
Alta Franconia · Baviera
¿Listo para
la calidad de
laboratorio
?
Descubre extractos, productos químicos de laboratorio y más en la tienda, o ponte en contacto con nosotros.
Ir a la tienda
Solicitar asesoramiento
GrayZone
Labs
Ciencias de la vida desde Kronach: hongos medicinales, productos químicos de laboratorio y cultivo de tejidos. Ganadores del 100of100 Science & Startups Award 2025.
Páginas
Productos
Servicios
Ciencia
Contacto
Estudios e investigación
Tienda
Ir a la tienda
Extractos de hongos medicinales
Cannabis y accesorios
Información legal
Aviso legal
Política de privacidad
Términos y condiciones
© GrayZone Labs · Anja Finazzo · Friesener Straße 13 · 96317 Kronach. Los extractos de hongos medicinales pueden ser complementos alimenticios y no sustituyen una dieta equilibrada y variada. El azul de metileno es un producto químico de laboratorio y no está destinado al consumo. Trichoderma es un mejorador del suelo, no un producto fitosanitario. Certificación ecológica en preparación.
{"@context":"https://schema.org","@type":"Organization","name":"Grayzone Labs","url":"https://www.grayzonelabs.net","foundingDate":"2022","founder":{"@type":"Person","name":"Luca Finazzo","jobTitle":"Gründer & Geschäftsführer (M.Sc.)"},"address":{"@type":"PostalAddress","streetAddress":"Friesener Straße 13","addressLocality":"Kronach","addressRegion":"Oberfranken, Bayern","postalCode":"96317","addressCountry":"DE"},"geo":{"@type":"GeoCoordinates","latitude":"50.2367","longitude":"11.3295"},"contactPoint":{"@type":"ContactPoint","telephone":"+491741524416","email":"grayzonelabs@proton.me"},"award":"100of100 Science and Startups Award 2025"}
(function(){
'use strict';
var root=document.getElementById('gzl-root'); if(!root||root.getAttribute('data-gzl-init')) return; root.setAttribute('data-gzl-init','1');
root.classList.add('js');
var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;
function $(s,r){return (r||root).querySelector(s)} function $$(s,r){return Array.prototype.slice.call((r||root).querySelectorAll(s))}
function clamp(v,a,b){return Math.min(b,Math.max(a,v))}
/* Duplicar cinta animada */
var mq=$('[data-mq]'); if(mq){mq.innerHTML+=mq.innerHTML}
/* Desplazamiento suave a secciones (sustituye el controlador global de anclas de la página antigua) */
$$('a[href^="#"]').forEach(function(a){
var h=a.getAttribute('href'); if(!h||h.length<2) return;
a.addEventListener('click',function(e){var t=document.getElementById(h.slice(1)); if(t){e.preventDefault();t.scrollIntoView({behavior:reduce?'auto':'smooth',block:'start'})}});
});
/* Aparición al desplazarse */
var rv=$$('.rv');
if('IntersectionObserver' in window){
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target)}})},{threshold:.12,rootMargin:'0px 0px -6% 0px'});
rv.forEach(function(el){io.observe(el)});
} else { rv.forEach(function(el){el.classList.add('in')}) }
/* El brillo de las tarjetas sigue el cursor */
$$('[data-glow]').forEach(function(c){
c.addEventListener('pointermove',function(e){var r=c.getBoundingClientRect();c.style.setProperty('--mx',(e.clientX-r.left)+'px');c.style.setProperty('--my',(e.clientY-r.top)+'px')},{passive:true});
});
/* Pestañas de historia */
var st=$('[data-story]');
if(st){
var tabs=$$('[role=tab]',st),panels=$$('[role=tabpanel]',st);
function sel(i,focus){
tabs.forEach(function(t,k){t.setAttribute('aria-selected',k===i?'true':'false');t.tabIndex=k===i?0:-1});
panels.forEach(function(p,k){p.hidden=k!==i});
if(focus)tabs[i].focus();
var t=tabs[i]; if(t&&t.scrollIntoView&&window.innerWidth<=860){var par=t.parentNode;par.scrollTo({left:t.offsetLeft-par.offsetLeft-20,behavior:reduce?'auto':'smooth'})}
}
tabs.forEach(function(t,i){
t.addEventListener('click',function(){sel(i)});
t.addEventListener('keydown',function(e){
var n=null;
if(e.key==='ArrowRight'||e.key==='ArrowDown')n=(i+1)%tabs.length;
if(e.key==='ArrowLeft'||e.key==='ArrowUp')n=(i-1+tabs.length)%tabs.length;
if(n!==null){e.preventDefault();sel(n,true)}
});
});
}
/* Hero: red de micelio reactiva + esporas */
var hero=$('[data-hero]'),cv=hero&&$('canvas',hero);
if(cv&&cv.getContext){
var ctx=cv.getContext('2d'),W=0,H=0,dpr=1,nodes=[],spores=[],reach=240,t0=performance.now(),last=t0,running=false,visible=true;
var cur={x:0,y:0,tx:0,ty:0,on:false},touched=false,release;
function rnd(a,b){return a+Math.random()*(b-a)}
function makeSpore(init){return{x:rnd(0,W),y:init?rnd(0,H):H+10,v:rnd(10,32),sw:rnd(.6,1.6),ph:rnd(0,6.28),s:rnd(1,2.6),life:init?Math.random():0,ls:rnd(.05,.12)}}
function resize(){
var r=hero.getBoundingClientRect();W=Math.max(1,r.width);H=Math.max(1,r.height);
dpr=Math.min(2,window.devicePixelRatio||1);cv.width=W*dpr;cv.height=H*dpr;ctx.setTransform(dpr,0,0,dpr,0,0);
var n=clamp(Math.round(W*H/20000),22,W<640?30:64);
nodes=[];for(var i=0;i
}
function draw(t,dt){
ctx.clearRect(0,0,W,H);
var grow=reduce?1:clamp(t/2.4,0,1);grow=1-Math.pow(1-grow,3);
var cx=cur.x,cy=cur.y,active=cur.on||(!touched&&!reduce);
if(!touched&&!reduce){cur.tx=W*(.5+.32*Math.sin(t*.35));cur.ty=H*(.5+.28*Math.sin(t*.52+1));}
cur.x+=(cur.tx-cur.x)*Math.min(1,dt*6);cur.y+=(cur.ty-cur.y)*Math.min(1,dt*6);
var i,j,a,b,d,dx,dy;
for(i=0;i
if(!reduce){a.x+=a.vx;a.y+=a.vy;if(a.x<-20)a.x=W+20;if(a.x>W+20)a.x=-20;if(a.y<-20)a.y=H+20;if(a.y>H+20)a.y=-20;}
a.ox=a.x;a.oy=a.y;
if(active){dx=cur.x-a.x;dy=cur.y-a.y;d=Math.sqrt(dx*dx+dy*dy);if(d
}
ctx.lineCap='round';
var link=W<640?120:150;
for(i=0;i
}
for(i=0;i
ctx.shadowColor='rgba(125,240,192,.9)';ctx.shadowBlur=near*14;
ctx.beginPath();ctx.arc(a.ox,a.oy,a.r+near*2.2,0,6.283);ctx.fill();
}
ctx.shadowBlur=0;
if(active&&grow>.6){
var cand=[];for(i=0;i
for(i=0;i
ctx.beginPath();ctx.moveTo(cur.x,cur.y);
var mx=(cur.x+a.ox)/2+Math.sin(t*2+i)*12,my=(cur.y+a.oy)/2+Math.cos(t*2+i)*12;
ctx.quadraticCurveTo(mx,my,a.ox,a.oy);ctx.stroke();
}
ctx.shadowBlur=0;
var g=ctx.createRadialGradient(cur.x,cur.y,0,cur.x,cur.y,46);g.addColorStop(0,'rgba(125,240,192,.28)');g.addColorStop(1,'rgba(125,240,192,0)');
ctx.fillStyle=g;ctx.beginPath();ctx.arc(cur.x,cur.y,46,0,6.283);ctx.fill();
}
for(i=0;i
if(s.y<-10||s.life>1){spores[i]=makeSpore(false);continue}
var sa=Math.sin(s.life*Math.PI)*.9;if(sa<.02)continue;
ctx.fillStyle='rgba(125,240,192,'+sa.toFixed(3)+')';ctx.shadowColor='rgba(125,240,192,.9)';ctx.shadowBlur=s.s*4;
ctx.beginPath();ctx.arc(s.x,s.y,s.s,0,6.283);ctx.fill();
}
ctx.shadowBlur=0;
}
function frame(now){
if(!visible||document.hidden){running=false;return}
var dt=Math.min(.05,(now-last)/1000);last=now;draw((now-t0)/1000,dt);requestAnimationFrame(frame);
}
function start(){if(running||reduce)return;running=true;last=performance.now();requestAnimationFrame(frame)}
function setP(e){var r=hero.getBoundingClientRect();cur.tx=e.clientX-r.left;cur.ty=e.clientY-r.top;if(!cur.on){cur.x=cur.tx;cur.y=cur.ty}cur.on=true;touched=true;clearTimeout(release)}
function leave(e){clearTimeout(release);if(e&&e.pointerType==='touch'){release=setTimeout(function(){cur.on=false},900)}else{cur.on=false}}
if(!reduce){hero.addEventListener('pointermove',setP,{passive:true});hero.addEventListener('pointerdown',setP,{passive:true});hero.addEventListener('pointerleave',leave,{passive:true});hero.addEventListener('pointerup',leave,{passive:true});hero.addEventListener('pointercancel',leave,{passive:true})}
if('ResizeObserver' in window){new ResizeObserver(resize).observe(hero)}else{window.addEventListener('resize',resize)}
if('IntersectionObserver' in window){new IntersectionObserver(function(es){visible=es[0].isIntersecting;if(visible)start()},{threshold:0}).observe(hero)}
document.addEventListener('visibilitychange',function(){if(!document.hidden)start()});
resize();start();
} })();
