{"v":57,"css":"@font-face{font-family:\"Daily Spark Sans\";src:url(https://cdn.prod.website-files.com/6a97e2884291c0c32e3b2095/6aa917d194a1147298cdb15a_Daily%20Spark%20Sans.otf) format(\"opentype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:\"Inter Tight\";src:url(https://cdn.prod.website-files.com/6a97e2884291c0c32e3b2095/6abbd2123ac75897524119e1_kl-inter-tight-latin.woff2) format(\"woff2\");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Inter Tight\";src:url(https://cdn.prod.website-files.com/6a97e2884291c0c32e3b2095/6abbd221bca087808c09d7ed_kl-inter-tight-latin-ext.woff2) format(\"woff2\");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--navy: #003049;--navy-deep: #00243a;--cream: #FAF5ED;--cream-2: #F5EDD6;--red: #C1111F;--blue: #669BBC;--teal: #2E6F8E;--plan: #C9C9C9;--map: #F6F8EB;--f-display: \"Daily Spark Sans\", \"Arial Black\", Impact, sans-serif;--f-body: \"Inter Tight\", \"Inter\", system-ui, -apple-system, \"Segoe UI\", sans-serif;--gutter: clamp(16px, 3.2vw, 56px);--radius: clamp(20px, 2.4vw, 40px);--nav-h: 84px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.76, 0, .24, 1)}html:has(.w-webflow-badge){--wf-badge: 44px}*,*::before,*::after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,li,label,a,strong,em,blockquote,figure{margin:revert;padding:revert;min-height:revert;display:revert;align-items:revert;font-family:revert;font-size:revert;font-weight:revert;font-style:revert;line-height:revert;letter-spacing:revert;text-align:revert;color:revert;background:revert}img{vertical-align:revert}chrome_annotation{border-bottom-style:none!important}html{scrollbar-gutter:stable;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overflow-anchor:none;background:var(--navy)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}html.is-locked{overflow:hidden}body{margin:0;background:var(--navy);color:var(--navy);font-family:var(--f-body);font-size:clamp(15px,1.05vw,18px);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg{display:block}img{max-width:none;user-select:none;-webkit-user-drag:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,address{margin:0;padding:0}ul,ol{list-style:none}::selection{background:var(--red);color:var(--cream)}:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:6px}main [tabindex=\"-1\"]:focus-visible,main[tabindex=\"-1\"]:focus-visible{outline:none}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.kicker{display:inline-flex;align-items:center;gap:.7em;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.kicker svg{width:1.25em;height:auto;color:var(--red);flex:none}.kicker--light{color:var(--cream)}.kontakt .kicker svg{color:var(--cream)}.tag{display:inline-flex;align-items:center;padding:9px 16px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);background:rgba(250,245,237,.14);border:1px solid rgba(250,245,237,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tag--solid{background:var(--red);border-color:var(--red)}.roll{position:relative;display:inline-flex;overflow:hidden;vertical-align:top;line-height:1.25}.roll__a,.roll__b{display:inline-flex;white-space:pre}.roll__b{position:absolute;left:0;top:0}.roll .c{display:inline-block;white-space:pre;transition:transform .55s var(--ease-io);transition-delay:calc(var(--i) * 13ms)}.roll__b .c{transform:translateY(110%)}@media(hover:hover){:is(a,button):hover .roll__a .c{transform:translateY(-110%)}:is(a,button):hover .roll__b .c{transform:translateY(0)}}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:14px;padding:19px 28px;border-radius:99px;border:1.5px solid currentColor;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:color .5s var(--ease-io)}.btn__fill{position:absolute;inset:-2px;z-index:-1;border-radius:inherit;background:var(--cream);transform:translateY(102%);transition:transform .6s var(--ease-io)}.btn svg{width:20px;height:auto;transform:rotate(-90deg);transition:transform .5s var(--ease-io)}.btn--light{color:var(--cream)}@media(hover:hover){.btn:hover .btn__fill{transform:translateY(0)}.btn:hover{color:var(--red)}.btn:hover svg{transform:rotate(-90deg) translateY(4px)}.btn--light:hover{color:var(--navy)}}.odo{display:inline-flex;height:var(--oh, 1.1em);line-height:1;overflow:hidden;vertical-align:top}.odo__col{display:block;height:var(--oh, 1.1em);overflow:hidden}.odo__strip{display:flex;flex-direction:column;will-change:transform}.odo__strip>span{display:block;height:var(--oh, 1.1em);line-height:var(--oh, 1.1em);text-align:center}.odo__static{line-height:var(--oh, 1.1em)}.loader{position:fixed;inset:0;z-index:90;pointer-events:none;color:var(--cream);display:none}html.is-loading .loader{display:block}html.is-loading:not(.loader-on) body{visibility:hidden}html:not(.is-loading) .hero__flip{display:none}html.is-loading .retreat__media img,html.is-loading .intro .pill img{display:none}.loader__corner{position:absolute;top:calc(var(--gutter) * .8)}.loader__corner--tl{left:var(--gutter)}.loader__corner--tr{right:var(--gutter);display:grid;gap:4px;text-align:right;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;overflow:hidden}.loader__corner--tr span{display:block}.loader__logo{width:clamp(34px,3.4vw,50px);height:auto;overflow:visible}.loader__logo path{fill:rgba(250,245,237,0);stroke:var(--cream);stroke-width:1.2}.loader__count{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + 18px);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.loader__num{font-family:var(--f-display);font-size:clamp(96px,18vw,300px);line-height:1.1;overflow:hidden}.loader__odo{display:inline-flex}.loader__label{display:grid;overflow:hidden;text-align:right;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding-bottom:.6em}.loader__label span{display:block}.loader__bar{position:absolute;left:var(--gutter);right:var(--gutter);bottom:var(--gutter);height:2px;background:rgba(250,245,237,.16);overflow:hidden}.loader__bar i{position:absolute;inset:0;background:var(--cream);transform-origin:0 50%;transform:scaleX(0)}.loader__skip{position:absolute;left:50%;top:calc(var(--gutter) * .8);transform:translateX(-50%);pointer-events:auto;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:99px;border:1.5px solid rgba(250,245,237,.45);color:var(--cream);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:0;animation:skipIn .8s var(--ease-out) 1.1s forwards;transition:background .3s ease,color .3s ease,border-color .3s ease}.loader__skip svg{width:14px;height:auto;transform:rotate(-90deg)}.loader__skip:hover,.loader__skip:focus-visible{background:var(--cream);border-color:var(--cream);color:var(--navy)}@keyframes skipIn{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}.skip{position:fixed;left:50%;bottom:calc(var(--gutter) * .5 + env(safe-area-inset-bottom,0px));z-index:74;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:99px;background:rgba(0,48,73,.88);color:var(--cream);box-shadow:0 14px 34px rgba(0,20,35,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,16px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .55s var(--ease-out),opacity .35s ease,visibility 0s linear .55s,background .3s ease,color .3s ease,left .6s var(--ease-io),bottom .6s var(--ease-io)}.skip.is-on{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.skip[data-theme=light]{background:rgba(250,245,237,.9);color:var(--navy)}.skip:focus-visible{background:var(--red);color:var(--cream)}@media(hover:hover){.skip:hover{background:var(--red);color:var(--cream)}}.skip__ring{width:26px;height:26px;flex:none;transform:rotate(-90deg)}.skip__ring circle{fill:none;stroke:currentColor;stroke-width:2.5;opacity:.22}.skip__ring .skip__prog{opacity:1;stroke:var(--red);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}.skip:focus-visible .skip__prog{stroke:var(--cream)}@media(hover:hover){.skip:hover .skip__prog{stroke:var(--cream)}}.skip__txt b{font-weight:700}.skip__arrow{width:13px;height:auto;flex:none;animation:skipBob 1.6s var(--ease-io) infinite}@keyframes skipBob{0%,100%{translate:0 -2px}50%{translate:0 2px}}.skip[data-at=raum]{bottom:calc(26px + 16px + env(safe-area-inset-bottom,0px))}@media(min-width:761px){.skip[data-at=projekt]{left:calc(var(--gutter) + (100% - 2 * var(--gutter)) * .8)}html:has(.w-webflow-badge) .skip[data-at=projekt]{bottom:calc(var(--gutter) * .5 + var(--wf-badge) + env(safe-area-inset-bottom,0px))}}@media(max-width:760px){.skip__txt b{display:none}.skip__txt{text-transform:uppercase}}html.is-loading .skip,html.menu-open .skip{opacity:0!important;visibility:hidden!important}.nav{position:fixed;top:0;left:0;right:0;z-index:80;pointer-events:none;color:var(--navy);transition:color .45s ease}.nav[data-theme=light]{color:var(--cream)}html.menu-open .nav{color:var(--cream)}html.is-loading:not(.kl-outro) .nav{opacity:0}html.is-loading .nav a,html.is-loading .nav button{pointer-events:none!important}.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);transition:transform .7s var(--ease-io)}.nav__inner.is-hidden{transform:translateY(-130%)}.nav a,.nav button{pointer-events:auto}.nav__logo{display:flex;align-items:center;gap:12px}.nav__logo svg{width:32px;height:auto}.nav__brand{font-family:var(--f-display);font-size:22px;line-height:1;text-transform:uppercase;letter-spacing:.02em}.nav__links{display:flex;gap:clamp(18px,2.2vw,38px);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.nav__right{display:flex;align-items:center;gap:10px}.nav__sound{position:relative;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:99px;border:1.5px solid currentColor;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.eq{display:flex;align-items:flex-end;gap:2px;height:12px}.eq i{width:2px;height:3px;border-radius:1px;background:currentColor;transition:height .3s ease}.nav__sound.is-on .eq i{animation:eq .8s ease-in-out infinite alternate}.nav__sound.is-on .eq i:nth-child(2){animation-delay:-.35s}.nav__sound.is-on .eq i:nth-child(3){animation-delay:-.6s}.nav__sound.is-on .eq i:nth-child(4){animation-delay:-.15s}@keyframes eq{0%{height:3px}100%{height:12px}}.nav__sound.is-hint::after{content:\"\";position:absolute;inset:-6px;border-radius:99px;border:1.5px solid var(--red);animation:hint 1.6s ease-out 3;pointer-events:none}@keyframes hint{0%{opacity:1;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}.nav__btn{display:flex;align-items:center;gap:14px;padding:12px 18px 12px 20px;border-radius:99px;border:1.5px solid currentColor;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav__burger{position:relative;width:18px;height:9px}.nav__burger i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .6s var(--ease-io)}.nav__burger i:first-child{top:0}.nav__burger i:last-child{bottom:0}html.menu-open .nav__burger i:first-child{transform:translateY(3.5px) rotate(45deg)}html.menu-open .nav__burger i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu{position:fixed;inset:0;z-index:78;visibility:hidden}.menu__panel{position:absolute;inset:0;overflow:hidden;background:var(--navy);color:var(--cream);clip-path:circle(0px at 100% 0%);display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:40px;padding:calc(var(--nav-h) + 4vh) var(--gutter) var(--gutter)}.menu__nav{display:grid;gap:.1em;position:relative;z-index:2}.menu__link{display:flex;align-items:flex-start;gap:18px;width:fit-content;font-family:var(--f-display);font-size:clamp(34px,6vw,112px);line-height:.92;text-transform:uppercase;white-space:nowrap;overflow:hidden;padding-top:.04em}.menu__idx{font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--blue);margin-top:.9em;min-width:2ch}.menu__txt{display:inline-block;transition:color .35s ease,transform .6s var(--ease-io)}@media(hover:hover){.menu__link:hover .menu__txt{color:var(--red);transform:translateX(18px) skewX(-6deg)}}.menu__aside{position:relative;z-index:2;display:grid;gap:22px;font-size:15px;color:rgba(250,245,237,.8);padding-bottom:1em}.menu__aside a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:4px}.menu__shape{position:absolute;z-index:1;height:auto}.menu__shape--1{width:clamp(90px,12vw,220px);right:8%;top:16%;color:var(--blue)}.menu__shape--2{width:clamp(50px,5vw,90px);right:30%;top:8%;color:var(--red)}.menu__shape--3{width:clamp(60px,7vw,130px);right:4%;top:48%;color:var(--cream-2)}.menu__shape--4{width:clamp(80px,10vw,180px);right:22%;top:34%;color:rgba(102,155,188,.45)}.secnav{position:fixed;right:clamp(6px,.6vw,12px);top:50%;z-index:72;transform:translateY(-50%);transition:opacity .45s ease,transform .6s var(--ease-out)}html.menu-open .secnav{opacity:0!important;pointer-events:none!important}.secnav__list{display:flex;flex-direction:column;align-items:center;padding:10px 0;border-radius:99px;background:rgba(0,48,73,.5);border:1px solid rgba(250,245,237,.16);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);box-shadow:0 10px 30px rgba(0,20,35,.16)}html.is-loading .secnav__list{opacity:0}.secnav__btn{position:relative;display:grid;place-items:center;width:34px;height:28px}.secnav__btn::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--cream);opacity:.62;transition:width .45s var(--ease-out),height .45s var(--ease-out),opacity .3s ease,background-color .3s ease,box-shadow .3s ease}.secnav__btn::after{content:\"\";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform .45s var(--ease-out)}.secnav__btn.is-active::before{width:20px;height:20px;opacity:1}.secnav__btn.is-active::after{transform:scale(1)}.secnav__btn:focus-visible::before,.secnav__btn.is-pick::before{width:24px;height:24px;opacity:1;background:rgba(0,36,58,.55);box-shadow:0 0 0 1.5px var(--red)}.secnav__btn:focus-visible::after,.secnav__btn.is-pick::after{transform:scale(.75)}.secnav__btn:focus-visible{outline:none}.secnav__label{position:absolute;right:calc(100% + 10px);top:50%;padding:7px 13px 6px;border-radius:99px;background:var(--cream);color:var(--navy);font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(8px,-50%);transition:opacity .25s ease,transform .4s var(--ease-out);box-shadow:0 6px 18px rgba(0,20,35,.18)}.secnav__btn:focus-visible .secnav__label,.secnav__btn.is-pick .secnav__label{opacity:1;transform:translate(0,-50%)}@media(hover:hover){.secnav__btn:hover::before{width:24px;height:24px;opacity:1;background:rgba(0,36,58,.55);box-shadow:0 0 0 1.5px var(--red)}.secnav__btn:hover::after{transform:scale(.75)}.secnav__btn:hover .secnav__label{opacity:1;transform:translate(0,-50%)}}@media(min-width:761px)and (max-width:1180px){.secnav{right:4px}.secnav__list{padding:6px 0}.secnav__btn{width:22px;height:24px}.secnav__btn::before{width:4px;height:4px}.secnav__btn::after{width:6px;height:6px;margin:-3px 0 0 -3px}.secnav__btn.is-active::before{width:13px;height:13px}.secnav__btn:focus-visible::before,.secnav__btn.is-pick::before{width:19px;height:19px}@media(hover:hover){.secnav__btn:hover::before{width:19px;height:19px}}}html.lite .secnav{right:3px;opacity:0;pointer-events:none;transform:translate(8px,-50%);touch-action:none}html.lite .secnav.is-shown,html.lite .secnav.is-touch{opacity:1;transform:translate(0,-50%)}html.lite .secnav.is-shown.is-idle,html.lite .secnav.is-touch{pointer-events:auto}html.lite .secnav::before{content:\"\";position:absolute;inset:-12px -3px -12px -7px}html.lite .secnav__list{padding:6px 0;background:rgba(0,48,73,.42)}html.lite .secnav.is-touch .secnav__list{background:rgba(0,48,73,.72)}html.lite .secnav__btn{width:22px;height:21px}html.lite .secnav__btn::before{width:4px;height:4px}html.lite .secnav__btn::after{width:6px;height:6px;margin:-3px 0 0 -3px}html.lite .secnav__btn.is-active::before{width:13px;height:13px}html.lite .secnav__btn.is-pick::before{width:19px;height:19px}html.lite .secnav__label{right:calc(100% + 14px);padding:8px 14px 7px;font-size:12px}.cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .3s ease;--c: var(--red);--t: var(--cream)}.cursor.is-on{opacity:1}.cursor[data-accent=cream]{--c: var(--cream);--t: var(--red)}.cursor__dot{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--c)}.cursor__ring{position:fixed;left:0;top:0}.cursor__circle{position:absolute;left:0;top:0;width:40px;height:40px;transform:translate(-50%,-50%);border:1.5px solid var(--c);border-radius:50%;display:grid;place-items:center;transition:width .5s var(--ease-out),height .5s var(--ease-out),background-color .3s ease,border-color .3s ease,opacity .3s ease}.cursor__label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t);opacity:0;transition:opacity .25s ease;white-space:nowrap}.cursor.is-link .cursor__circle{width:66px;height:66px;background:color-mix(in srgb,var(--c) 14%,transparent)}.cursor.is-label .cursor__circle{width:108px;height:108px;background:var(--c)}.cursor.is-label .cursor__label{opacity:1}.cursor.is-label .cursor__dot{opacity:0}.cursor.is-down .cursor__circle{width:30px;height:30px}.cursor.is-text .cursor__circle{opacity:0}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor input,html.has-cursor textarea{cursor:text!important}.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:95;pointer-events:none;opacity:.065;background-image:url(\"data:image/svg+xml;utf8,\");animation:grain .9s steps(5) infinite}@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}100%{transform:translate(0,0)}}.curtain{position:fixed;inset:0;z-index:92;display:none;place-content:center;justify-items:center;gap:22px;background:var(--red);color:var(--cream);clip-path:inset(100% 0 0 0)}.curtain__logo{width:clamp(56px,6vw,96px);height:auto}.curtain__label{overflow:hidden;padding-top:.3em;margin-top:-.3em;font-family:var(--f-display);font-size:clamp(48px,9vw,170px);line-height:1;text-transform:uppercase}.curtain__label span{display:block}.burst{position:fixed;left:0;top:0;z-index:96;pointer-events:none}.burst svg{width:100%;height:auto}.hero{position:relative;z-index:1;height:100vh;height:100svh;overflow:hidden;background:#7cc4ee;--hb: max(40.2vw, 60svh)}.hero__stage{position:absolute;inset:0;transform-origin:50% 50%}.hero__layer{position:absolute;inset:0;will-change:transform}.hero__m{position:absolute;inset:0}.hero__sky img{position:absolute;left:-4%;top:-6%;width:108%;height:max(62%,calc(100% - var(--hb) * .92 + 24%));object-fit:cover;object-position:50% 30%;animation:skyDrift 46s ease-in-out infinite alternate}@keyframes skyDrift{from{transform:translateX(-1.4%)}to{transform:translateX(1.4%)}}.hero__build img{position:absolute;bottom:-2px;left:50%;height:var(--hb);width:auto;transform:translateX(-50%)}.hero__sky canvas{position:absolute;left:-4%;top:-6%;width:108%;height:112%}.hero__build .build__gl{position:absolute;bottom:-2px;left:50%;height:var(--hb);width:calc(var(--hb) * 2.5911);transform:translateX(-50%)}.hero.has-sky .hero__sky img,.hero.has-sky .hero__build img{opacity:0}.hero.sky-lost :is(.sky__gl,.sky__birds,.build__gl,.wx__cv){visibility:hidden}.hero__wx{pointer-events:none}.hero__wx canvas{position:absolute;inset:0;width:100%;height:100%}.hero.has-sky .hero__petals{filter:brightness(calc(1 - var(--night, 0) * .4))}.hero__dim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,36,58,.78) 0%,rgba(0,36,58,.1) 38%,transparent 55%)}.hero__dim::before{content:\"\";position:absolute;inset:0;background:radial-gradient(ellipse 78% 72% at 50% 56%,transparent 52%,rgba(0,0,0,.1) 76%,rgba(0,0,0,.26) 100%)}.hero__dim::after{content:\"\";position:absolute;inset:0;background:var(--navy);opacity:var(--dim, 0);will-change:opacity}.petal{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:auto;overflow:visible}.hero__flip{position:absolute;left:50%;top:50%;width:300px;height:390px;z-index:12;overflow:hidden;border-radius:20px;background:var(--navy);transform:translate(-50%,-50%)}.hero__flip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.hero__flip img:first-child{opacity:1}.hero__ui{position:absolute;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;padding:0 var(--gutter) calc(var(--gutter) * .9 + var(--wf-badge, 0px));color:var(--cream)}.hero__claim{font-family:var(--f-display);font-size:clamp(26px,2.9vw,52px);line-height:.92;text-transform:uppercase}.hero__claim .line{display:block;overflow:hidden;padding-top:.3em;margin-top:-.3em}.hero__claim .line>span{display:block}.hero__badge{position:relative;display:grid;place-items:center;width:clamp(96px,8.4vw,136px);aspect-ratio:1;justify-self:center}.hero__badge-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite}.hero__badge-ring text{font-family:var(--f-body);font-size:15px;font-weight:700;letter-spacing:.06em;fill:var(--cream);text-transform:uppercase}.hero__badge::before{content:\"\";position:absolute;inset:22%;border-radius:50%;background:var(--red);transition:transform .5s var(--ease-out)}@media(hover:hover){.hero__badge:hover::before{transform:scale(1.15)}}.hero__badge-arrow{position:relative;width:30%;height:auto;color:var(--cream);animation:bob 1.8s var(--ease-io) infinite}.hero__meta{justify-self:end;display:grid;gap:4px;text-align:right;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;overflow:hidden}.hero__meta span{display:block}:root{--i-clock: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M112 60A52 52 0 1 0 8 60A52 52 0 1 0 112 60ZM102 60A42 42 0 1 0 18 60A42 42 0 1 0 102 60ZM55 35A5 5 0 0 1 65 35V55H83A5 5 0 0 1 83 65H60A5 5 0 0 1 55 60Z'/%3E%3C/svg%3E\");--i-cam: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M18 30H68A12 12 0 0 1 80 42V78A12 12 0 0 1 68 90H18A12 12 0 0 1 6 78V42A12 12 0 0 1 18 30ZM88 52L112 38V82L88 68Z'/%3E%3C/svg%3E\");--i-mouse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M60 6A32 32 0 0 1 92 38V82A32 32 0 0 1 28 82V38A32 32 0 0 1 60 6ZM60 24H60A5 5 0 0 1 65 29V45A5 5 0 0 1 60 50H60A5 5 0 0 1 55 45V29A5 5 0 0 1 60 24Z'/%3E%3C/svg%3E\");--i-eye: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M6 60C26 16 94 16 114 60C94 104 26 104 6 60ZM79 60A19 19 0 1 0 41 60A19 19 0 1 0 79 60ZM69 60A9 9 0 1 0 51 60A9 9 0 1 0 69 60Z'/%3E%3C/svg%3E\");--i-key: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M59.04 53H106A6 6 0 0 1 112 59V86A4 4 0 0 1 108 90H106A4 4 0 0 1 102 86V67H96V78A4 4 0 0 1 92 82H90A4 4 0 0 1 86 78V67H59.04A26 26 0 1 1 59.04 53ZM45 60A11 11 0 1 0 23 60A11 11 0 1 0 45 60Z'/%3E%3C/svg%3E\");--i-pencil: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M14 106L20.37 81.25L38.75 99.63ZM26.02 75.6L71.28 30.34L89.66 48.72L44.4 93.98ZM76.94 24.68L84.01 17.61A13 13 0 0 1 102.39 35.99L95.32 43.06Z'/%3E%3C/svg%3E\");--i-plan: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath fill-rule='evenodd' d='M18 10H50A8 8 0 0 1 58 18V46A8 8 0 0 1 50 54H18A8 8 0 0 1 10 46V18A8 8 0 0 1 18 10ZM18 64H50A8 8 0 0 1 58 72V102A8 8 0 0 1 50 110H18A8 8 0 0 1 10 102V72A8 8 0 0 1 18 64ZM76 10H102A8 8 0 0 1 110 18V32A8 8 0 0 1 102 40H76A8 8 0 0 1 68 32V18A8 8 0 0 1 76 10ZM76 50H102A8 8 0 0 1 110 58V102A8 8 0 0 1 102 110H76A8 8 0 0 1 68 102V58A8 8 0 0 1 76 50Z'/%3E%3C/svg%3E\")}.hero__meta span.is-live{display:flex;justify-content:flex-end;align-items:center;gap:.55em}.hero__meta span.is-live::before{content:\"\";flex:none;width:1.05em;height:1.05em;transform:translateY(-.075em);background:currentColor;-webkit-mask:var(--i-clock) center / contain no-repeat;mask:var(--i-clock) center / contain no-repeat}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{0%,100%{transform:translateY(-18%)}50%{transform:translateY(18%)}}.intro{position:relative;z-index:2;overflow:hidden;overflow:clip;background:var(--cream);color:var(--navy);border-radius:var(--radius) var(--radius) 0 0;padding:clamp(96px,15vh,190px) var(--gutter) 0;box-shadow:0 -30px 90px rgba(0,20,35,.28)}.intro__title{display:flex;flex-direction:column;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(50px,10.6vw,210px);line-height:.86;margin:30px 0 clamp(56px,9vw,140px)}.intro__title .ln{display:block;overflow:hidden;padding:.32em 0 .2em;margin:-.32em 0 -.2em}.intro__title .ln:last-child{margin-top:.06em}.intro__title .ln__i{display:inline-flex;align-items:center;gap:.2em}.intro__title em{position:relative;font-style:normal;color:var(--red)}.intro__root{position:absolute;left:-2%;bottom:-.1em;width:104%;height:.2em;overflow:visible}.intro__root path{fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke}.pill{position:relative;display:inline-block;flex:none;width:1.95em;height:.72em;border-radius:999px;overflow:hidden;transform:translateY(-.03em)}.pill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pill--b img{object-position:50% 60%}.intro__cols{display:grid;grid-template-columns:1.7fr 1fr;gap:5vw;align-items:end}.intro__big{font-size:clamp(24px,3.1vw,54px);line-height:1.12;font-weight:500;letter-spacing:-.02em}.intro__small{font-size:clamp(16px,1.25vw,20px);max-width:30ch;padding-bottom:.4em;border-top:1.5px solid rgba(0,48,73,.2);padding-top:18px}.garden{position:relative;height:clamp(260px,50vh,560px);margin:clamp(40px,8vh,100px) calc(var(--gutter) * -1) 0}.plant{position:absolute;bottom:-3px;left:var(--x);height:var(--h);transform-origin:50% 100%}.plant svg{height:100%;width:auto;transform-origin:50% 100%;overflow:visible}.stats{position:relative;z-index:2;overflow:hidden;overflow:clip;background:var(--navy);color:var(--cream);padding:clamp(100px,18vh,220px) var(--gutter) clamp(90px,14vh,170px)}.stats__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(38px,8.6vw,170px);line-height:.86;margin-top:26px}.stats__title .char{display:inline-block}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(64px,11vh,150px)}.stat{position:relative;padding:30px 24px 0 0}.stat__line{position:absolute;top:0;left:0;right:18px;height:1.5px;background:rgba(250,245,237,.35);transform-origin:0 50%}.stat__num{display:flex;align-items:flex-start;gap:.08em;font-family:var(--f-display);font-size:clamp(64px,8.2vw,156px);line-height:1.1}.stat__pre,.stat__unit{font-family:var(--f-body);font-weight:700;font-size:.2em;line-height:1;margin-top:.55em;color:var(--blue);letter-spacing:.02em}.stat__label{margin-top:16px;font-size:clamp(13.5px,1.15vw,18px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,245,237,.78)}.stats__text{max-width:30ch;margin:clamp(70px,12vh,150px) 0 0 auto;font-size:clamp(22px,2.4vw,42px);line-height:1.16;font-weight:500;letter-spacing:-.015em}.bands{position:relative;z-index:2;height:clamp(230px,36vh,400px);overflow:hidden;background:linear-gradient(var(--navy) 50%,var(--cream) 50%)}.band{position:absolute;left:-8%;right:-8%;top:50%;padding:clamp(12px,1.4vw,22px) 0;overflow:hidden;box-shadow:0 20px 50px rgba(0,20,35,.18)}.band--a{background:var(--red);color:var(--cream);transform:translateY(-50%) rotate(-4deg);z-index:2}.band--b{background:var(--blue);color:var(--navy);transform:translateY(-50%) rotate(3.2deg)}.band__track{display:flex;width:max-content;will-change:transform}.band__group{display:flex;align-items:center;gap:clamp(22px,2.6vw,44px);padding-right:clamp(22px,2.6vw,44px);font-family:var(--f-display);font-size:clamp(32px,4.6vw,84px);line-height:1;text-transform:uppercase;white-space:nowrap}.band__group svg{width:.78em;height:auto;flex:none}.retreat{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--cream)}.retreat__media{position:absolute;inset:0;overflow:hidden;clip-path:inset(29% 33% 29% 33% round 32px);--shade: 0}.retreat__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.45)}.retreat__media::after{content:\"\";position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(0,36,58,.85) 0%,rgba(0,36,58,.25) 45%,rgba(0,36,58,0) 70%);opacity:var(--shade);will-change:opacity}.retreat__title{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(96px,11vh,130px) var(--gutter) 9vh;text-align:center;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(42px,8.4vw,170px);line-height:.86;color:var(--navy)}.retreat__title span{display:block}.retreat__copy{position:absolute;left:var(--gutter);bottom:calc(var(--gutter) + 8px);max-width:min(600px,55%);color:var(--cream);font-size:clamp(17px,1.55vw,26px);line-height:1.38;font-weight:500}.retreat__tags{position:absolute;right:var(--gutter);bottom:calc(var(--gutter) + 8px);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:40%}.retreat__play{width:11px;height:13px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}.raum{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--cream);color:var(--navy)}.raum__track{display:flex;align-items:center;gap:clamp(48px,7vw,150px);width:max-content;height:100%;padding:0 12vw 0 var(--gutter);will-change:transform}.rp{position:relative;flex:none}.rp--intro{width:min(88vw,980px)}.raum__big{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(70px,14vw,218px);line-height:.82;margin:26px 0 34px}.raum__big span{display:block}.raum__big .outline{padding-top:.2em;margin-top:-.2em;color:transparent;-webkit-text-stroke:2px var(--navy);background:linear-gradient(90deg,var(--navy) 50%,transparent 50%) 100% 0 / 200% 100% no-repeat;-webkit-background-clip:text;background-clip:text}.raum__big .solid{color:var(--red);white-space:nowrap}.uml{display:inline-block;padding-top:.24em}.raum__big .solid .char{display:inline-block}.raum__lead{max-width:24ch;font-size:clamp(19px,1.8vw,30px);line-height:1.22;font-weight:500;letter-spacing:-.01em}.raum__hint{display:inline-flex;align-items:center;gap:14px;margin-top:40px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.raum__hint svg{width:34px;height:auto;color:var(--red);transform:rotate(-90deg);animation:nudge 1.6s var(--ease-io) infinite}@keyframes nudge{0%,100%{translate:0 0}50%{translate:8px 0}}.rp--img{width:clamp(300px,44vw,780px)}.rp--tall{width:clamp(270px,30vw,540px)}.rp--wide{width:clamp(320px,58vw,1040px)}.rp__img{position:relative;height:60vh;height:60svh;border-radius:var(--radius);overflow:hidden;background:var(--cream-2)}.rp--tall .rp__img{height:70vh;height:70svh}.rp__img img{position:absolute;top:0;left:-10%;width:120%;height:100%;object-fit:cover}.rp figcaption{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin-top:22px;max-width:540px}.rp__n{grid-row:span 2;font-family:var(--f-display);font-size:22px;line-height:1.1;color:var(--red)}.rp figcaption h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.3vw,40px);line-height:.95}.rp figcaption p{font-size:15px;color:rgba(0,48,73,.78)}.rp--type{width:clamp(300px,38vw,660px);text-align:center}.rp__rooms{display:flex;justify-content:center;align-items:center;gap:.12em;font-family:var(--f-display);font-size:clamp(130px,22vw,420px);line-height:1.1}.rp__rooms .dash{width:.34em;height:.09em;border-radius:.05em;background:var(--red);transform:translateY(-.06em)}.rp__rooms-label{font-family:var(--f-display);font-size:clamp(38px,4.2vw,78px);line-height:1;text-transform:uppercase;margin-top:-.1em}.rp__rooms-sub{max-width:28ch;margin:18px auto 0;font-size:15px;color:rgba(0,48,73,.75)}.rp--features{width:clamp(330px,62vw,1060px)}.rp__ftitle{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(40px,4.6vw,86px);line-height:.88}.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}.feat{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-height:clamp(170px,24vh,250px);padding:clamp(20px,2vw,32px);border-radius:calc(var(--radius) * .8);background:var(--navy);color:var(--cream)}.feat:nth-child(2){background:var(--blue);color:var(--navy)}.feat:nth-child(3){background:var(--red)}.feat:nth-child(4){background:var(--cream-2);color:var(--navy)}.feat svg{width:clamp(42px,3.4vw,54px);height:auto}.feat h4{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(24px,2.3vw,40px);line-height:.95}.feat p{margin-top:10px;font-size:14px;line-height:1.45;opacity:.86}.raum__progress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:26px;height:2px;background:rgba(0,48,73,.12)}.raum__progress i{position:absolute;inset:0;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}.green{position:relative;z-index:2;background:var(--navy);color:var(--cream)}.green__pin{position:relative;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}.green__eye{position:absolute;inset:0;clip-path:circle(16% at 50% 50%)}.green__eye img{width:100%;height:100%;object-fit:cover;transform:scale(1.5)}.green__eye::after{content:\"\";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(0,48,73,.25),rgba(0,48,73,.78))}.green__head{position:relative;z-index:2;padding:0 var(--gutter);text-align:center}.green__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(44px,9.4vw,190px);line-height:.86;max-width:14ch;margin:22px auto 26px;text-shadow:0 .04em .2em rgba(0,24,38,.35)}.green__title .char{display:inline-block}.green__sub{max-width:40ch;margin:0 auto;font-size:clamp(19px,1.75vw,30px);font-weight:500;text-shadow:0 .05em .4em rgba(0,24,38,.4)}.green__text{padding:clamp(110px,18vh,220px) var(--gutter) clamp(70px,12vh,140px)}.green__text p{max-width:30ch;font-size:clamp(26px,3.3vw,58px);line-height:1.12;font-weight:500;letter-spacing:-.02em}.stack{position:relative;padding:0 var(--gutter) 14vh}.card{position:relative;height:min(78vh,820px);margin-bottom:7vh}.card:last-child{margin-bottom:0}.card__inner{position:relative;height:100%;overflow:hidden;border-radius:var(--radius);display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(20px,3vw,56px);padding:clamp(22px,3vw,52px);transform-origin:50% 0%;box-shadow:0 -20px 60px rgba(0,16,28,.28)}.card--cream .card__inner{background:var(--cream);color:var(--navy)}.card--blue .card__inner{background:var(--blue);color:var(--navy)}.card--red .card__inner{background:var(--red);color:var(--cream)}.card--navy .card__inner{background:#0b3d58;color:var(--cream)}.card__text{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:0}.card__top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding-bottom:16px;border-bottom:1.5px solid currentColor}.card__n{font-family:var(--f-display);font-size:clamp(38px,4vw,70px);line-height:.9;letter-spacing:0}.card__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(34px,4.1vw,80px);line-height:.88;margin-bottom:20px}.card__body>p{max-width:46ch;font-size:clamp(15px,1.1vw,18px);opacity:.9}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.chips li{padding:8px 14px;border-radius:99px;border:1.5px solid currentColor;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.card__visual{position:relative;border-radius:calc(var(--radius) * .7);overflow:hidden;min-height:0}.card__visual--img img{width:100%;height:115%;object-fit:cover}.card__shade{position:absolute;inset:0;z-index:3;border-radius:inherit;background:#00121e;opacity:0;pointer-events:none}.card__visual--energy{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,2.4vh,26px);padding:clamp(20px,3vw,48px);background:rgba(0,48,73,.12)}.en__scene{display:block;width:100%;max-width:640px;height:auto;overflow:visible}.en__ground{stroke:rgba(0,48,73,.35)}.en__flower{color:var(--cream);transform-box:fill-box;transform-origin:50% 50%;animation:spin 22s linear infinite paused}.en__halo{transform-box:fill-box;transform-origin:50% 50%;opacity:0}.en__ray{stroke-dasharray:6 10;opacity:0}.en__dots{stroke-dasharray:0 12;opacity:0;transition:opacity .4s}.en__air{stroke-dasharray:5 7;opacity:0;transition:opacity .6s}.en__panel{fill:var(--navy-deep);stroke:var(--cream-2);stroke-width:1.5;stroke-linejoin:round}.en__grid{stroke:var(--blue);stroke-width:1;opacity:.75}.en__win{fill:rgba(250,245,237,.14)}.is-live .en__flower{animation-play-state:running}.is-live.s1 .en__halo{animation:enPulse 2.2s ease-out infinite}.is-live.s1 .en__ray{animation:enFlow 1.1s linear infinite}.s2 .en__dots--power,.s3 .en__dots--heat{opacity:1}.is-live.s2 .en__dots--power{animation:enFlow .9s linear infinite}.is-live.s3 .en__dots--heat{animation:enFlow 1.1s linear infinite}.s3 .en__air{opacity:.8}.is-live.s3 .en__air{animation:enFlow 1.3s linear infinite}@keyframes enFlow{to{stroke-dashoffset:-48}}@keyframes enPulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(2.6);opacity:0}}.en__steps{display:flex;align-items:center;gap:clamp(8px,1vw,14px);width:100%;max-width:640px;font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1;text-transform:uppercase}.en__step{display:flex;align-items:center;gap:8px;opacity:.45;transition:opacity .4s}.en__step::before{content:\"\";flex:none;width:10px;height:10px;border-radius:50%;border:2px solid currentColor;box-sizing:border-box;transition:background-color .3s,border-color .3s}.en__step.is-on{opacity:1}.en__step.is-on::before{background:var(--red);border-color:var(--red)}.en__steps i{position:relative;flex:1 1 0;min-width:12px;height:2px;border-radius:2px;background:rgba(0,48,73,.22);overflow:hidden}.en__steps i::after{content:\"\";position:absolute;inset:0;background:var(--red);transform:scaleX(var(--p, 0));transform-origin:0 50%}.card__visual--charge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vh,22px);padding:clamp(20px,3vw,48px);background:rgba(0,0,0,.12)}.charge__scene{display:block;width:100%;max-width:640px;height:auto}.charge__road{stroke:rgba(250,245,237,.4)}.charge__stat{display:flex;align-items:center;gap:clamp(14px,1.6vw,24px);width:100%;max-width:640px}.charge__num{display:flex;align-items:flex-start;justify-content:flex-end;flex:none;min-width:2.3em;font-family:var(--f-display);font-size:clamp(44px,4.4vw,84px);line-height:1}.charge__pct{font-size:.5em;margin-left:.06em;line-height:1.05}.charge__label{font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1.4;text-transform:uppercase;opacity:.85}.battery{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;width:calc(100% - 10px);max-width:630px;height:clamp(44px,6vh,64px);margin-right:10px;padding:7px;border:2px solid currentColor;border-radius:14px}.battery::after{content:\"\";position:absolute;right:-10px;top:30%;width:6px;height:40%;border-radius:0 4px 4px 0;background:currentColor}.battery i{border-radius:5px;background:var(--cream);transform-origin:0 50%}.card__visual--badges{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:14px;place-items:center;background:rgba(255,255,255,.05);padding:clamp(16px,2vw,32px)}.stamp{display:grid;place-content:center;text-align:center;width:min(100%,24vh);aspect-ratio:1;border-radius:50%;border:2px dashed currentColor;font-family:var(--f-display);text-transform:uppercase;line-height:.9}.stamp span{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.14em}.stamp b{font-weight:400;font-size:clamp(30px,3vw,54px)}.stamp--a{background:#fff;color:var(--navy);border:0;transform:rotate(-8deg)}.stamp--b{background:var(--red);color:var(--cream);border-color:var(--cream);border-style:solid;transform:rotate(6deg)}.stamp--d{background:var(--cream);color:var(--navy);border:0;transform:rotate(5deg)}.stamp--logo{display:flex;flex-direction:column;align-items:center;justify-content:center}.stamp--logo i{display:block;width:58%}.stamp--d i{width:68%;margin-bottom:.7em}.stamp--logo svg{display:block;width:100%;height:auto}.stamp--a b{margin-top:.08em;color:var(--navy);font-size:clamp(24px,2.4vw,44px)}.stamp--c{background:#fff;border:0;overflow:hidden;transform:rotate(-4deg)}.stamp--c img{width:78%;height:auto;margin:auto}.projekt{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--cream);color:var(--navy)}.projekt__inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(16px,3vh,34px);padding:calc(var(--nav-h) + 6px) var(--gutter) var(--gutter)}.projekt__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.projekt__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(38px,5.4vw,104px);line-height:.86;margin-top:14px}.plan__steps{display:flex;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em}.plan__steps li{padding:9px 14px;border-radius:99px;border:1.5px solid rgba(0,48,73,.25);transition:background .4s ease,color .4s ease,border-color .4s ease;white-space:nowrap}.plan__steps li.is-active{background:var(--navy);border-color:var(--navy);color:var(--cream)}.plan{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,3.2vw,60px);min-height:0}.plan__visual{position:relative;min-height:0;border-radius:var(--radius);overflow:hidden;background:var(--plan)}.plan__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.plan__tag{position:absolute;left:18px;bottom:18px;max-width:280px;padding:12px 16px;border-radius:16px;background:rgba(250,245,237,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;font-weight:600;line-height:1.35}.plan__info{position:relative;display:grid;align-content:center;min-height:0}.phase{grid-area:1 / 1;visibility:hidden}.phase__status{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.phase__status i{flex:none;width:16px;height:16px;transform:translateY(-.07em);background:rgba(0,48,73,.5);-webkit-mask:var(--i-pencil) center / contain no-repeat;mask:var(--i-pencil) center / contain no-repeat}.phase--3 .phase__status i{-webkit-mask-image:var(--i-plan);mask-image:var(--i-plan)}.phase__status--live i{background:var(--red);-webkit-mask-image:var(--i-key);mask-image:var(--i-key)}.phase__name{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(40px,4.9vw,96px);line-height:.86;margin:16px 0 10px}.projekt{--ph0: #6886A1;--ph1: var(--red);--ph2: var(--teal)}.phase--0 .phase__name{color:var(--ph0)}.phase--1 .phase__name{color:var(--ph1)}.phase--2 .phase__name{color:var(--ph2)}.phase__wa{font-size:13px;font-weight:600;letter-spacing:.08em;opacity:.7}.phase__facts{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 22px;border-top:1.5px solid rgba(0,48,73,.2)}.phase__facts div{padding:16px 12px 0 0}.phase__facts dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.6}.phase__facts dd{font-family:var(--f-display);font-size:clamp(40px,4.4vw,84px);line-height:1;margin-top:8px}.phase__text{max-width:44ch;font-size:clamp(14px,1.05vw,17px);opacity:.85}.sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:.05em .22em;margin:20px 0 18px;font-family:var(--f-display);font-size:clamp(56px,6.6vw,132px);line-height:.92;text-transform:uppercase}.sum span{display:inline-block}.sum__n--0{color:var(--ph0)}.sum__n--1{color:var(--ph1)}.sum__n--2{color:var(--ph2)}.sum__eq{width:100%;color:var(--navy);font-size:1.35em}.plan__visual{background:#D9D5CD}.plan__visual>.plan__img{opacity:0}.plan__visual.q3d--failed>.plan__img[data-plan=base]{opacity:1;clip-path:none}.q3d-host{position:absolute;inset:0}.q3d__cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}.q3d.is-dragging .q3d__cv{cursor:grabbing}.q3d__tags{position:absolute;inset:0;pointer-events:none;overflow:hidden}.q3d__tag{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 14px 10px;border-radius:14px;background:rgba(250,245,237,.94);color:var(--navy);box-shadow:0 8px 22px rgba(0,48,73,.14);opacity:0;transition:opacity .35s ease;white-space:nowrap;will-change:transform,opacity}.q3d__tag::after{content:\"\";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);border-radius:2px}.q3d__tag b{font-family:var(--f-display);font-weight:400;font-size:24px;line-height:.95;color:var(--c);padding-top:.12em}.q3d__tag span{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;opacity:.72}[data-q3d-theme=dark] .q3d__tag{background:rgba(0,29,46,.88);color:var(--cream);box-shadow:0 8px 24px rgba(0,0,0,.35)}[data-q3d-theme=dark] .q3d__tag b{color:color-mix(in srgb,var(--c) 55%,#fff)}.q3d__tip{position:absolute;left:0;top:0;pointer-events:none;padding:9px 13px;border-radius:12px;background:var(--navy);color:var(--cream);font-size:13px;line-height:1.3;opacity:0;transition:opacity .2s;white-space:nowrap}.q3d__tip.is-on{opacity:1}.q3d__tip b{display:block;font-weight:700}.q3d__tip span{font-size:12px;opacity:.75}.q3d-hint{position:absolute;right:16px;bottom:16px;z-index:3;pointer-events:none;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:99px;background:rgba(250,245,237,.9);color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .5s ease}.q3d-hint svg{width:22px;height:22px}.q3d-hint.is-gone{opacity:0}[data-q3d-theme=dark]~.q3d-hint,.plan__visual.is-dark .q3d-hint{background:rgba(0,29,46,.8);color:var(--cream)}.plan__tag{z-index:3}.q3d__tag i{display:none;margin-top:3px;padding:3px 8px 2px;border-radius:99px;background:var(--c);color:#fff;font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}[data-q3d-focus=i2] .q3d__tag i{display:block}[data-q3d-focus=i2] .q3d__tag--p1 i,[data-q3d-focus=i2] .q3d__tag--p2 i{background:rgba(0,48,73,.1);color:var(--navy)}[data-q3d-theme=dark][data-q3d-focus=i2] .q3d__tag--p1 i,[data-q3d-theme=dark][data-q3d-focus=i2] .q3d__tag--p2 i{background:rgba(250,245,237,.14);color:var(--cream)}[data-q3d-focus=i2] .q3d__tag--p0 b{font-size:32px}[data-q3d-focus=i2] .q3d__tag--p1,[data-q3d-focus=i2] .q3d__tag--p2{padding:6px 11px 7px}[data-q3d-focus=i2] .q3d__tag--p1 b,[data-q3d-focus=i2] .q3d__tag--p2 b{font-size:17px}.q3d__tag--house b{font-size:21px}.phase__houses{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 20px;padding:0;list-style:none}.phase__houses li{display:flex;align-items:baseline;gap:7px;padding:8px 13px 7px;border-radius:99px;border:1.5px solid rgba(0,48,73,.2);cursor:pointer;transition:background .35s ease,border-color .35s ease,color .35s ease}.phase__houses b{font-family:var(--f-display);font-weight:400;font-size:17px;line-height:1;text-transform:uppercase;color:var(--ph0);transition:color .35s ease}.phase__houses span{font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.75}.phase__houses li.is-active{background:var(--ph0);border-color:var(--ph0);color:#fff}.phase__houses li.is-active b{color:#fff}.phase--out .phase__name{font-size:clamp(34px,3.8vw,72px)}.phase--out .c1{color:var(--ph1)}.phase--out .c2{color:var(--ph2)}.phase--out .sep{opacity:.3}.projekt[data-fokus=i2] .sum .sum__n--0{font-size:1.3em}.projekt[data-fokus=i2] .sum>span:nth-child(2),.projekt[data-fokus=i2] .sum>span:nth-child(3){font-size:.6em;opacity:.75}html.lite .phase__houses{gap:6px;margin:-2px 0 12px}html.lite .phase__houses li{padding:6px 10px 5px}html.lite .phase__houses b{font-size:15px}.plan__visual.is-dark .plan__tag{background:rgba(0,29,46,.8);color:var(--cream)}@media(min-width:761px)and (orientation:portrait){.plan{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.plan__info{align-content:start}}@media(min-width:761px)and (orientation:landscape){html:not(.lite) .plan__info{align-content:center;align-content:safe center;container-type:size;padding-bottom:max(0px,52px - var(--gutter) * .5)}.plan__info{--fix: 220px}.projekt__title{font-size:clamp(38px,min(5.4vw,10.5svh),104px)}.phase__name{font-size:clamp(30px,min(4.9vw,(100cqh - var(--fix)) * .233),96px);margin:clamp(4px,(100cqh - var(--fix)) * .053,16px) 0 clamp(2px,(100cqh - var(--fix)) * .033,10px)}.phase--out .phase__name{font-size:clamp(28px,min(3.8vw,14cqh),72px)}.phase__facts{margin:clamp(8px,(100cqh - var(--fix)) * .086,26px) 0 clamp(8px,(100cqh - var(--fix)) * .073,22px)}.phase__facts div{padding-top:clamp(6px,(100cqh - var(--fix)) * .053,16px)}.phase__facts dd{font-size:clamp(30px,min(4.4vw,(100cqh - var(--fix)) * .209),84px);margin-top:clamp(2px,(100cqh - var(--fix)) * .026,8px)}.phase__houses{margin-bottom:clamp(8px,(100cqh - var(--fix)) * .066,20px)}.sum{font-size:clamp(40px,min(6.6vw,20cqh),132px);margin:clamp(8px,3.3cqh,20px) 0 clamp(8px,3cqh,18px)}}@media(min-width:1500px)and (orientation:landscape){.plan__info{--fix: 180px}}@media(min-width:761px)and (orientation:landscape)and (max-height:700px){.plan__info{--fix: 170px}.projekt__inner{gap:clamp(12px,2.4vh,34px)}.plan{grid-template-columns:1.25fr 1fr}.phase--0 .phase__wa{display:none}.phase__houses{gap:6px}.phase__houses li{padding:6px 11px 5px}.phase__houses b{font-size:15px}.phase__houses span{font-size:10px}.phase__text{max-width:54ch;font-size:13.5px;line-height:1.45}}@media(min-width:1200px)and (orientation:landscape)and (max-height:700px){.plan__info{--fix: 135px}}.lage{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--map);color:var(--navy)}.lage__map{position:absolute;inset:0}.lage__cv{position:absolute;inset:0;width:100%;height:100%;display:block}.lage__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(246,248,235,.96) 0%,rgba(246,248,235,.7) 30%,rgba(246,248,235,0) 55%)}.lage__copy{position:absolute;left:var(--gutter);top:calc(var(--nav-h) + 12px)}.lage__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(58px,10vw,200px);line-height:.84;margin-top:16px}.lage__title .char{display:inline-block}.lage__marker{position:absolute;left:0;top:0;width:0;height:0;z-index:2;will-change:transform}.lage__marker-in{position:absolute;left:0;top:0}.lage__ring{position:absolute;left:-46px;top:-46px;width:92px;height:92px;border-radius:50%;border:2px solid var(--red);animation:ring 2.4s var(--ease-out) infinite}.lage__ring--2{animation-delay:1.2s}@keyframes ring{0%{transform:scale(.3);opacity:1}100%{transform:scale(2.2);opacity:0}}.lage__pin{position:absolute;left:0;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:99px;background:var(--navy);color:var(--cream);white-space:nowrap;font-family:var(--f-display);font-size:clamp(18px,1.6vw,26px);line-height:1;text-transform:uppercase;box-shadow:0 16px 40px rgba(0,30,50,.35)}.lage__pin::after{content:\"\";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;background:var(--navy);transform:translateX(-50%) rotate(45deg);border-radius:2px}.lage__pin svg{width:22px;height:auto;color:var(--red)}.lage__labels{position:absolute;right:var(--gutter);bottom:var(--gutter);height:1em;overflow:hidden;font-family:var(--f-display);font-size:clamp(38px,6vw,118px);line-height:1;text-transform:uppercase;text-align:right}.lage__ticker span{display:block;height:1em}.lage__ticker span:last-child{color:var(--red)}.lage__dests{position:absolute;inset:0;pointer-events:none;z-index:2}.lage__dest{position:absolute;left:0;top:0;will-change:transform}.lage__dest-in{display:grid;gap:5px;width:max-content;padding:11px 15px 12px;border-radius:14px;background:rgba(250,245,237,.95);color:var(--navy);white-space:nowrap;box-shadow:0 12px 34px rgba(0,30,50,.16);visibility:hidden;opacity:0}.lage__dest b{font-family:var(--f-display);font-weight:400;font-size:clamp(16px,1.4vw,23px);line-height:1;text-transform:uppercase;padding-top:.14em}.lage__dest span{font-size:12.5px;font-weight:600;letter-spacing:.01em;color:rgba(0,48,73,.78)}.lage__dest span i{font-style:normal;color:var(--red)}.lage__dest--minor .lage__dest-in{padding:8px 12px 9px;background:rgba(250,245,237,.9)}.lage__dest--minor b{font-size:clamp(13px,1.05vw,16px)}.lage__dest--minor span{font-size:11.5px}.lage__credit{position:absolute;left:var(--gutter);bottom:12px;z-index:3;font-size:10.5px;line-height:1.3;color:rgba(0,48,73,.62)}.lage__credit a{text-decoration:underline;text-underline-offset:2px}.lage__list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.kiez{position:relative;z-index:2;background:var(--cream);color:var(--navy);padding:clamp(110px,17vh,210px) var(--gutter) clamp(110px,17vh,210px)}.kiez__head{display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:end;margin-bottom:clamp(60px,11vh,130px)}.kiez__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(50px,8.2vw,160px);line-height:.84}.kiez__title .char{display:inline-block}.kiez__lead{font-size:clamp(20px,1.9vw,32px);line-height:1.18;font-weight:600;letter-spacing:-.01em;margin-bottom:18px}.kiez__text{max-width:52ch;color:rgba(0,48,73,.8)}.places{border-top:1.5px solid rgba(0,48,73,.18)}.place{position:relative;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:clamp(18px,2.4vw,34px) 0;border-bottom:1.5px solid rgba(0,48,73,.18);overflow:hidden}.place::before{content:\"\";position:absolute;inset:0;z-index:0;background:var(--navy);transform:scaleY(0);transform-origin:50% 100%;transition:transform .65s var(--ease-io)}.place>*{position:relative;z-index:1;transition:color .55s var(--ease-io),transform .65s var(--ease-io)}.place__n{padding-left:8px;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--red)}.place__name{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(32px,5.4vw,104px);line-height:.92}.place__tag{padding-right:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.7;text-align:right}.place__thumb{display:none}@media(hover:hover){.place:hover::before{transform:scaleY(1)}.place:hover>*{color:var(--cream)}.place:hover .place__name{transform:translateX(28px)}}.places__float{position:fixed;left:0;top:0;z-index:60;width:clamp(240px,24vw,400px);aspect-ratio:4 / 3;border-radius:22px;overflow:hidden;pointer-events:none;transform:scale(0);box-shadow:0 30px 70px rgba(0,30,50,.35);background:var(--navy)}.places__float:not(.is-ready){display:none}.pslide{position:absolute;inset:0;clip-path:inset(100% 0 0 0)}.pslide img{width:100%;height:100%;object-fit:cover}.places__credit{max-width:110ch;margin-top:26px;font-size:11px;line-height:1.6;color:rgba(0,48,73,.62)}.places__credit a{text-decoration:underline;text-decoration-color:rgba(0,48,73,.28);text-underline-offset:2px;transition:color .3s ease,text-decoration-color .3s ease}.places__credit a:hover{color:var(--navy);text-decoration-color:var(--red)}@media(hover:none)and (min-width:761px){.place{grid-template-columns:70px 1fr auto auto}.place__thumb{display:block;width:132px;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:var(--navy)}.place__thumb img{width:100%;height:100%;object-fit:cover}}.history{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--navy);color:var(--cream)}.history__shape{position:absolute;right:-8vw;bottom:-18vh;width:clamp(300px,46vw,820px);height:auto;color:rgba(102,155,188,.16);transform-origin:50% 70%}.history__inner{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--nav-h) + 16px) var(--gutter) calc(var(--gutter) + 8px)}.history__big{align-self:center;font-family:var(--f-display);text-transform:uppercase;font-size:clamp(64px,14.5vw,290px);line-height:.9;white-space:nowrap}.history__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.history__steps{display:grid;max-width:560px}.hstep{grid-area:1 / 1;font-size:clamp(18px,1.6vw,26px);line-height:1.3;font-weight:500;opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .8s var(--ease-out)}.hstep.is-active{opacity:1;transform:none}.hstep b{display:block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.history__dots{display:flex;gap:10px}.history__dots i{width:38px;height:4px;border-radius:4px;background:rgba(250,245,237,.2);transition:background .5s ease}.history__dots i.is-active{background:var(--red)}.history__rail{position:absolute;right:calc(var(--gutter) * .5);top:22vh;bottom:22vh;width:2px;background:rgba(250,245,237,.14)}.history__rail i{position:absolute;inset:0;background:var(--red);transform-origin:50% 0;transform:scaleY(0)}.hpic{margin:0}.hpic__img{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background:rgba(250,245,237,.07)}.hpic__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hpic__cap{display:flex;flex-direction:column;gap:2px;margin-top:9px;font-size:11px;line-height:1.4;color:rgba(250,245,237,.58)}.hpic__what{font-weight:600;color:rgba(250,245,237,.86)}.hpic__by:empty{display:none}.hpic a,.hline__credit a{text-decoration:underline;text-decoration-color:rgba(250,245,237,.3);text-underline-offset:2px;transition:color .3s ease,text-decoration-color .3s ease}.hpic a:hover,.hline__credit a:hover{color:var(--cream);text-decoration-color:var(--red)}.hpics{position:absolute;right:calc(var(--gutter) + 4.5vw);top:50%;width:clamp(280px,30vw,520px);translate:0 -56%;pointer-events:none}.hpics::before{content:\"\";display:block;padding-top:calc(75% + 70px)}.hpics__stack{position:absolute;inset:0;transition:opacity .6s ease,transform .8s var(--ease-out)}.hpics.is-empty .hpics__stack{opacity:0;transform:translateY(40px)}.hpic--print{position:absolute;left:0;top:0;width:100%;padding:10px 10px 0;background:var(--cream);box-shadow:0 30px 60px rgba(0,12,22,.42),0 2px 6px rgba(0,12,22,.2);pointer-events:auto;will-change:transform}.hpic--print::after{content:\"\";position:absolute;inset:0;background:var(--navy);opacity:0;transition:opacity .6s ease;pointer-events:none}.hpic--print.is-under::after{opacity:.3}.hpic--print .hpic__img{background:#e9e1d0}.hpic--print .hpic__cap{min-height:60px;margin:0;padding:10px 2px 12px;color:rgba(0,48,73,.62)}.hpic--print .hpic__what{color:var(--navy)}.hpic--print a{text-decoration-color:rgba(0,48,73,.3)}.hpic--print a:hover{color:var(--navy)}.trail{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;text-align:center;background:var(--blue);color:var(--navy)}.trail__imgs{position:absolute;inset:0;z-index:1;pointer-events:none}.trail__img{position:absolute;left:0;top:0;width:clamp(160px,19vw,340px);aspect-ratio:4 / 3;border-radius:18px;overflow:hidden;opacity:0;box-shadow:0 28px 60px rgba(0,30,50,.3);will-change:transform}.trail__img img{width:100%;height:100%;object-fit:cover}.trail__content{position:relative;z-index:3;pointer-events:none;padding:0 var(--gutter)}.trail__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(46px,8.2vw,160px);line-height:.86;color:var(--cream);margin:22px 0 30px;text-shadow:0 .03em .18em rgba(0,48,73,.35)}.trail__title .char{display:inline-block}.trail__hint{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:99px;background:var(--navy);color:var(--cream);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.trail__dot{flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--i-mouse) center / contain no-repeat;mask:var(--i-mouse) center / contain no-repeat}.trail__hint-touch,.footer__hint-touch{display:none}@media(hover:none),(pointer:coarse){.trail__hint-mouse,.footer__hint-mouse{display:none}.trail__hint-touch,.footer__hint-touch{display:inline}.trail__dot{-webkit-mask-image:var(--i-eye);mask-image:var(--i-eye)}}.film{position:relative;z-index:2;height:100vh;height:100svh;overflow:hidden;background:var(--cream);color:var(--cream)}.film__media{position:absolute;inset:0;overflow:hidden;background:var(--navy)}.film__media picture{display:contents}.film__poster,.film__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.film__video{opacity:0;transition:opacity .8s ease}.film__video.is-playing{opacity:1}.film__video::-webkit-media-controls,.film__video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}.film__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,36,58,.8) 0%,rgba(0,36,58,.24) 38%,rgba(0,36,58,0) 60%);opacity:0}html[data-film=karte] .film__shade{opacity:1}.film__mask{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;display:none}html[data-film=schrift] .film__mask{display:block}.film__copy{position:absolute;z-index:4;left:var(--gutter);right:calc(var(--gutter) + 90px);bottom:calc(var(--gutter) + 8px);display:grid;justify-items:start;gap:16px}.film__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(48px,7.4vw,140px);line-height:.86;padding-top:.12em;text-shadow:0 .04em .3em rgba(0,20,35,.35)}html[data-film=schrift] .film__title{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.film__btn{margin-top:6px;padding:16px 26px 16px 20px;background:rgba(0,36,58,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.film__pause{position:absolute;z-index:5;right:calc(var(--gutter) + 26px);bottom:calc(var(--gutter) + 12px);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;color:var(--cream);background:rgba(0,36,58,.35);border:1.5px solid rgba(250,245,237,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s ease,color .3s ease,border-color .3s ease}.film__pause:focus-visible{background:var(--cream);color:var(--navy);border-color:var(--cream)}@media(hover:hover){.film__pause:hover{background:var(--cream);color:var(--navy);border-color:var(--cream)}}.film__pause i{width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}.film__pause.is-paused i{width:12px;margin-left:3px;border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}.lightbox{position:fixed;inset:0;z-index:99;display:grid;place-items:center;padding:max(64px,7vh) var(--gutter);background:rgba(0,20,32,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .4s ease}.lightbox.is-open{opacity:1}.lightbox:not(.is-open){pointer-events:none}html.lightbox-open{background:rgb(0,20,32)}.lightbox__frame{position:relative;width:min(100%,calc((100vh - 2 * max(64px,7vh)) * 16 / 9));aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:translateY(18px) scale(.97);transition:transform .6s var(--ease-out)}@supports (height: 100svh){.lightbox__frame{width:min(100%,calc((100svh - 2 * max(64px,7svh)) * 16 / 9))}}.lightbox.is-open .lightbox__frame{transform:none}.lightbox__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.lightbox__close{position:absolute;top:calc(max(12px,env(safe-area-inset-top,0px)) + 4px);right:max(12px,var(--gutter));display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--cream);color:var(--navy);transition:background .3s ease,color .3s ease}.lightbox__close i{position:absolute;width:18px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}.lightbox__close i+i{transform:rotate(-45deg)}.lightbox__close:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media(hover:hover){.lightbox__close:hover{background:var(--red);color:var(--cream)}}html.has-cursor.lightbox-open .lightbox,html.has-cursor.lightbox-open .lightbox *{cursor:auto!important}html.has-cursor.lightbox-open .lightbox__close{cursor:pointer!important}html.lightbox-open .cursor,html.lightbox-open .secnav,html.lightbox-open .skip{opacity:0!important;pointer-events:none!important}.news{position:relative;z-index:2;background:var(--cream);color:var(--navy);padding:clamp(110px,17vh,210px) var(--gutter) clamp(120px,18vh,230px)}.news__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:clamp(36px,6vh,64px)}.news__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(50px,8.2vw,160px);line-height:.84;margin-top:16px}.news__title .char{display:inline-block}.news__card{display:grid;grid-template-columns:1.25fr 1fr;overflow:hidden;border-radius:var(--radius);background:var(--navy);color:var(--cream);will-change:transform}.news__img{position:relative;min-height:clamp(320px,60vh,640px);overflow:hidden}.news__img img{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover}.news__body{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:36px;padding:clamp(26px,4vw,64px)}.news__body h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(46px,5.8vw,112px);line-height:.86}.kl-news-src{display:none!important}.news__img{display:block}.news__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.news__meta time{opacity:.72}.news__card--cms .news__body{justify-content:flex-start;gap:clamp(16px,2.3vh,26px)}.news__card--cms .news__h{font-size:clamp(34px,3.7vw,72px);line-height:.9}.news__teaser{max-width:44ch;font-size:clamp(15px,1.1vw,18px);line-height:1.55;color:rgba(250,245,237,.82)}.news__card--cms .btn{margin-top:auto}.news__list{list-style:none;margin:clamp(48px,8vh,96px) 0 0;padding:0;border-top:1.5px solid rgba(0,48,73,.18)}.nrow{border-bottom:1.5px solid rgba(0,48,73,.18)}.nrow__link{position:relative;display:grid;grid-template-columns:120px 1fr auto 44px;align-items:center;gap:24px;padding:clamp(16px,2vw,28px) 8px;overflow:hidden}.nrow__link::before{content:\"\";position:absolute;inset:0;z-index:0;background:var(--navy);transform:scaleY(0);transform-origin:50% 100%;transition:transform .65s var(--ease-io)}.nrow__link>*{position:relative;z-index:1;transition:color .55s var(--ease-io),transform .65s var(--ease-io)}.nrow__date{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--red)}.nrow__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.3vw,62px);line-height:.95}.nrow__cat{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.nrow__go{display:grid;place-items:center}.nrow__go svg{width:24px;height:auto;color:var(--red);transform:rotate(-90deg);transition:transform .5s var(--ease-io),color .5s var(--ease-io)}.nrow__link:focus-visible{outline:2px solid var(--red);outline-offset:-2px}@media(hover:hover){.nrow__link:hover::before{transform:scaleY(1)}.nrow__link:hover>*{color:var(--cream)}.nrow__link:hover .nrow__title{transform:translateX(24px)}.nrow__link:hover .nrow__go svg{color:var(--cream);transform:rotate(-90deg) translateY(6px)}}.places__float--news{aspect-ratio:16 / 10}.news--karussell{padding-left:0;padding-right:0;overflow:hidden}.news--karussell .news__head{padding:0 var(--gutter)}.news__track{position:relative;display:flex;gap:clamp(16px,2vw,32px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);padding:12px var(--gutter) 26px;scrollbar-width:none;cursor:grab}.news__track::-webkit-scrollbar{display:none}.news__track.is-drag,.news__track.is-glide{scroll-snap-type:none}.news__track.is-drag{cursor:grabbing;user-select:none}.news__track.is-drag a{pointer-events:none}.ncard{position:relative;flex:0 0 clamp(300px,38vw,660px);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--navy);color:var(--cream);-webkit-user-select:none;user-select:none}.ncard a,.ncard img{-webkit-user-drag:none}.ncard__link::after{content:\"\";position:absolute;inset:0;z-index:2;border-radius:var(--radius)}.ncard__link:focus-visible{outline:none}.ncard__link:focus-visible::after{outline:3px solid var(--red);outline-offset:-6px}.ncard__img{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--navy-deep)}.ncard__img img{position:absolute;left:-10%;top:0;width:120%;height:100%;object-fit:cover;transition:scale 1.1s var(--ease-out)}.ncard__body{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:clamp(22px,2.4vw,40px)}.ncard__title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.7vw,52px);line-height:.92}.ncard__teaser{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:15px;line-height:1.55;color:rgba(250,245,237,.8)}.ncard__more{margin-top:auto;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.ncard__more svg{width:18px;height:auto;color:var(--red);transform:rotate(-90deg);transition:transform .5s var(--ease-io)}@media(hover:hover){.ncard:hover .ncard__img img{scale:1.06}.ncard:hover .ncard__more svg{transform:rotate(-90deg) translateY(4px)}.ncard:hover .ncard__more .roll__a .c{transform:translateY(-110%)}.ncard:hover .ncard__more .roll__b .c{transform:translateY(0)}}.news__ctrl{display:flex;align-items:center;gap:18px;margin-top:16px;padding:0 var(--gutter)}.news__ctrl[hidden]{display:none}.news__arrow{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1.5px solid currentColor;transition:background .4s var(--ease-io),color .4s var(--ease-io),opacity .3s ease}.news__arrow svg{width:22px;height:auto;transform:rotate(90deg)}.news__arrow--next svg{transform:rotate(-90deg)}.news__arrow:disabled{opacity:.28;cursor:default}@media(hover:hover){.news__arrow:not(:disabled):hover{background:var(--navy);color:var(--cream)}}.news__count{min-width:64px;font-size:12px;font-weight:700;letter-spacing:.14em}.news__count b{color:var(--red)}.news__progress{position:relative;flex:1;max-width:360px;height:2px;background:rgba(0,48,73,.12)}.news__progress i{position:absolute;inset:0;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}.kontakt{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto auto auto 1fr;column-gap:6vw;align-items:start;background:var(--red);color:var(--cream);border-radius:0 0 var(--radius) var(--radius);padding:clamp(96px,14vh,160px) var(--gutter) clamp(70px,10vh,120px);box-shadow:0 40px 90px rgba(0,16,28,.35)}.kontakt>.kicker{grid-column:1;grid-row:1;justify-self:start}.kontakt__title{grid-column:1;grid-row:2;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(44px,5.6vw,104px);line-height:.86;margin:18px 0 22px}.kontakt__title .char{display:inline-block}.kontakt__lead{grid-column:1;grid-row:3;max-width:44ch;font-size:clamp(16px,1.15vw,19px)}.kontakt__grid{display:contents}.kontakt__direct{grid-column:1;grid-row:4;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:clamp(26px,4.5vh,46px)}.biglink{display:inline-block;font-family:var(--f-display);font-size:clamp(24px,2.3vw,42px);line-height:1.15;text-transform:uppercase}.biglink .roll{line-height:1.12}.kontakt address{margin-top:16px;font-style:normal;opacity:.88}.form{grid-column:2;grid-row:1 / span 4;align-self:center;display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}.field{position:relative}.field--full{grid-column:1 / -1}.field input,.field textarea{display:block;width:100%;padding:24px 0 9px;border:0;border-bottom:1.5px solid rgba(250,245,237,.5);border-radius:0;background:transparent;color:var(--cream);font:inherit;font-size:17px;outline:none;resize:none}.field label{position:absolute;left:0;top:24px;font-size:17px;color:rgba(250,245,237,.78);pointer-events:none;transform-origin:0 0;transition:transform .5s var(--ease-out),color .4s ease}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-24px) scale(.7);color:var(--cream)}.field i{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--cream);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease-io)}.field input:focus~i,.field textarea:focus~i{transform:scaleX(1)}.field.is-invalid input,.field.is-invalid textarea{border-bottom-color:var(--cream-2)}.field.is-invalid label{color:var(--cream-2)}.field.is-invalid::after{content:attr(data-err);position:absolute;right:0;top:30px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-2)}.check{grid-column:1 / -1;display:flex;align-items:center;gap:14px;font-size:14px;cursor:pointer}.check input{position:absolute;opacity:0;width:1px;height:1px}.check__box{position:relative;flex:none;width:24px;height:24px;border:1.5px solid var(--cream);border-radius:7px;transition:background .3s ease}.check input:checked+.check__box{background:var(--cream)}.check input:checked+.check__box::after{content:\"\";position:absolute;left:7.5px;top:3.5px;width:6px;height:11px;border:solid var(--red);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.check input:focus-visible+.check__box{outline:2px solid var(--cream);outline-offset:3px}.check.is-invalid .check__box{border-color:var(--cream-2);box-shadow:0 0 0 3px rgba(245,237,214,.35)}.check a{text-decoration:underline;text-underline-offset:3px}.pick{grid-column:1 / -1;min-width:0;margin:4px 0 0;padding:0;border:0}.pick legend{display:block;margin-bottom:12px;padding:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.pick legend span{font-weight:500;letter-spacing:.04em;text-transform:none;opacity:.8}.pick__opts{display:flex;flex-wrap:wrap;gap:10px}.chip{position:relative;display:inline-flex;cursor:pointer}.chip input{position:absolute;opacity:0;width:1px;height:1px}.chip span{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1.5px solid rgba(250,245,237,.55);border-radius:99px;font-size:14px;font-weight:600;transition:background-color .35s var(--ease-io),color .35s var(--ease-io),border-color .35s ease}.chip input:checked+span{background:var(--cream);border-color:var(--cream);color:var(--red)}.chip input:focus-visible+span{outline:2px solid var(--cream);outline-offset:3px}@media(hover:hover){.chip:hover span{border-color:var(--cream)}}.pick.is-invalid legend{color:var(--cream-2)}.pick.is-invalid legend::after{content:\" \\2013 bitte ausw\\e4hlen\";font-weight:600;letter-spacing:.04em;text-transform:none}.check--long{align-items:flex-start;font-size:13px;line-height:1.5}.check--long .check__box{margin-top:1px}.kl-form-src{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.kl-form-src.is-armed{position:fixed!important;left:0;bottom:0;z-index:-1}.form__legal{grid-column:1 / -1;font-size:12px;opacity:.85}.form__legal a{text-decoration:underline;text-underline-offset:3px}.form .btn.is-busy{opacity:.6;pointer-events:none}.form__foot{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px}.form__note{font-size:14px;font-weight:600}.footer{position:relative;z-index:1;height:100vh;height:100svh;min-height:600px;margin-top:calc(var(--radius) * -1);overflow:hidden;background:var(--navy);color:var(--cream)}.footer__inner{position:absolute;inset:0;display:flex;flex-direction:column}.footer__stage{position:relative;flex:1;overflow:hidden}.footer__bg{position:absolute;inset:0;background:radial-gradient(130% 95% at 50% 0%,#86b5d2 0%,var(--blue) 52%,#5b8fb0 100%)}.footer__render{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}html[data-footer=rendering] .footer__render{display:block}html[data-footer=rendering] .footer__bg::after{content:\"\";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,36,58,.62) 0%,rgba(0,36,58,.34) 34%,rgba(0,36,58,0) 60%,rgba(0,36,58,.22) 100%)}html[data-footer=rendering] .footer__word{text-shadow:0 .03em .28em rgba(0,24,40,.5)}.footer__word{position:absolute;left:0;right:0;top:calc(var(--radius) + 11vh);text-align:center;white-space:nowrap;font-family:var(--f-display);text-transform:uppercase;font-size:15.4vw;line-height:.8;color:var(--cream);text-shadow:0 .03em .12em rgba(0,48,73,.2)}.footer__word .char{display:inline-block}.footer__world{position:absolute;inset:0;z-index:3;touch-action:pan-y}.pbody{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.pbody svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 14px rgba(0,30,50,.22))}.footer__hint{position:absolute;z-index:4;right:var(--gutter);top:calc(var(--radius) + 20px);padding:9px 16px;border-radius:99px;background:rgba(0,48,73,.82);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}.footer__bar{position:relative;z-index:5;display:grid;grid-template-columns:1.5fr 1fr 1fr auto;align-items:center;gap:24px;padding:26px var(--gutter) calc(26px + var(--wf-badge, 0px));background:var(--navy);font-size:13px}.footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer__col--brand{flex-direction:row;align-items:center;gap:16px}.footer__col--brand svg{width:34px;height:auto;flex:none;color:var(--cream)}.footer__col--brand p{opacity:.8}.footer__top{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--red);color:var(--cream)}.footer__top svg{width:26px;height:auto;transform:rotate(180deg)}@media(max-width:1180px){.nav__links{display:none}}@media(max-width:1000px){.menu__panel{grid-template-columns:1fr;align-content:end}.kiez__head{grid-template-columns:1fr}.kontakt{display:block}.kontakt__title{font-size:clamp(44px,8vw,80px)}.kontakt__grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:34px}.kontakt__direct{margin-top:0}.kontakt__direct,.form{grid-column:auto;grid-row:auto}.footer__bar{grid-template-columns:1fr 1fr}.footer__col--brand{grid-column:1 / -1}}@media(max-width:760px){:root{--nav-h: 72px}.menu__link{font-size:min(9.4vw,5.6svh);gap:12px}.menu__panel{gap:26px}.nav__brand{display:none}.hero{--hb: max(40.2vw, 58svh)}.hero__build img,.hero__build .build__gl{transform:translateX(-31%)}.hero__ui{grid-template-columns:1fr auto}.hero__meta{display:none}.hero__badge{width:88px}.intro__title{font-size:10vw}.intro__title .ln__i{gap:.16em}.pill{width:1.4em}.intro__cols{grid-template-columns:1fr;gap:28px}.retreat__title{font-size:9.4vw}.raum__big{font-size:17vw}.history__big{font-size:13vw}.trail__title{font-size:9.6vw}.green__title{font-size:12.6vw}.garden{height:34vh}.stats__grid{grid-template-columns:repeat(2,1fr);row-gap:44px}.bands{height:290px}.band--b{top:30%;transform:translateY(-50%) rotate(2.6deg)}.band--a{top:70%;transform:translateY(-50%) rotate(-3deg)}.loader__skip{top:calc(var(--gutter) * .8 + 58px)}.menu__shape--2,.menu__shape--4{display:none}.menu__shape--1{top:auto;bottom:19%;right:5%;width:84px}.menu__shape--3{top:auto;bottom:5%;right:7%;width:54px}.retreat__copy{right:var(--gutter);max-width:none;font-size:16px}.retreat__tags{display:none}.rp--intro{width:86vw}.rp--img,.rp--tall,.rp--wide{width:80vw}.rp__img,.rp--tall .rp__img{height:52svh}.rp--type{width:80vw}.rp--features{width:88vw}.feats{grid-template-columns:1fr 1fr;gap:10px}.feat{min-height:0;padding:16px;gap:12px}.feat svg{width:34px}.feat p{font-size:12px}.card{height:84svh}.card__inner{display:flex;flex-direction:column;gap:14px;padding:18px}.card__visual{order:-1;flex:1 1 auto;min-height:16svh}.card__text{flex:none;min-height:auto}.card__title{font-size:28px;margin-bottom:12px}.card__n{font-size:34px}.card__text{gap:12px}.card__top{padding-bottom:10px}.card__body>p{font-size:13.5px;line-height:1.45}.chips{margin-top:12px}.chips li{padding:6px 10px;font-size:10px}.card__visual--charge{padding:16px 18px}.battery{height:34px;padding:5px;gap:4px;border-radius:11px}.battery i{border-radius:4px}.card__visual--badges{gap:10px 14px}.stamp{width:min(100%,124px)}.stamp b{font-size:24px}.stamp span{font-size:9px}.projekt__inner{gap:14px}.plan__steps{display:none}.projekt__title{font-size:34px}.plan{grid-template-columns:1fr;grid-template-rows:28svh minmax(0,1fr);gap:14px}.plan__tag{display:none}.plan__info{align-content:start}.phase__name{font-size:34px;margin:8px 0 4px}.phase__facts{margin:14px 0 12px}.phase__facts div{padding-top:10px}.phase__facts dd{font-size:32px}.phase__text{font-size:13px;line-height:1.45}.sum{font-size:54px;margin:12px 0}.lage__veil{background:linear-gradient(180deg,rgba(246,248,235,.96) 0%,rgba(246,248,235,.6) 34%,rgba(246,248,235,0) 55%)}.place{grid-template-columns:1fr auto;gap:6px 14px}.place__n{display:none}.place__tag{grid-column:1;grid-row:2;text-align:left;padding:0;font-size:10px}.place__thumb{display:block;grid-column:2;grid-row:1 / 3;align-self:center;width:96px;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:var(--navy)}.place__thumb img{width:100%;height:100%;object-fit:cover}.places__credit{margin-top:20px;font-size:10.5px}.places__float{display:none}.history__foot{flex-direction:column;align-items:flex-start}.history__rail{display:none}.news__card{grid-template-columns:1fr}.news__img{min-height:42svh}.news__card--cms .news__img{min-height:0;aspect-ratio:16 / 11}.nrow__link{grid-template-columns:1fr auto;gap:8px 14px;padding:18px 4px}.nrow__date{grid-column:1;grid-row:1}.nrow__cat{display:none}.nrow__title{grid-column:1;grid-row:2;font-size:26px}.nrow__go{grid-column:2;grid-row:1 / 3}.ncard{flex-basis:84vw}.news__arrow{display:none}.news__ctrl{margin-top:6px}.form{grid-template-columns:1fr}.footer__bar{grid-template-columns:1fr auto;gap:18px;padding:20px var(--gutter) calc(20px + var(--wf-badge, 0px));font-size:12px}.footer__col--brand{grid-column:1 / -1}.footer__col:nth-child(3){grid-column:1}.footer__top{grid-column:2;grid-row:2 / 4;align-self:center;width:54px;height:54px}.footer__word{top:calc(var(--radius) + 13vh)}.footer__hint{left:var(--gutter);right:auto}}html.lite .raum__track,html.lite .stack,html.lite .plan__info{display:flex;gap:14px;width:auto;height:auto;padding:0 var(--gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;will-change:auto}html.lite .raum__track::-webkit-scrollbar,html.lite .stack::-webkit-scrollbar,html.lite .plan__info::-webkit-scrollbar{display:none}html.lite .raum__track>*,html.lite .stack>.card,html.lite .plan__info>.phase{flex:0 0 auto;scroll-snap-align:start}html.lite .garden .plant:nth-child(2),html.lite .garden .plant:nth-child(4),html.lite .garden .plant:nth-child(7),html.lite .garden .plant:nth-child(8){display:none}html.lite .garden .plant:nth-child(1){--x: -3% !important;--h: 58% !important}html.lite .garden .plant:nth-child(3){--x: 25% !important;--h: 70% !important}html.lite .garden .plant:nth-child(5){--x: 43% !important;--h: 88% !important}html.lite .garden .plant:nth-child(6){--x: 70% !important;--h: 44% !important}html.lite .garden .plant:nth-child(9){--x: 91% !important;--h: 36% !important}html.lite .retreat{display:flex;flex-direction:column;height:auto;overflow:visible;padding:calc(var(--nav-h) + 20px) var(--gutter) 70px}html.lite .retreat__title{order:-1;position:static;display:block;padding:0;text-align:left;font-size:12.4vw;pointer-events:auto}html.lite .retreat__r{color:var(--red)}html.lite .retreat__media{position:relative;inset:auto;height:58svh;margin:24px 0 22px;border-radius:24px;clip-path:inset(0 round 24px)}html.lite .retreat__media img{transform:none}html.lite .retreat__media::after,html.lite .dive,html.lite .dive__canvas,html.lite .dive__img{display:none}html.lite .retreat__copy{position:static;max-width:none;color:var(--navy);font-size:17px;line-height:1.45}html.lite .retreat__tags{position:static;display:flex;justify-content:flex-start;max-width:none;margin-top:20px}html.lite .retreat__tags .tag{color:var(--navy);background:transparent;border-color:rgba(0,48,73,.3)}html.lite .raum{height:auto;overflow:visible;padding:calc(var(--nav-h) + 10px) 0 64px}html.lite .raum>.rp--intro{width:auto;padding:0 var(--gutter);margin-bottom:28px}html.lite .raum__big{margin:18px 0 20px}html.lite .raum__hint{margin-top:22px}html.lite .raum__track{align-items:stretch}html.lite .rp--img,html.lite .rp--tall,html.lite .rp--wide,html.lite .rp--type,html.lite .rp--features{width:82vw}html.lite .rp__img,html.lite .rp--tall .rp__img{height:46svh}html.lite .rp--type{display:flex;flex-direction:column;justify-content:center;padding:24px 16px;border-radius:24px;background:var(--cream-2)}html.lite .raum__progress{position:relative;left:auto;right:auto;bottom:auto;margin:26px var(--gutter) 0}html.lite .green__pin{height:92svh}html.lite .green__text{padding:64px var(--gutter) 40px}html.lite .green__text p{font-size:25px}html.lite .stack{padding-bottom:64px}html.lite .card{width:84vw;height:auto;margin:0}html.lite .card__inner{box-shadow:none}html.lite .card__visual{flex:1 0 auto;min-height:150px}html.lite .card__visual--img{height:26svh}html.lite .card__visual--energy{gap:10px;padding:16px 18px}html.lite .en__steps{font-size:11px;letter-spacing:.12em}html.lite .card__visual--charge{gap:8px}html.lite .charge__num{font-size:40px}html.lite .charge__label{font-size:11px}html.lite .projekt{height:auto;overflow:visible}html.lite .projekt__inner{display:block;height:auto;padding:calc(var(--nav-h) + 10px) 0 60px}html.lite .projekt__head{display:block;padding:0 var(--gutter)}html.lite .plan__steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}html.lite .plan__steps li{padding:7px 12px;font-size:11px;cursor:pointer}html.lite .plan{display:block;margin-top:18px}html.lite .plan__visual{height:32svh;margin:0 var(--gutter) 16px}html.lite .phase{visibility:visible;grid-area:auto;width:84vw;padding:18px;border-radius:20px;background:rgba(0,48,73,.06)}html.lite .plan__visual{height:44svh;min-height:250px}html.lite .q3d-hint{right:10px;bottom:10px;font-size:10.5px;padding:7px 12px}html.lite .q3d__tag{padding:6px 10px 7px}html.lite .q3d__tag b{font-size:18px}html.lite .q3d__tag span{font-size:9px}html.lite .lage__labels{display:none}html.lite .lage{height:auto;overflow:visible;display:flex;flex-direction:column}html.lite .lage__copy{position:static;order:-1;padding:calc(var(--nav-h) + 8px) var(--gutter) 18px}html.lite .lage__map{position:relative;height:84svh;overflow:hidden}html.lite .lage__veil{display:none}html.lite .lage__pin{font-size:14px;gap:7px;padding:8px 12px 8px 10px;bottom:16px}html.lite .lage__pin svg{width:16px}html.lite .lage__ring{left:-30px;top:-30px;width:60px;height:60px}html.lite .lage__dest-in{padding:7px 10px 8px;border-radius:11px;gap:3px}html.lite .lage__dest b{font-size:14px}html.lite .lage__dest span{font-size:11px}html.lite .lage__credit{position:static;padding:14px var(--gutter) 34px}html.lite .lage__list{position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal;display:grid;gap:0;padding:22px var(--gutter) 0}html.lite .lage__list li{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:14px;padding:13px 0 12px;border-top:1px solid rgba(0,48,73,.14)}html.lite .lage__list li:last-child{border-bottom:1px solid rgba(0,48,73,.14)}html.lite .lage__list b{font-family:var(--f-display);font-weight:400;font-size:19px;line-height:1;text-transform:uppercase;padding-top:.14em}html.lite .lage__list span{font-size:12.5px;font-weight:600;color:rgba(0,48,73,.78);text-align:right}html.lite .lage__list span small{display:block;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(0,48,73,.5)}html.lite .lage__list-head{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(0,48,73,.55);padding:0 0 10px}html.lite .history{height:auto}html.lite .history__inner{display:block;height:auto;padding:calc(var(--nav-h) + 10px) var(--gutter) 70px}html.lite .history__big,html.lite .history__dots,html.lite .history__rail{display:none}html.lite .history__foot{display:block;margin-top:26px}html.lite .history__steps{display:grid;gap:30px;max-width:none}html.lite .hstep{grid-area:auto;opacity:1;transform:none;transition:none}html.lite .hstep::before{content:attr(data-word);display:block;margin-bottom:8px;font-family:var(--f-display);font-size:15vw;line-height:.9;text-transform:uppercase;color:var(--cream)}html.lite .hpic--inline{margin:6px 0 18px}html.lite .hpic--inline .hpic__img{border-radius:14px}.history__steps{list-style:none;margin:0;padding:0}.hline{position:absolute;inset:0;pointer-events:none;--gap: 50vw;--x0: calc(var(--gutter) + 5vw)}.hline__track{position:absolute;left:0;top:0;height:100%;width:calc(var(--x0) + (var(--n) - 1) * var(--gap) + 100vw);will-change:transform}.hline__base,.hline__fill{position:absolute;left:var(--x0);top:60%;width:calc((var(--n) - 1) * var(--gap));height:2px;background:rgba(250,245,237,.16)}.hline__fill{background:var(--red);transform-origin:0 50%;transform:scaleX(0)}.hline__st{position:absolute;left:calc(var(--x0) + var(--i) * var(--gap));top:60%;width:0}.hline__year{position:absolute;left:-.04em;bottom:30px;font-family:var(--f-display);font-size:clamp(80px,13vw,250px);line-height:.9;white-space:nowrap;text-transform:uppercase;color:var(--cream);opacity:.14;transform:translateY(12px);transition:opacity .6s ease,transform .8s var(--ease-out),color .6s ease}.hline__dot{position:absolute;left:-9px;top:-8px;width:18px;height:18px;border-radius:50%;background:var(--navy);border:2px solid rgba(250,245,237,.45);transition:background .4s ease,border-color .4s ease,box-shadow .6s ease}.hline__year--long{font-size:clamp(64px,8.4vw,160px)}.hline__txt{position:absolute;left:0;top:40px;width:min(470px,38vw);font-size:clamp(17px,1.35vw,23px);line-height:1.4;font-weight:500;color:var(--cream);opacity:.14;transform:translateY(12px);transition:opacity .6s ease,transform .8s var(--ease-out)}.hline__txt b{display:block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.hline__st.is-past .hline__year{opacity:.3;transform:none}.hline__st.is-past .hline__dot{background:var(--red);border-color:var(--red)}.hline__st.is-on .hline__year,.hline__st.is-on .hline__txt{opacity:1;transform:none}.hline__st.is-on .hline__dot{background:var(--red);border-color:var(--red);box-shadow:0 0 0 9px rgba(193,17,31,.2)}.hline{--yfs: clamp(80px, 13vw, 250px);--pich: clamp(140px, calc(60svh - 110px - .5 * var(--yfs) - var(--nav-h)), 44vh)}.hline__year{z-index:2}.hline__pic{position:absolute;left:0;bottom:calc(30px + .5 * var(--yfs));z-index:1;height:var(--pich);aspect-ratio:4 / 3;opacity:.12;transform:translateY(14px);transition:opacity .6s ease,transform .8s var(--ease-out)}.hline__st--long .hline__pic{bottom:calc(30px + .5 * clamp(64px,8.4vw,160px))}.hline__pic .hpic__img{height:100%}.hline__pic .hpic__img::after{content:\"\";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,36,55,.72) 0%,rgba(0,36,55,0) 42%)}.hline__st.is-past .hline__pic{opacity:.26;transform:none}.hline__st.is-on .hline__pic{opacity:1;transform:none}.hline__credit{display:block;margin-top:12px;font-size:11px;line-height:1.4;font-weight:400;color:rgba(250,245,237,.55)}.hline__credit a{pointer-events:auto}html[data-history=zeitstrahl] .history__big,html[data-history=zeitstrahl] .history__rail,html[data-history=zeitstrahl] .history__dots{display:none}html[data-history=zeitstrahl] .history__steps{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}html.lite[data-history=zeitstrahl] .hline{position:relative;inset:auto;margin-top:30px;--x0: 0px}html.lite[data-history=zeitstrahl] .hline__track{position:relative;width:auto;height:auto}html.lite[data-history=zeitstrahl] :is(.hline__base,.hline__fill){left:8px;top:12px;bottom:40px;width:2px;height:auto;transform-origin:50% 0}html.lite[data-history=zeitstrahl] .hline__fill{transform:scaleY(0)}html.lite[data-history=zeitstrahl] .hline__st{position:relative;left:0;top:0;width:auto;padding:0 0 40px 40px}html.lite[data-history=zeitstrahl] .hline__year{position:static;display:block;font-size:15vw}html.lite[data-history=zeitstrahl] .hline__year--long{font-size:12vw}html.lite[data-history=zeitstrahl] .hline__dot{left:0;top:6px}html.lite[data-history=zeitstrahl] .hline__txt{position:static;width:auto;margin-top:12px;font-size:16px}html.lite[data-history=zeitstrahl] .hline__st.is-past .hline__txt{opacity:1;transform:none}html.lite[data-history=zeitstrahl] .hline__pic{position:relative;left:auto;bottom:auto;height:auto;width:100%;margin-top:14px}html.lite[data-history=zeitstrahl] .hline__pic .hpic__img{height:auto;border-radius:14px}html.lite[data-history=zeitstrahl] .hline__pic .hpic__img::after{display:none}html.lite[data-history=zeitstrahl] .hline__st.is-past .hline__pic{opacity:1}.hmap{position:absolute;inset:0}.hmap__view{position:absolute;right:0;top:0;width:64%;height:100%}.hmap__cv{position:absolute;inset:0;width:100%;height:100%;display:block}.hmap__view::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--navy) 0%,rgba(0,48,73,0) 30%),linear-gradient(0deg,var(--navy) 0%,rgba(0,48,73,0) 16%),linear-gradient(180deg,var(--navy) 0%,rgba(0,48,73,0) 18%)}.hmap__pin{position:absolute;left:0;top:0;width:0;height:0;z-index:2;will-change:transform,opacity}.hmap__pin .lage__ring{border-color:var(--red)}.hmap__tag{position:absolute;left:18px;top:-46px;padding:9px 14px 8px;border-radius:99px;background:var(--cream);color:var(--navy);white-space:nowrap;font-family:var(--f-display);font-size:clamp(15px,1.2vw,20px);line-height:1;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.3)}.hmap__copy{position:absolute;left:var(--gutter);top:30%;width:38%}.hmap__st{position:absolute;left:0;top:0;width:100%;opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .8s var(--ease-out)}.hmap__st.is-on{opacity:1;transform:none}.hmap__year{font-family:var(--f-display);font-size:clamp(72px,9.4vw,180px);line-height:.9;text-transform:uppercase;white-space:nowrap}.hmap__year--long{font-size:clamp(56px,6.4vw,124px)}.hmap__txt{margin-top:24px;max-width:460px;font-size:clamp(17px,1.35vw,22px);line-height:1.4;font-weight:500}.hmap__txt b{display:block;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.hmap__credit{position:absolute;right:var(--gutter);bottom:12px;z-index:3;font-size:10.5px;color:rgba(250,245,237,.55)}html:has(.w-webflow-badge) .hmap__credit{right:12px;bottom:46px}.hmap__credit a{text-decoration:underline;text-underline-offset:2px}.hmap__lb{position:absolute;left:0;top:0;z-index:3;margin:0;padding:8px 13px 7px;border:1px solid rgba(250,245,237,.32);border-radius:99px;background:rgba(0,48,73,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:rgba(250,245,237,.78);font-size:10.5px;font-weight:700;letter-spacing:.16em;line-height:1;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;will-change:transform,opacity}.hmap__lb:empty{display:none}.hmap__pin.is-lens .lage__ring{visibility:hidden}.hmap__lb b{margin-left:5px;font-family:var(--f-display);font-size:16px;font-weight:400;letter-spacing:.02em;color:var(--cream)}.hmap__pics{position:absolute;right:calc(var(--gutter) + 3.5vw);bottom:76px;z-index:3;width:clamp(220px,21vw,380px)}.hmap__pics::before{content:\"\";display:block;padding-top:calc(75% + 62px)}.hmap__pic{position:absolute;left:0;top:0;width:100%;padding:8px 8px 0;background:var(--cream);box-shadow:0 26px 54px rgba(0,8,16,.5);opacity:0;transform:translateY(16px) rotate(2.5deg);transition:opacity .5s ease,transform .9s var(--ease-out)}.hmap__pic.is-on{opacity:1;transform:rotate(-1.5deg)}.hmap__pic .hpic__img{background:#e9e1d0}.hmap__pic .hpic__cap{min-height:54px;margin:0;padding:8px 2px 10px;color:rgba(0,48,73,.62)}.hmap__pic .hpic__what{color:var(--navy)}.hmap__pic a{text-decoration-color:rgba(0,48,73,.3)}.hmap__pic a:hover{color:var(--navy)}html[data-history=karte] .history__big,html[data-history=karte] .history__rail,html[data-history=karte] .history__dots,html[data-history=karte] .history__shape{display:none}html[data-history=karte] .history__steps{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}html:not(.lite)[data-history=karte] .history__inner>.kicker{position:relative;z-index:4}html.lite[data-history=karte] .history{overflow:clip}@supports not (overflow: clip){html.lite[data-history=karte] .history{overflow:visible}}html.lite[data-history=karte] .hmap{position:relative;inset:auto;margin-top:18px}html.lite[data-history=karte] .hmap__view{position:sticky;top:calc(var(--nav-h) + 6px);z-index:2;width:auto;height:38svh;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.35)}html.lite[data-history=karte] .hmap__view::after{display:block;background:linear-gradient(0deg,rgba(0,36,55,.85) 0%,rgba(0,36,55,0) 38%)}html.lite[data-history=karte] .hmap::before{content:\"\";position:sticky;top:0;z-index:1;display:block;height:calc(var(--nav-h) + 22px);margin-bottom:calc(-1 * (var(--nav-h) + 22px));background:var(--navy);pointer-events:none}.hmap__now{display:none}html.lite[data-history=karte] .hmap__now{display:block;position:absolute;left:14px;bottom:8px;z-index:3;font-family:var(--f-display);font-size:12vw;line-height:1;text-transform:uppercase;color:var(--cream);opacity:0;transform:translateY(10px);transition:opacity .2s linear,transform .2s linear}html.lite[data-history=karte] .hmap__tag{left:12px;top:-38px;padding:7px 11px 6px;font-size:13px}html.lite[data-history=karte] .hmap__lb{padding:6px 10px 5px;font-size:9px}html.lite[data-history=karte] .hmap__lb b{font-size:13px}html.lite[data-history=karte] .hmap__copy{position:relative;left:0;top:0;width:auto;padding-top:10px}html.lite[data-history=karte] .hmap__st{position:relative;min-height:46svh;padding:26px 0 10px;opacity:.3;transform:none}html.lite[data-history=karte] .hmap__st.is-on{opacity:1}html.lite[data-history=karte] .hmap__year{font-size:15vw}html.lite[data-history=karte] .hmap__year--long{font-size:12vw}html.lite[data-history=karte] .hmap__txt{margin-top:12px;font-size:16px}html.lite[data-history=karte] .hmap__credit{position:static;padding:6px 0 0;text-align:left}html.lite[data-history=karte] .hmap__st .hpic--inline{margin:16px 0 0}html.lite .film{display:flex;flex-direction:column;align-items:flex-start;height:auto;overflow:visible;padding:calc(var(--nav-h) + 10px) var(--gutter) 70px;color:var(--navy)}html.lite .film__copy{display:contents}html.lite .film .kicker{order:1;color:var(--navy)}html.lite .film__title{order:2;margin:16px 0 22px;font-size:12.4vw;text-shadow:none}html.lite .film__media{order:3;position:relative;inset:auto;align-self:stretch;aspect-ratio:4 / 5;border-radius:24px;clip-path:inset(0 round 24px)}html.lite .film__btn{order:4;margin-top:22px;color:var(--navy);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}html.lite .film__btn .btn__fill{background:var(--navy)}@media(hover:hover){html.lite .film__btn:hover{color:var(--cream)}}html.lite .film__pause{right:14px;bottom:14px;width:44px;height:44px}html.reduced :is(.grain,.hero__badge-ring,.hero__badge-arrow,.en__flower,.en__halo,.en__ray,.en__dots,.en__air,.raum__hint svg,.lage__ring,.hero__sky img,.nav__sound.is-on .eq i),html.reduced .nav__sound.is-hint::after{animation:none!important}html.reduced .bands{height:auto;display:grid;gap:clamp(18px,3vw,40px);padding:clamp(48px,7vw,100px) 0}html.reduced .band{position:relative;top:auto;left:auto;right:auto;margin:0 -8%}html.reduced .band--b{transform:rotate(2deg)}html.reduced .band--a{transform:rotate(-2.4deg)}html.reduced .band__track{width:auto;justify-content:center}html.reduced .band__group+.band__group{display:none}html.reduced .band__group{flex-wrap:wrap;justify-content:center;row-gap:.2em;padding:0 12%;white-space:normal;text-align:center}html.reduced .band__group svg:last-child{display:none}@media(max-width:760px){html.reduced .band__group{font-size:24px;column-gap:14px;padding:0 9%}}.gl-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;pointer-events:none}.dive__canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0}.dive__img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0}.dive{position:absolute;inset:0;z-index:5;pointer-events:none;color:var(--cream);visibility:hidden;opacity:0}.dive__frame i{position:absolute;width:clamp(26px,3vw,44px);height:clamp(26px,3vw,44px);border:2px solid rgba(250,245,237,.9)}.dive__frame i:nth-child(1){left:var(--gutter);top:calc(var(--nav-h) + 10px);border-right:0;border-bottom:0}.dive__frame i:nth-child(2){right:var(--gutter);top:calc(var(--nav-h) + 10px);border-left:0;border-bottom:0}.dive__frame i:nth-child(3){left:var(--gutter);bottom:var(--gutter);border-right:0;border-top:0}.dive__frame i:nth-child(4){right:var(--gutter);bottom:var(--gutter);border-left:0;border-top:0}.dive__cross{position:absolute;left:50%;top:50%;width:54px;height:54px;transform:translate(-50%,-50%);opacity:.85}.dive__cross::before,.dive__cross::after{content:\"\";position:absolute;background:var(--cream)}.dive__cross::before{left:50%;top:0;bottom:0;width:1.5px;transform:translateX(-50%)}.dive__cross::after{top:50%;left:0;right:0;height:1.5px;transform:translateY(-50%)}.dive__top,.dive__bottom{position:absolute;display:flex;align-items:center;gap:26px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,20,35,.55)}.dive__top{left:calc(var(--gutter) + clamp(40px,4vw,62px));top:calc(var(--nav-h) + 20px)}.dive__bottom{right:calc(var(--gutter) + clamp(40px,4vw,62px));bottom:calc(var(--gutter) + 10px)}.dive__rec{display:inline-flex;align-items:center;gap:8px}.dive__rec b{flex:none;width:16px;height:16px;background:var(--red);-webkit-mask:var(--i-cam) center / contain no-repeat;mask:var(--i-cam) center / contain no-repeat}.dive__zoom b{font-family:var(--f-display);font-size:22px;font-weight:400;letter-spacing:0;margin:0 2px}.dive__meter{position:relative;width:clamp(80px,12vw,180px);height:2px;background:rgba(250,245,237,.3)}.dive__meter i{position:absolute;inset:0;background:var(--cream);transform-origin:0 50%;transform:scaleX(0)}.dive__caption{position:absolute;left:var(--gutter);right:var(--gutter);bottom:16vh;height:1em;font-family:var(--f-display);font-size:clamp(40px,7.4vw,140px);line-height:1;text-transform:uppercase;text-shadow:0 .04em .3em rgba(0,20,35,.5)}.dive__caption span{position:absolute;left:0;bottom:0;white-space:nowrap;opacity:0}.roots{position:absolute;left:0;top:0;z-index:0;pointer-events:none;overflow:visible}.roots path{fill:none;stroke:var(--root-c, #003049);stroke-linecap:round;stroke-linejoin:round}.roots .r-main{stroke-width:var(--root-w, 2.4px)}.roots .r-branch{stroke-width:calc(var(--root-w, 2.4px) * .62)}.roots .r-node{fill:var(--root-c, #003049)}.intro,.retreat,.raum,.projekt,.lage,.kiez,.news,.trail,.film{--root-c: #003049}.film>.roots{z-index:3}.stats,.green,.history,.kontakt{--root-c: #FAF5ED}.bands{--root-c: #669BBC}.petals{position:fixed;inset:0;z-index:97;width:100%;height:100%;pointer-events:none}.edge{position:relative;z-index:4;height:0;pointer-events:none;--edge-h: clamp(44px, 6vw, 110px)}.edge svg{position:absolute;left:0;bottom:-2px;width:100%;height:calc(var(--edge-h) + 2px);overflow:visible;filter:drop-shadow(0 -8px 18px rgba(0,20,35,.13));clip-path:inset(-160px 0 0 0);will-change:transform}.edge path{fill:var(--edge-c)}.edge .edge__root{fill:none;stroke-linecap:butt}@media(max-width:760px){.nav__sound{padding:12px 13px}.nav__sound-txt{display:none}.dive__caption{font-size:10.5vw;bottom:18vh}.dive__caption span{white-space:normal}.dive__top span:last-child,.dive__meter{display:none}.roots{--root-w: 1.6px}}@media(min-width:761px)and (max-height:520px){:root{--nav-h: 64px}.nav__inner{padding-top:10px;padding-bottom:10px}.menu__panel{grid-template-columns:1.4fr 1fr;align-items:center;align-content:center;gap:28px;padding-top:calc(var(--nav-h) + 6px);padding-bottom:14px}.menu__link{font-size:min(6vw,8.6svh)}.menu__aside{gap:12px;font-size:13px;padding-bottom:0}.skip{gap:0;padding:6px}.skip__txt{display:none}.rp--features{width:min(96vw,1060px)}.rp__ftitle{font-size:30px}.feats{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.feat{min-height:0;gap:10px;padding:14px}.feat svg{width:30px}.feat h4{font-size:19px}.feat p{margin-top:6px;font-size:12px;line-height:1.4}.green__title{font-size:min(9.4vw,15svh);margin:12px auto 14px}.green__sub{font-size:16px}.card{height:calc(89svh - 58px)}.card__inner{gap:20px;padding:16px 20px}.card__text{gap:8px}.card__top{padding-bottom:8px}.card__title{font-size:24px;margin-bottom:8px}.card__body>p{font-size:12.5px;line-height:1.4}.chips{display:none}.plan__steps,.plan__tag{display:none}.projekt__inner{gap:10px}.projekt__title{font-size:34px;margin-top:8px}.plan{grid-template-columns:1.25fr 1fr;gap:22px}.plan__info{align-content:start}.phase__status{font-size:11px}.phase__name{font-size:28px;margin:6px 0 2px}.phase__facts{margin:8px 0 6px}.phase__facts div{padding-top:6px}.phase__facts dd{font-size:28px;margin-top:2px}.phase__text{font-size:12.5px;line-height:1.4}.sum{font-size:38px;margin:8px 0 6px}.hmap__copy{top:calc(var(--nav-h) + 40px)}.hmap__year{font-size:min(9.4vw,17svh)}.hmap__year--long{font-size:min(6.4vw,13svh)}.hmap__txt{margin-top:10px;font-size:15px}.hmap__pics{width:170px;bottom:56px}.lage__dest-in{gap:3px;padding:6px 10px 7px;border-radius:10px}.lage__dest b{font-size:14px}.lage__dest span{font-size:10.5px}.lage__dest--minor b{font-size:12px}.lage__dest--minor span{font-size:10px}}.retreat,.raum,.kiez,.news{box-shadow:0 -2px 0 var(--cream)}.lage{box-shadow:0 -2px 0 var(--map)}span.dots{display:inline-block;padding-top:.36em;margin-top:-.36em}\n","js":[{"name":"gl.js","code":"(()=>{\"use strict\";const D=window.KL=window.KL||{},I=`\n attribute vec2 aPos;\n varying vec2 vUv;\n void main() { vUv = aPos * 0.5 + 0.5; gl_Position = vec4(aPos, 0.0, 1.0); }\n `,L=`\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D uImage;\n uniform vec2 uRes; // Canvas in px\n uniform vec4 uRect; // Bild-Box im Canvas (x, y von oben links, w, h) in px\n uniform vec2 uTexSize;\n uniform float uVel; // -1..1 Scroll-Tempo\n uniform float uHover; // 0..1\n uniform vec2 uMouse; // 0..1, oben links\n uniform float uTime;\n uniform float uHoriz; // 1 = horizontale Bewegung\n\n vec2 coverUv(vec2 p) {\n vec2 local = (p - uRect.xy) / uRect.zw;\n float boxR = uRect.z / uRect.w;\n float texR = uTexSize.x / uTexSize.y;\n vec2 s = boxR > texR ? vec2(1.0, texR / boxR) : vec2(boxR / texR, 1.0);\n return (local - 0.5) * s + 0.5;\n }\n\n void main() {\n vec2 uv = vec2(vUv.x, 1.0 - vUv.y);\n vec2 p = uv * uRes;\n vec2 c = uv - 0.5;\n\n // Tuch-Biegung: die Mitte h\\xE4ngt der Bewegung hinterher\n p.y -= (1.0 - 4.0 * c.x * c.x) * uVel * (1.0 - uHoriz) * 0.07 * uRes.y;\n p.x -= (1.0 - 4.0 * c.y * c.y) * uVel * uHoriz * 0.05 * uRes.x;\n\n // Wellen um den Cursor + leichter Zoom\n vec2 m = uMouse * uRes;\n vec2 dm = p - m;\n float d = length(dm) / uRes.y;\n float wave = sin(d * 42.0 - uTime * 6.0) * exp(-d * 6.0) * uHover;\n p += normalize(dm + 0.0001) * wave * 0.012 * uRes.y;\n p = m + (p - m) * (1.0 - 0.06 * uHover);\n\n // RGB-Split\n vec2 dir = mix(vec2(0.0, 1.0), vec2(1.0, 0.0), uHoriz);\n float split = abs(uVel) * 0.009 * uRes.y + uHover * 0.0025 * uRes.y;\n vec4 g = texture2D(uImage, coverUv(p));\n float r = texture2D(uImage, coverUv(p + dir * split)).r;\n float b = texture2D(uImage, coverUv(p - dir * split)).b;\n gl_FragColor = vec4(r, g.g, b, 1.0);\n }\n `,S=`\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D uA;\n uniform sampler2D uB;\n uniform vec2 uSizeA;\n uniform vec2 uSizeB;\n uniform vec2 uRes;\n uniform float uZoomA;\n uniform float uZoomB;\n uniform vec2 uFocusA;\n uniform vec2 uFocusB;\n uniform float uAimA;\n uniform float uAimB;\n uniform float uMix;\n uniform float uBlur;\n\n vec2 cover(vec2 uv, vec2 size) {\n float sr = uRes.x / uRes.y, tr = size.x / size.y;\n vec2 s = sr > tr ? vec2(1.0, tr / sr) : vec2(sr / tr, 1.0);\n return (uv - 0.5) * s + 0.5;\n }\n // Zoom auf einen Fokuspunkt, der dabei zur Bildmitte wandert\n vec2 dive(vec2 uv, vec2 size, float zoom, vec2 focus, float aim) {\n vec2 c = cover(uv, size);\n vec2 f = mix(focus, vec2(0.5), aim);\n return focus + (c - f) / zoom;\n }\n vec3 blurred(sampler2D t, vec2 size, vec2 uv, float zoom, vec2 focus, float aim) {\n vec3 acc = vec3(0.0);\n float ws = 0.0;\n vec2 dir = uv - 0.5;\n // Dithering gegen sichtbare Stufen im Zoom-Blur\n float jitter = fract(sin(dot(gl_FragCoord.xy, vec2(12.9898, 78.233))) * 43758.5453);\n for (int i = 0; i < TAPS; i++) {\n float k = (float(i) + jitter) / float(TAPS);\n float w = 1.0 - 0.7 * k;\n vec2 u = uv - dir * k * uBlur * 0.22;\n acc += texture2D(t, dive(u, size, zoom, focus, aim)).rgb * w;\n ws += w;\n }\n return acc / ws;\n }\n void main() {\n vec2 uv = vec2(vUv.x, 1.0 - vUv.y);\n vec3 col = blurred(uA, uSizeA, uv, uZoomA, uFocusA, uAimA);\n if (uMix > 0.001) {\n vec3 b = blurred(uB, uSizeB, uv, uZoomB, uFocusB, uAimB);\n col = mix(col, b, uMix);\n }\n float vig = smoothstep(1.05, 0.25, length((uv - 0.5) * vec2(uRes.x / uRes.y, 1.0)));\n col *= mix(1.0, mix(0.72, 1.0, vig), clamp(uZoomA - 1.0, 0.0, 1.0));\n col += vec3(0.92, 0.96, 1.0) * uBlur * 0.07;\n gl_FragColor = vec4(col, 1.0);\n }\n `,M=f=>Math.min(1,Math.max(0,f)),U=(f,s,e)=>{const m=M((e-f)/(s-f));return m*m*(3-2*m)},X=`self.onmessage = async e => {\n const { id, url, max, strip } = e.data;\n try {\n const r = await fetch(url, { credentials: 'omit' });\n if (!r.ok) throw new Error('HTTP ' + r.status);\n let bmp = await createImageBitmap(await r.blob());\n const s = max ? Math.min(1, max / Math.max(bmp.width, bmp.height)) : 1;\n if (s < 1) {\n const small = await createImageBitmap(bmp, { resizeWidth: Math.round(bmp.width * s), resizeHeight: Math.round(bmp.height * s), resizeQuality: 'high' });\n bmp.close(); bmp = small;\n }\n if (!strip) { self.postMessage({ id, bmp }, [bmp]); return; }\n const w = bmp.width, h = bmp.height, rows = Math.max(16, Math.floor(strip / w)), parts = [];\n for (let y = 0; y < h; y += rows) parts.push({ y, bmp: await createImageBitmap(bmp, 0, y, w, Math.min(rows, h - y)) });\n bmp.close();\n self.postMessage({ id, w, h, parts }, parts.map(p => p.bmp));\n } catch (err) { self.postMessage({ id, err: String((err && err.message) || err) }); }\n };`;let x,z=0;const A=new Map,F=()=>{if(x!==void 0)return x;x=null;try{if(typeof Worker>\"u\"||typeof createImageBitmap>\"u\")return null;const f=URL.createObjectURL(new Blob([X],{type:\"text/javascript\"}));x=new Worker(f),URL.revokeObjectURL(f),x.onmessage=s=>{const e=A.get(s.data.id);e&&(A.delete(s.data.id),e(s.data.err?null:s.data))},x.onerror=()=>{A.forEach(s=>s(null)),A.clear(),x=null}}catch{x=null}return x},y=(f,s,e)=>{const m=F();return m?new Promise(u=>{const h=++z,v=setTimeout(()=>{A.delete(h)&&u(null)},2e4);A.set(h,E=>{clearTimeout(v),u(E)}),m.postMessage({id:h,url:new URL(f,location.href).href,max:s,strip:e})}):Promise.resolve(null)},C=(f,s=0)=>y(f,s,0).then(e=>e&&e.bmp||null);function P(f,s={}){const e=f.getContext(\"webgl\",{alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!!s.preserve,powerPreference:\"high-performance\"});if(!e)return null;const m=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,m),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW);const u=(i,n)=>{const l=e.createShader(i);if(e.shaderSource(l,n),e.compileShader(l),!e.getShaderParameter(l,e.COMPILE_STATUS))throw new Error(e.getShaderInfoLog(l));return l},h=i=>{const n=e.createProgram();if(e.attachShader(n,u(e.VERTEX_SHADER,I)),e.attachShader(n,u(e.FRAGMENT_SHADER,i)),e.linkProgram(n),!e.getProgramParameter(n,e.LINK_STATUS))throw new Error(e.getProgramInfoLog(n));const l={};return{use(){e.useProgram(n);const r=e.getAttribLocation(n,\"aPos\");e.bindBuffer(e.ARRAY_BUFFER,m),e.enableVertexAttribArray(r),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)},u(r){return r in l||(l[r]=e.getUniformLocation(n,r)),l[r]}}},v=e.getParameter(e.MAX_TEXTURE_SIZE),E=(i,n)=>{const l=Math.min(n,v),r=Math.min(1,l/Math.max(i.naturalWidth,i.naturalHeight));let a=i,t=i.naturalWidth,o=i.naturalHeight;if(r<1){t=Math.round(t*r),o=Math.round(o*r);const p=document.createElement(\"canvas\");p.width=t,p.height=o;const w=p.getContext(\"2d\");w.imageSmoothingQuality=\"high\",w.drawImage(i,0,0,t,o),a=p}const d=e.createTexture();return e.bindTexture(e.TEXTURE_2D,d),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,a),a!==i&&(a.width=a.height=0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),{t:d,w:t,h:o}};let T=Promise.resolve();const R=()=>new Promise(i=>setTimeout(()=>{const n=()=>requestAnimationFrame(()=>i());window.requestIdleCallback?requestIdleCallback(n,{timeout:600}):n()},150)),g=()=>{e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)},b=i=>new Promise(n=>{const l=e.createTexture();e.bindTexture(e.TEXTURE_2D,l),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,i.w,i.h,0,e.RGBA,e.UNSIGNED_BYTE,null),g();let r=0;const a=()=>{if(e.isContextLost()){i.parts.slice(r).forEach(o=>o.bmp.close()),n(null);return}const t=performance.now();e.bindTexture(e.TEXTURE_2D,l);do{const o=i.parts[r++];e.texSubImage2D(e.TEXTURE_2D,0,0,o.y,e.RGBA,e.UNSIGNED_BYTE,o.bmp),o.bmp.close()}while(r{const l=Math.min(n,v),r=Math.min(1,l/Math.max(i.naturalWidth,i.naturalHeight)),a=await y(i.currentSrc||i.src,l,1<<19);if(a&&a.parts&&Math.max(a.w,a.h)<=l){const d=T.then(R).then(()=>e.isContextLost()?(a.parts.forEach(p=>p.bmp.close()),null):b(a));return T=d.catch(()=>{}),d}a&&a.parts&&a.parts.forEach(d=>d.bmp.close());let t=null;try{const d=await(await fetch(i.currentSrc||i.src,{credentials:\"omit\"})).blob();t=await createImageBitmap(d,r<1?{resizeWidth:Math.round(i.naturalWidth*r),resizeHeight:Math.round(i.naturalHeight*r),resizeQuality:\"high\"}:{}),Math.max(t.width,t.height)>l&&(t.close(),t=null)}catch{t=null}const o=T.then(R).then(()=>{if(e.isContextLost())return t?.close(),null;if(!t)return E(i,n);const d=e.createTexture();e.bindTexture(e.TEXTURE_2D,d),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE);const p={t:d,w:t.width,h:t.height};return t.close(),p});return T=o.catch(()=>{}),o},maxTex:v}}const B=f=>new Promise(s=>{if(f.complete&&f.naturalWidth){s(f);return}f.addEventListener(\"load\",()=>s(f),{once:!0}),f.addEventListener(\"error\",()=>s(null),{once:!0})});function G({mobile:f=!1}={}){const s=document.createElement(\"canvas\");let e;try{e=P(s,{preserve:!0})}catch{e=null}if(!e)return null;const{gl:m}=e;let u;try{u=e.program(L)}catch(c){return console.warn(\"[KL gl] fx shader\",c),null}let h=!1;s.addEventListener(\"webglcontextlost\",c=>{c.preventDefault(),h=!0,v.forEach(T)});const v=[],E=new IntersectionObserver(c=>c.forEach(i=>{const n=v.find(l=>l.el===i.target);n&&(n.visible=i.isIntersecting,n.visible||T(n))}),{rootMargin:\"10% 0px\"}),T=c=>{c.shown&&(c.cv.style.opacity=\"0\",c.shown=!1)};function R(c,{horizontal:i=!1}={}){const n=c.querySelector(\"img\");if(!n)return;const l=document.createElement(\"canvas\");l.className=\"gl-canvas\",l.setAttribute(\"aria-hidden\",\"true\"),c.appendChild(l);const r={el:c,img:n,cv:l,c2d:l.getContext(\"2d\"),tex:null,hover:0,mx:.5,my:.5,visible:!1,shown:!1,horizontal:i},a=()=>{r.tex||r.busy||h||!n.naturalWidth||(r.busy=!0,e.textureAsync(n,f?1280:2048).then(t=>{t&&!h&&(r.tex=t)},t=>console.warn(\"[KL gl] texture\",t)).finally(()=>{r.busy=!1}))};B(n).then(t=>{t&&a()}),n.addEventListener(\"load\",a),c.addEventListener(\"pointerenter\",()=>gsap.to(r,{hover:1,duration:.9,ease:\"power2.out\",overwrite:\"auto\"})),c.addEventListener(\"pointerleave\",()=>gsap.to(r,{hover:0,duration:1.1,ease:\"power2.out\",overwrite:\"auto\"})),c.addEventListener(\"pointermove\",t=>{const o=c.getBoundingClientRect();r.mx=(t.clientX-o.left)/o.width,r.my=(t.clientY-o.top)/o.height}),E.observe(c),v.push(r)}function g(c,i,n){const l=c.el.getBoundingClientRect(),r=c.img.getBoundingClientRect(),a=Math.min(window.devicePixelRatio||1,2),t=Math.max(2,Math.round(l.width*a)),o=Math.max(2,Math.round(l.height*a));(c.cv.width!==t||c.cv.height!==o)&&(c.cv.width=t,c.cv.height=o),(s.widthnull);let E=!1;f.addEventListener(\"webglcontextlost\",r=>{r.preventDefault(),E=!0});const T=s.length,R=(r,a)=>{const t=r===0?0:r-.28,o=r===0?1:1.28;return M((a-t)/o)},g=(r,a)=>{const t=s[r];return t.z0+(t.z1-t.z0)*Math.pow(R(r,a),1.6)},b=(r,a)=>s[r].aim*U(.05,.9,R(r,a));let c=!1;function i(){c||(c=!0,s.forEach((r,a)=>{const t=new Image;t.crossOrigin=\"anonymous\",t.decoding=\"async\",t.src=r.src,B(t).then(o=>o&&!E?m.textureAsync(t,e?2560:3072):null).then(o=>{o&&!E&&(v[a]=o)},o=>console.warn(\"[KL gl] dive texture\",o))}))}function n(r){const a=Math.min(T-1,Math.max(0,Math.floor(r))),t=r-a,o=a0&&!d)return!1;const p=Math.min(window.devicePixelRatio||1,1.5),w=Math.max(2,Math.round(f.clientWidth*p)),_=Math.max(2,Math.round(f.clientHeight*p));return(f.width!==w||f.height!==_)&&(f.width=w,f.height=_),u.viewport(0,0,w,_),h.use(),u.activeTexture(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,o.t),u.uniform1i(h.u(\"uA\"),0),u.activeTexture(u.TEXTURE1),u.bindTexture(u.TEXTURE_2D,(d||o).t),u.uniform1i(h.u(\"uB\"),1),u.uniform2f(h.u(\"uSizeA\"),o.w,o.h),u.uniform2f(h.u(\"uSizeB\"),(d||o).w,(d||o).h),u.uniform2f(h.u(\"uRes\"),w,_),u.uniform1f(h.u(\"uZoomA\"),g(t.a,r)),u.uniform1f(h.u(\"uZoomB\"),g(t.b,r)),u.uniform2f(h.u(\"uFocusA\"),s[t.a].focus[0],s[t.a].focus[1]),u.uniform2f(h.u(\"uFocusB\"),s[t.b].focus[0],s[t.b].focus[1]),u.uniform1f(h.u(\"uAimA\"),b(t.a,r)),u.uniform1f(h.u(\"uAimB\"),b(t.b,r)),u.uniform1f(h.u(\"uMix\"),t.mix),u.uniform1f(h.u(\"uBlur\"),Math.min(1.2,Math.sin(t.mix*Math.PI)*.95+a)),u.drawArrays(u.TRIANGLE_STRIP,0,4),!0}return{prepare:i,render:l,state:n,zoomOf:g,get ready(){return!!v[0]},get lost(){return E}}}D.gl={createFX:G,createDive:N,decode:C}})();\n"},{"name":"hero-sky.js","code":"(()=>{\"use strict\";const Be=window.KL=window.KL||{},D0=[[.9406,.0776,.9836,.1129,.1136,[[.9521,.9531],[.9674,.9685]],0],[.9474,.2227,.9919,.2824,.2818,[[.9594,.9604],[.975,.976]],0],[.9474,.3866,.9932,.454,.4511,[[.9594,.9604],[.975,.976]],1],[.9474,.552,.9919,.6271,.624,[[.9594,.9604],[.975,.976]],0],[.1018,.3104,.1453,.3522,.3464,[[.1148,.1172],[.1284,.1307]],0],[.1706,.2908,.1945,.3429,.3399,[[.1807,.1818]],0],[.2276,.2908,.2797,.3354,.3284,[[.2411,.2435],[.2552,.2576],[.269,.2714]],0],[.3307,.2692,.3703,.3217,.3163,[[.3432,.3443],[.357,.3594]],0],[.4091,.2692,.4362,.3111,.3076,[[.4224,.4247]],0],[.1018,.4393,.1453,.486,.483,[[.1148,.1172],[.1284,.1307]],0],[.1706,.4271,.1945,.4812,.4796,[[.1807,.1818]],0],[.2276,.4278,.2794,.4773,.4735,[[.2411,.2435],[.2552,.2576],[.269,.2714]],0],[.3307,.4143,.3703,.47,.4675,[[.3432,.3443],[.357,.3594]],0],[.4091,.4143,.4359,.4643,.4629,[[.4224,.4247]],0],[.1018,.5702,.1453,.6235,.6233,[[.1148,.1172],[.1284,.1307]],0],[.1706,.5661,.1932,.6234,.6235,[[.1807,.1818]],0],[.2276,.5661,.2797,.6228,.6228,[[.2411,.2435],[.2552,.2576],[.269,.2714]],0],[.3307,.5614,.3703,.6229,.6213,[[.3432,.3443],[.357,.3594]],0],[.4091,.5621,.4359,.6222,.6222,[[.4224,.4247]],0],[.1729,.1532,.1974,.1936,.1884,[[.1833,.1844]],0],[.2484,.1538,.2737,.1781,.1732,[[.2602,.2612]],0],[.3164,.1451,.3414,.1646,.1592,[[.3289,.3299]],0],[.3648,.1457,.3896,.1545,.1498,[[.3789,.3799]],0]],B0=[[.8591,.8867,.0963,.0972,.1148,.1155,0],[.8966,.9031,.0934,.0845,.1154,.1154,0],[.5047,.5117,.3592,.3632,.3843,.3875,1],[.5714,.5768,.3973,.4003,.4185,.4215,1],[.5857,.5904,.4681,.4701,.4947,.4966,0],[.5823,.5898,.5335,.5348,.5622,.5637,1],[.8263,.8346,.2413,.231,.3241,.3154,1],[.8263,.8346,.3957,.3895,.4781,.4747,0],[.8263,.8346,.5527,.5506,.6359,.6355,0],[.801,.8089,.2721,.2626,.3484,.3416,1],[.801,.8089,.4144,.4087,.4917,.4865,0],[.801,.8089,.5591,.5572,.636,.6354,0],[.7828,.7893,.2944,.2865,.4013,.3961,1],[.7828,.7893,.428,.4233,.5352,.5327,0],[.7828,.7893,.5636,.5624,.6712,.6718,0],[.7659,.7773,.315,.3011,.3703,.3585,1],[.7659,.7773,.4405,.4323,.4965,.4965,0],[.7659,.7773,.568,.5654,.6302,.6302,1],[.751,.7609,.3328,.3211,.3699,.3599,0],[.751,.7609,.4512,.4444,.4971,.4962,1],[.751,.7609,.5717,.5695,.6302,.6302,1],[.7359,.7411,.2794,.2744,.3352,.3426,0],[.7359,.7411,.3944,.3894,.4545,.4508,0],[.7359,.7411,.5072,.5048,.5677,.5665,0],[.7167,.7219,.3751,.3688,.4216,.4162,1],[.7094,.7151,.3827,.3817,.4191,.4197,0],[.7167,.7219,.4615,.4615,.5243,.5241,1],[.7039,.7099,.4863,.4823,.5241,.5243,0],[.7167,.7219,.5812,.5793,.6303,.6288,1],[.7039,.7099,.584,.5826,.6303,.6314,1],[.6943,.7003,.402,.3952,.4281,.4225,0],[.6943,.7003,.4934,.4894,.529,.5258,0],[.6943,.7003,.5861,.5852,.6316,.6313,0],[.7667,.774,.214,.2026,.2361,.2245,0],[.8154,.8201,.136,.1289,.1611,.155,0],[.7169,.7211,.2928,.2874,.3115,.3047,0]],Vt=D0.length+B0.length,X0=[[.1958,.5884,.0135],[.5898,.61,.0054],[.6003,.6086,.0061],[.6148,.6046,.0067],[.6302,.6005,.0081],[.6479,.5958,.0094],[.681,.587,.0121]],et=[[.0932,.3144],[.2039,.2942],[.3201,.2733],[.4461,.274],[.0932,.4426],[.2039,.4312],[.3201,.4177],[.4461,.4184],[.0932,.5756],[.2039,.5688],[.3201,.5655],[.4461,.5668],[.2062,.1606],[.9299,.0823],[.9365,.2281],[.9365,.392],[.9365,.5574],[.85,.1053]],vt=[[.0307,.365,.4589,.3079,.0047],[.0307,.4944,.4589,.4645,.0047],[.0307,.6273,.4589,.6253,.0047],[.0253,.2298,.468,.133,.0061],[.9445,.2856,1,.2853,.0047],[.9445,.4572,1,.4545,.0047],[.9445,.6291,1,.6279,.0047],[.6945,.419,.7227,.419,.0034],[.6945,.5261,.7227,.5238,.0034],[.6945,.6318,.7227,.6296,.0034],[.7427,.3652,.7773,.365,.0034],[.7427,.497,.7773,.4964,.0034],[.7427,.6307,.7773,.63,.0034],[.8453,.1147,1,.1174,.0054],[.4674,.6297,.5951,.6287,.004],[.4674,.6905,.6062,.6935,.004],[.1877,.5844,.2039,.5844,.0061],[.5866,.6084,.593,.6084,.0024],[.5967,.6068,.6039,.6068,.0027],[.6108,.6026,.6188,.6026,.003],[.6254,.5981,.635,.5981,.0036],[.6423,.593,.6535,.593,.0042],[.6738,.5834,.6882,.5834,.0054]],An=3840/1482,K0=.3125,Pe=.625,M0=h=>Math.min(1,Math.max(0,h)),B=(h,u,p)=>{const v=M0((p-h)/(u-h));return v*v*(3-2*v)},a0=(h,u,p)=>h+(u-h)*p,q=(h,u,p)=>[a0(h[0],u[0],p),a0(h[1],u[1],p),a0(h[2],u[2],p)],b0=(h,u,p,v,C)=>B(u,p,h)*(1-B(v,C,h)),E0=h=>{const u=Math.sin(h*127.1+311.7)*43758.5453;return u-Math.floor(u)},d=(h,u)=>h+Math.random()*(u-h),Yt=[\"Fr\\xFChling\",\"Sommer\",\"Herbst\",\"Winter\"],Ie=[6,5,7.2,8.2],Ue=[20,21.4,18,16.2],_e=[.7,.88,.52,.36],Ge=[h=>({cover:.34+.36*b0(h,9.5,11.5,13.2,14.6),dark:.4*b0(h,10.5,11.8,13,14),rain:.8*b0(h,11.2,12,12.9,13.7),snow:0,fog:.2*b0(h,3.5,5.2,7,9),wind:.45,bow:b0(h,13.5,14.2,16.4,17.6),petals:1,leaves:0,storm:0}),h=>({cover:.26+.22*b0(h,10,13,17,20),dark:0,rain:0,snow:0,fog:.1*b0(h,3.5,4.8,6,7.5),wind:.25,bow:0,petals:0,leaves:0,storm:0}),h=>({cover:.55+.43*b0(h,8.5,11,17,19.5),dark:.6*b0(h,10,12,16.5,18.5),rain:b0(h,11.5,12.8,16,17.5),snow:0,fog:.6*b0(h,2.5,4.5,8.5,11),wind:.9,bow:0,petals:0,leaves:1,storm:b0(h,13,13.8,15.5,16.3)}),h=>{const u=b0(h,6.5,8.5,16.5,19);return{cover:.26+.64*u,dark:.22*u,rain:0,snow:b0(h,7,8.5,15,17),fog:.28*u,wind:.35,bow:0,petals:0,leaves:0,storm:0}}],xt=[\"cover\",\"dark\",\"rain\",\"snow\",\"fog\",\"wind\",\"bow\",\"petals\",\"leaves\",\"storm\"];function Ne({season:h=1,hour:u=18.2}={}){const p={day:0,hour:u,s0:h,live:null,moon0:.47,moonStep:.125},v=C=>((p.s0+C)%4+4)%4;return p.weights=()=>{const C=p.hour,U=[0,0,0,0];let I,y,m;C>=22?(I=v(p.day),y=v(p.day+1),m=B(22,31,C)):C<7?(I=v(p.day-1),y=v(p.day),m=B(22,31,C+24)):(I=y=v(p.day),m=0),U[I]+=1-m,U[y]+=m;const k=p.live;return k&&k.mix>0?U.map((g,w)=>a0(g,k.w[w],k.mix)):U},p.season=()=>{const C=p.weights();return C.indexOf(Math.max(...C))},p.moon=()=>{const C=p.live,U=((p.moon0+(p.day+p.hour/24-.75)*p.moonStep)%1+1)%1;if(!C||C.mix<=0)return U;let I=C.phase-U;return I-=Math.round(I),((U+I*C.mix)%1+1)%1},p}const wt={lat:52.483,lon:13.527};function We(h=Date.now()){const u=new Intl.DateTimeFormat(\"en-GB\",{timeZone:\"Europe/Berlin\",year:\"numeric\",month:\"numeric\",day:\"numeric\",hour:\"numeric\",minute:\"numeric\",second:\"numeric\",hourCycle:\"h23\"}).formatToParts(new Date(h)),p=I=>+(u.find(y=>y.type===I)||{value:0}).value,v=new Date(h),C=v.getUTCHours()+v.getUTCMinutes()/60,U=p(\"hour\")+p(\"minute\")/60+p(\"second\")/3600;return{y:p(\"year\"),m:p(\"month\"),d:p(\"day\"),h:U,off:Math.round(((U-C)%24+24+12)%24-12)}}function Oe(h,u,p,v){const C=(Date.UTC(h,u-1,p)-Date.UTC(h,0,0))/864e5,U=2*Math.PI/365*(C-.5),I=229.18*(75e-6+.001868*Math.cos(U)-.032077*Math.sin(U)-.014615*Math.cos(2*U)-.040849*Math.sin(2*U)),y=.006918-.399912*Math.cos(U)+.070257*Math.sin(U)-.006758*Math.cos(2*U)+907e-6*Math.sin(2*U)-.002697*Math.cos(3*U)+.00148*Math.sin(3*U),m=wt.lat*Math.PI/180,k=Math.cos(90.833*Math.PI/180)/(Math.cos(m)*Math.cos(y))-Math.tan(m)*Math.tan(y),g=Math.acos(Math.min(1,Math.max(-1,k)))*180/Math.PI,w=(720-4*wt.lon-I)/60+v;return{rise:w-g/15,set:w+g/15,peak:Math.sin((90-Math.abs(wt.lat-y*180/Math.PI))*Math.PI/180)}}const He=h=>((h-Date.UTC(2e3,0,6,18,14))/864e5/29.530588853%1+1)%1,Zt=[[0,0,0,1],[0,0,0,1],[.45,0,0,.55],[1,0,0,0],[.6,.4,0,0],[0,1,0,0],[0,1,0,0],[0,1,0,0],[0,.85,.15,0],[0,.25,.75,0],[0,0,.7,.3],[0,0,0,1]];function qe(h,u,p){const v=u-1+(p-.5)/new Date(Date.UTC(h,u,0)).getUTCDate()-.5,C=Math.floor(v),U=B(0,1,v-C),I=Zt[(C+12)%12],y=Zt[(C+13)%12];return I.map((m,k)=>m+(y[k]-m)*U)}const Xe=h=>({cover:.35,dark:0,rain:0,snow:0,fog:0,wind:.21,bow:0,petals:h[0],leaves:h[2]*B(.1,.5,.21),storm:0,snowCover:0});function Mt(h){const u=h.weights(),p=K=>K[0]*u[0]+K[1]*u[1]+K[2]*u[2]+K[3]*u[3],v=h.live,C=v?v.mix:0,U=a0(p(Ie),v?v.rise:0,C),I=a0(p(Ue),v?v.set:0,C),y=a0(p(_e),v?v.peak:0,C),m=h.hour,k=24-(I-U);let g,w,D;m>=U&&m<=I?(w=(m-U)/(I-U),g=Math.sin(Math.PI*w)*y,D=-1):(D=(m-I+24)%24/k,g=-Math.sin(Math.PI*D)*.55,w=D<.5?1:0);const L={};xt.forEach(K=>{L[K]=0}),Ge.forEach((K,t0)=>{if(u[t0]<.001)return;const h0=K(m);xt.forEach(p0=>{L[p0]+=h0[p0]*u[t0]})});const _=C>0?v.wx:null;_&&xt.forEach(K=>{L[K]=a0(L[K],_[K],C)});const r0=a0(u[3],_?_.snowCover:0,C),H=h.moon(),J=(1-Math.cos(H*Math.PI*2))/2,S=B(-.04,.25,g),s=1-B(-.25,-.03,g),f0=Math.exp(-(((g-.04)/.11)**2)),V=M0(B(.48,.95,L.cover)*.9+L.dark*.25);let b=[.012,.024,.07],R=[.04,.068,.15];b=q(b,[.1,.15,.33],B(-.32,-.08,g)),R=q(R,[.36,.32,.5],B(-.32,-.08,g)),b=q(b,[.22,.33,.6],B(-.08,.03,g)),R=q(R,[1,.6,.36],B(-.08,.02,g)),b=q(b,[.24,.52,.86],B(.05,.35,g)),R=q(R,[.74,.88,.97],B(.06,.36,g));const f=a0(.075,.66,S)*(1-L.dark*.55);b=q(b,[f*.84,f*.89,f*.97],V),R=q(R,[f*1.1,f*1.12,f*1.16],V),b=q(b,[.46,.6,.78],u[3]*S*.35);const T=q([1,.42,.16],[1,.95,.86],B(0,.3,g));let M=[.15,.17,.25],F=[.035,.045,.085];M=q(M,[.62,.5,.64],B(-.28,-.05,g)),F=q(F,[.23,.22,.35],B(-.28,-.05,g)),M=q(M,[1,.72,.52],B(-.06,.03,g)),F=q(F,[.52,.42,.5],B(-.06,.03,g)),M=q(M,[1,.99,.97],B(.07,.32,g)),F=q(F,[.63,.69,.8],B(.07,.32,g)),M=q(M,[f*1.18,f*1.2,f*1.24],V*.75),F=q(F,[f*.72,f*.75,f*.8],V),F=F.map(K=>K*(1-L.dark*.35));const j=s*B(.35,.9,V);b=q(b,[.1,.085,.08],j*.55),R=q(R,[.26,.19,.15],j*.6),M=q(M,[.3,.23,.19],j*.5),F=q(F,[.16,.125,.11],j*.5);let G=[.12,.14,.26];G=q(G,[.34,.37,.55],B(-.32,-.06,g)),G=q(G,[1,.88,.76],B(-.06,.02,g)),G=q(G,[1.08,1.06,1.03],B(.08,.36,g)),G=q(G,[a0(.12,.84,S),a0(.13,.87,S),a0(.2,.92,S)],V*.75);const n0=M0(1.04-V*.32-s*.38),o0=.72,m0=a0(.1,.9,w),Y=o0-Math.max(g,-.2)*.64,s0=D<0?0:D,Z=a0(.16,.84,s0),y0=o0-Math.sin(Math.PI*s0)*.62;return G=q(G,[.15,.135,.14],j*.4),G=q(G,G.map(K=>K*1.3),s*J*(1-V)*B(-.02,-.14,g)),{w:u,h:m,e:g,day:S,night:s,gold:f0,over:V,wx:L,rise:U,set:I,nightLen:k,snowCover:r0,moon:H,moonLit:J,zen:b,hor:R,sunCol:T,lit:M,shade:F,amb:G,sat:n0,HZ:o0,sunX:m0,sunY:Y,moonX:Z,moonY:y0,sunVis:B(-.05,.02,g)*(1-V*.85),moonVis:B(-.02,-.14,g)*(1-V*.8),stars:B(-.1,-.28,g)*(1-V),glow:f0*(1-V*.8),glowCol:q([.95,.45,.42],[1,.58,.26],B(-.06,.04,g)),fogCol:q(q([.07,.08,.12],[.78,.8,.83],S),R,.3)}}const Ke=h=>{const u=Math.max(2.2,h.nightLen/3.4),p=a0(1.08,u,B(0,-.3,h.e));return a0(p,.52,Math.exp(-(((h.e-.01)/.1)**2)))};function jt(h){const u=h.wx;return u.snow>.3?\"Schnee\":u.storm>.4&&u.rain>.5?\"Gewitter\":u.rain>.3?\"Regen\":u.bow>.4&&h.day>.5?\"Regenbogen\":u.fog>.35?\"Nebel\":u.cover>.78?\"Bedeckt\":u.cover>.55?\"Wolkig\":h.night>.6?\"Sternenklar\":h.gold>.45?h.h>12?\"Abendrot\":\"Morgenrot\":h.e<0?\"D\\xE4mmerung\":u.cover<.3?\"Sonnig\":\"Heiter\"}const Ve=\"attribute vec2 aPos; varying vec2 vUv; void main(){ vUv = aPos * 0.5 + 0.5; gl_Position = vec4(aPos, 0.0, 1.0); }\",$t=`\n float hash(vec2 p) { p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 45.32); return fract(p.x * p.y); }\n float vnoise(vec2 p) {\n vec2 i = floor(p), f = fract(p); vec2 u = f * f * (3.0 - 2.0 * f);\n return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x), mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);\n }`;function lt(h,u,p){const v=h.getContext(\"webgl\",{alpha:p,premultipliedAlpha:!0,antialias:!1,depth:!1,stencil:!1,preserveDrawingBuffer:!1,powerPreference:\"high-performance\"});if(!v)return null;const C=(k,g)=>{const w=v.createShader(k);return v.shaderSource(w,g),v.compileShader(w),w},U=v.getExtension(\"KHR_parallel_shader_compile\"),I=C(v.VERTEX_SHADER,Ve),y=C(v.FRAGMENT_SHADER,u),m=v.createProgram();return v.attachShader(m,I),v.attachShader(m,y),v.linkProgram(m),{gl:v,p:m,vs:I,fs:y,ext:U}}function Qt(h){if(!h)return null;const{gl:u,p,vs:v,fs:C}=h;if(!u.getProgramParameter(p,u.LINK_STATUS)){const k=g=>u.getShaderParameter(g,u.COMPILE_STATUS)?\"\":u.getShaderInfoLog(g);throw new Error(k(v)||k(C)||u.getProgramInfoLog(p))}u.useProgram(p);const U=u.createBuffer();u.bindBuffer(u.ARRAY_BUFFER,U),u.bufferData(u.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),u.STATIC_DRAW);const I=u.getAttribLocation(p,\"aPos\");u.enableVertexAttribArray(I),u.vertexAttribPointer(I,2,u.FLOAT,!1,0,0);const y={};return{gl:u,u:k=>k in y?y[k]:y[k]=u.getUniformLocation(p,k)}}let V0=null;function Ye(){if(!V0)try{const h=document.createElement(\"canvas\"),u=document.createElement(\"canvas\");V0={skyCv:h,buildCv:u,S:lt(h,Jt(7),!1),B:lt(u,te,!0)}}catch{V0=null}}function Ze(h=2500){const u=V0,p=v=>!v||!v.ext||v.gl.isContextLost()||v.gl.getProgramParameter(v.p,v.ext.COMPLETION_STATUS_KHR);return!u||p(u.S)&&p(u.B)?Promise.resolve():new Promise(v=>{const C=performance.now(),U=()=>p(u.S)&&p(u.B)||performance.now()-C>h?v():setTimeout(U,16);setTimeout(U,16)})}const Y0=(h,u,p)=>{const v=h.createTexture();return h.activeTexture(h.TEXTURE0+u),h.bindTexture(h.TEXTURE_2D,v),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,p),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,p),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE),v},Jt=h=>`\n precision highp float;\n varying vec2 vUv;\n uniform vec2 uRes, uSun, uMoon, uDrift;\n uniform float uTime, uHz, uCover, uDark, uFog, uStars, uBow, uFlash, uSunVis, uMoonVis, uEvolve, uNight, uGlow, uMoonK, uMoonWax, uMoonLit;\n uniform vec3 uZen, uHor, uSunCol, uLit, uShade, uFogCol, uGlowCol;\n uniform vec4 uShip; // Luftschiff: Mitte (uv), halbe L\\xE4nge (in Bildh\\xF6hen), Richtung (1 = Bug rechts); z = 0: keins\n uniform vec2 uShipB; // Neigung (rad), Lichter (0 \\u2026 1, nachts)\n ${$t}\n // Luftschiff (Anspielung auf die drehbare Luftschiffhalle von 1909 und die Adresse \\u201EAm Alten Flugplatz\\u201C): Rumpf als\n // Zigarre mit schlankerem Heck und Ringspanten, Leitwerk oben und unten, F\\xFChrergondel vorn, Motorgondel hinten.\n // Licht wie die Wolken (uLit/uShade), im Dunst, nachts Silhouette mit warmen Gondelfenstern und rotem Blinklicht.\n float shipR(float x) {\n float prof = sqrt(max(0.0, 1.0 - pow(abs(x), 2.6)));\n return 0.17 * prof * (x < 0.0 ? 0.62 + 0.38 * smoothstep(-1.0, -0.25, x) : 1.0);\n }\n vec4 airship(vec2 uv, float asp, vec3 skyC) {\n vec2 p = (uv - uShip.xy) * vec2(asp, 1.0);\n p.y = -p.y;\n float c = cos(uShipB.x), s = sin(uShipB.x);\n p = vec2(c * p.x - s * p.y, s * p.x + c * p.y);\n p.x *= uShip.w;\n p /= uShip.z;\n if (abs(p.x) > 1.06 || abs(p.y) > 0.34) return vec4(0.0);\n float aa = 1.2 / (uRes.y * uShip.z);\n float R = shipR(p.x);\n float hull = 1.0 - smoothstep(-aa, aa, abs(p.y) - R);\n float finH = 0.11 * (1.0 - smoothstep(-0.86, -0.6, p.x));\n float fin = (1.0 - smoothstep(-aa, aa, abs(p.y) - R - finH)) * step(p.x, -0.58) * step(-0.985, p.x);\n vec2 g1 = p - vec2(0.36, -0.209);\n float gond = 1.0 - smoothstep(-aa, aa, max(abs(g1.x) - 0.12, abs(g1.y) - 0.026) - 0.012);\n vec2 g2 = p - vec2(-0.42, -0.188);\n float mot = 1.0 - smoothstep(-aa, aa, max(abs(g2.x) - 0.05, abs(g2.y) - 0.016) - 0.01);\n float a = max(max(hull, fin), max(gond, mot));\n if (a <= 0.0) return vec4(0.0);\n float ny = clamp(p.y / max(R, 0.002), -1.0, 1.0);\n vec3 n = vec3(0.0, ny, sqrt(max(0.0, 1.0 - ny * ny)));\n vec2 toL = mix(uSun, uMoon, uNight) - uShip.xy;\n vec3 L = normalize(vec3(toL.x * asp, -toL.y, 0.55));\n float dif = clamp(dot(n, L), 0.0, 1.0);\n vec3 hullC = mix(uShade * 0.82, uLit * 1.02, dif) * vec3(0.98, 0.96, 0.92);\n hullC *= 1.0 - 0.07 * smoothstep(0.44, 0.5, abs(fract(p.x * 6.0) - 0.5)); // Ringspanten\n hullC *= 1.0 - 0.18 * smoothstep(0.72, 1.0, abs(p.x)); // Bug und Heck runden sich weg\n hullC += uSunCol * pow(max(ny, 0.0), 10.0) * 0.18 * uSunVis; // Glanz oben\n vec3 col = mix(mix(uShade, uZen, 0.3) * 0.62, hullC, hull);\n col = mix(col, skyC * 0.5, uNight * 0.72); // nachts Silhouette, etwas Mondlicht bleibt auf dem Rumpf\n float win = gond * step(0.4, fract((g1.x + 0.12) * 22.0)) * (1.0 - smoothstep(0.004, 0.011, abs(g1.y - 0.003)));\n col += vec3(1.0, 0.78, 0.45) * win * uShipB.y * 1.4;\n float blink = step(0.82, fract(uTime * 0.9));\n col += vec3(1.0, 0.16, 0.1) * (1.0 - smoothstep(0.012, 0.03, length(p - vec2(0.36, -0.245)))) * blink * uShipB.y * 2.0;\n col = mix(col, skyC, 0.22 + 0.45 * uFog);\n return vec4(col, a);\n }\n // Grobes Rauschen f\\xFCr Verwirbelung und Schichtwolken\n float fbmW(vec2 p) {\n float s = 0.0, a = 0.5;\n mat2 m = mat2(1.6, 1.2, -1.2, 1.6);\n for (int i = 0; i < 4; i++) { s += a * vnoise(p); p = m * p; a *= 0.5; }\n return s;\n }\n // Feines Rauschen f\\xFCr die Wolken selbst: mehr Oktaven f\\xFCr scharfe Details. fw = Fl\\xE4che eines Pixels in\n // Rausch-Einheiten; Oktaven, die feiner als ein Pixel w\\xE4ren, werden ausgeblendet (kein Flimmern am Horizont).\n float fbm(vec2 p, float fw) {\n float s = 0.0, a = 0.5, f = 1.0;\n mat2 m = mat2(1.6, 1.2, -1.2, 1.6);\n for (int i = 0; i < ${h}; i++) { s += a * vnoise(p) * (1.0 - smoothstep(0.22, 0.45, f * fw)) + a * 0.5 * smoothstep(0.22, 0.45, f * fw); p = m * p; a *= 0.5; f *= 2.0; }\n return s;\n }\n vec3 hue(float h) { return clamp(abs(mod(h * 6.0 + vec3(0.0, 4.0, 2.0), 6.0) - 3.0) - 1.0, 0.0, 1.0); }\n\n void main() {\n vec2 uv = vec2(vUv.x, 1.0 - vUv.y);\n float asp = uRes.x / uRes.y;\n float t = clamp(uv.y / uHz, 0.0, 1.0);\n vec3 sky = mix(uZen, uHor, pow(t, 1.45));\n // Abend-/Morgenrot \\xFCber dem Horizont an der Stelle der Sonne\n sky += uGlowCol * uGlow * exp(-abs(uv.x - uSun.x) * 2.2) * pow(t, 3.0) * 0.55;\n vec3 skyBase = sky; // ohne Sterne (f\\xFCr Silhouette und Dunst des Luftschiffs)\n\n // Sterne\n if (uStars > 0.01) {\n vec2 g = gl_FragCoord.xy / 4.5;\n vec2 id = floor(g), f = fract(g) - 0.5;\n float h = hash(id);\n vec2 o = vec2(hash(id + 7.1), hash(id + 3.3)) - 0.5;\n float s = step(0.978, h) * smoothstep(0.36, 0.0, length(f - o * 0.5));\n s *= 0.55 + 0.45 * sin(uTime * (1.3 + h * 4.0) + h * 60.0);\n sky += vec3(0.88, 0.92, 1.0) * s * uStars * (1.0 - t * 0.85) * (0.6 + 0.8 * hash(id + 1.7));\n }\n\n // Sonne und Mond\n vec2 ds = (uv - uSun) * vec2(asp, 1.0);\n float dsun = length(ds);\n vec3 sunGlow = uSunCol * (exp(-dsun * 6.5) * 0.42 + exp(-dsun * 26.0) * 0.55) * uSunVis;\n float sunDisk = smoothstep(0.036, 0.03, dsun) * uSunVis;\n vec2 dm = (uv - uMoon) * vec2(asp, 1.0);\n float dmo = length(dm);\n float moonDisk = smoothstep(0.026, 0.022, dmo);\n // Mondphase: Die Schattengrenze ist eine Ellipse (k = cos 2\\u03C0\\xB7Phase: 1 Neumond \\u2026 -1 Vollmond); zunehmend ist\n // rechts beleuchtet, abnehmend links. Der dunkle Teil bleibt ganz schwach sichtbar (Erdlicht).\n vec2 mp = dm / 0.024;\n float edge = (uMoonWax > 0.5 ? mp.x : -mp.x) - uMoonK * sqrt(max(0.0, 1.0 - mp.y * mp.y));\n float moon = moonDisk * mix(0.05, 1.0, smoothstep(-0.07, 0.07, edge)) * uMoonVis;\n vec3 moonGlow = vec3(0.55, 0.66, 0.9) * exp(-dmo * 12.0) * (0.08 + 0.22 * uMoonLit) * uMoonVis;\n\n // Wolken als Ebene in Perspektive: oben gro\\xDF, zum Horizont hin klein und dicht\n float depth = max(uHz - uv.y, 0.0);\n float pz = 1.0 / (depth + 0.16);\n vec2 cp = vec2((uv.x - 0.5) * asp * pz * 0.55, pz * 0.9) * 3.2 + uDrift;\n float fw = max(1.76 * pz, 2.88 * pz * pz) / uRes.y; // Pixelgr\\xF6\\xDFe in Rausch-Einheiten (quer bzw. in die Tiefe)\n vec2 q = vec2(fbmW(cp * 0.9 + vec2(1.7, 9.2) + uEvolve * 0.07), fbmW(cp * 0.9 + vec2(8.3, 2.8) - uEvolve * 0.05));\n vec2 cq = cp + q * 1.15;\n float n = fbm(cq, fw);\n float thr = mix(0.62, 0.3, uCover);\n float dens = smoothstep(thr, thr + mix(0.11, 0.26, uCover), n);\n vec2 toL = mix(uSun, uMoon, uNight) - uv;\n vec2 ld = toL / (length(toL) + 0.0001);\n float n2 = fbm(cq + ld * 0.12, fw);\n float litK = clamp(0.58 + (n - n2) * 4.2, 0.0, 1.0);\n vec3 ccol = mix(uShade, uLit, litK);\n ccol += uSunCol * exp(-dsun * 4.5) * (1.0 - dens) * 1.3 * uSunVis; // Silberrand\n float strat = smoothstep(0.56, 0.96, uCover) * (0.72 + 0.28 * fbmW(cp * 0.35 + uEvolve * 0.02));\n float cloudA = max(dens * 0.96, strat);\n vec3 cloudCol = mix(ccol, uShade * (0.9 + 0.14 * n), smoothstep(0.55, 1.0, uCover) * (1.0 - dens * 0.45));\n cloudA *= smoothstep(-0.02, 0.06, depth);\n\n vec3 col = sky + sunGlow * (1.0 - cloudA * 0.8) + uSunCol * sunDisk * 2.2 * (1.0 - cloudA) + (vec3(0.94, 0.95, 1.0) * moon + moonGlow) * (1.0 - cloudA * 0.9);\n // Luftschiff zwischen Himmel und Wolken: dicke Wolken verdecken es, durch d\\xFCnne schimmert es (danach ein Rest)\n vec4 ship = uShip.z > 0.0 ? airship(uv, asp, skyBase) : vec4(0.0);\n col = mix(col, ship.rgb, ship.a);\n col = mix(col, cloudCol, cloudA);\n col = mix(col, ship.rgb, ship.a * cloudA * 0.22);\n\n // Regenbogen gegen\\xFCber der Sonne\n if (uBow > 0.01) {\n vec2 bc = vec2(1.0 - uSun.x, uHz + 0.28);\n float r = length((uv - bc) * vec2(asp, 1.0));\n float x = (r - 0.66) / 0.055;\n float band = max(0.0, 1.0 - x * x);\n col += hue((1.0 - (x + 1.0) * 0.5) * 0.78) * band * uBow * 0.3 * (1.0 - cloudA * 0.7) * smoothstep(0.0, 0.12, depth);\n }\n\n col = mix(col, uFogCol, uFog * (0.25 + 0.75 * t) * 0.85);\n col += vec3(0.75, 0.8, 1.0) * uFlash * (0.3 + cloudA * 0.9);\n gl_FragColor = vec4(col, 1.0);\n }`,te=`\n precision highp float;\n varying vec2 vUv;\n uniform sampler2D uImg, uIds, uIds2, uWin, uMask, uSnow;\n uniform vec2 uTex;\n uniform float uDeep;\n uniform vec3 uAmb, uFogCol;\n uniform float uSat, uNight, uDay, uOver, uWet, uFog, uFlash, uLampDay, uSnowCover, uManual;\n uniform vec4 uSeason;\n uniform vec4 uLamps[${X0.length}];\n uniform vec3 uWall[${et.length}];\n ${$t}\n vec3 rgb2hsv(vec3 c) {\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));\n vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));\n float d = q.x - min(q.w, q.y);\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + 1e-10)), d / (q.x + 1e-10), q.x);\n }\n vec3 hsv2rgb(vec3 c) {\n vec3 p = abs(fract(c.xxx + vec3(1.0, 2.0 / 3.0, 1.0 / 3.0)) * 6.0 - 3.0);\n return c.z * mix(vec3(1.0), clamp(p - 1.0, 0.0, 1.0), c.y);\n }\n // Schneedecke, die das Licht des Originals beh\\xE4lt: in der Sonne wei\\xDF, im Schatten bl\\xE4ulich\n vec3 snowLit(float Lb, float L) {\n float sun = smoothstep(0.1, 0.42, Lb);\n return mix(vec3(0.64, 0.71, 0.85), vec3(0.97, 0.985, 1.0), sun) * clamp(0.95 + (L - Lb) * 0.35, 0.85, 1.05);\n }\n void main() {\n vec2 uv = vec2(vUv.x, 1.0 - vUv.y);\n vec4 tx = texture2D(uImg, uv);\n vec4 sn = texture2D(uSnow, uv); // Schneepolster: R Deckung, G Schatten, B H\\xF6he\n float sA = sn.r * uSnowCover;\n if (tx.a < 0.004 && sA < 0.004) { gl_FragColor = vec4(0.0); return; }\n vec3 c = tx.rgb;\n float L = dot(c, vec3(0.2126, 0.7152, 0.0722));\n vec3 hsv = rgb2hsv(c);\n vec2 ar = vec2(uTex.x / uTex.y, 1.0);\n\n // Gegl\\xE4ttete Masken (einmal beim Laden berechnet): R Pflanzen, G ganze Baumkronen, A weiche Helligkeit\n vec4 mk = texture2D(uMask, uv);\n float veg = max(mk.r, mk.g * (1.0 - smoothstep(0.12, 0.3, L))); // dunkle Schatten in den Kronen geh\\xF6ren dazu\n float Lb = mk.a;\n float lawnF = smoothstep(0.745, 0.785, uv.y); // unten: Rasen statt B\\xE4ume\n float hedge = smoothstep(0.722, 0.742, uv.y) * (1.0 - lawnF); // Hecken und Str\\xE4ucher am Stra\\xDFenrand\n float ground = (1.0 - veg) * smoothstep(0.76, 0.8, uv.y);\n // Streifen zwischen Hecke und Stra\\xDFe (Gehweg, Weg durch die Hecke) \\u2013 ohne Ziegelsockel und ohne das Auto links\n float strip = smoothstep(0.735, 0.765, uv.y) * (1.0 - mk.r) * (1.0 - smoothstep(0.03, 0.08, c.r - c.b)) * step(0.07, uv.x);\n ground = max(ground, strip);\n\n // Sommer: sattes Gr\\xFCn\n vec3 summer = hsv2rgb(vec3(hsv.x, min(0.95, hsv.y * 1.1), hsv.z));\n // Fr\\xFChling: frisches Hellgr\\xFCn, einzelne Kronen bl\\xFChen rosa-wei\\xDF\n vec3 spring = hsv2rgb(vec3(mix(hsv.x, 0.23, 0.35), min(0.9, hsv.y * 1.08), min(1.0, hsv.z * 1.06)));\n float bloom = smoothstep(0.52, 0.74, vnoise(uv * vec2(8.0, 3.6) + 7.3)) * (1.0 - lawnF) * smoothstep(-0.02, 0.08, L - Lb);\n spring = mix(spring, mix(vec3(1.0, 0.76, 0.86), vec3(1.0, 0.95, 0.97), smoothstep(0.25, 0.7, L)) * (0.62 + 0.55 * L), bloom * 0.8);\n // Herbst: nur der Farbton wechselt, Helligkeit und Blattstruktur bleiben; ganze Kronen f\\xE4rben sich \\xE4hnlich\n float tone = clamp(vnoise(uv * vec2(6.5, 3.0) + 3.1) * 1.3 - 0.2 + (L - Lb) * 2.0, 0.0, 1.0);\n vec3 fall = hsv2rgb(vec3(mix(0.012, 0.12, tone), clamp(hsv.y * 0.75 + 0.5, 0.0, 0.92), min(1.0, hsv.z * 1.16 + 0.015)));\n vec3 lawnFall = hsv2rgb(vec3(mix(hsv.x, 0.13, 0.5), hsv.y * 0.8, hsv.z * 1.02));\n vec3 autumn = mix(fall, lawnFall, lawnF);\n // Winter: Kronen k\\xFChl und ents\\xE4ttigt mit einem Hauch Raureif, der Rasen stumpf und br\\xE4unlich\n vec3 treeW = mix(vec3(L) * vec3(0.84, 0.88, 0.96), vec3(0.8, 0.85, 0.92), 0.16 * smoothstep(0.04, 0.25, L));\n vec3 lawnW = hsv2rgb(vec3(mix(hsv.x, 0.13, 0.45), hsv.y * 0.45, hsv.z * 0.92));\n vec3 winter = mix(treeW, lawnW, lawnF);\n\n vec3 seasonal = spring * uSeason.x + summer * uSeason.y + autumn * uSeason.z + winter * uSeason.w;\n vec3 col = mix(c, seasonal, veg);\n\n // Schnee (im Zeitraffer im Winter, live nur bei echtem Schnee): Hecken und Rasen tragen Schnee, Wege, Stra\\xDFe und\n // Gehsteige liegen unter einer geschlossenen Schneedecke (Bordsteine und Schatten bleiben sichtbar)\n col = mix(col, snowLit(Lb, L), uSnowCover * veg * max(lawnF, hedge * 0.82));\n col = mix(col, snowLit(Lb, L), uSnowCover * ground * 0.92);\n\n // Schneepolster auf D\\xE4chern, Br\\xFCstungen, Mauern und Laternen \\u2013 mit leichter Schattierung f\\xFCr Volumen;\n // \\xFCber dem Dachumriss (im Himmel) besteht der Pixel nur aus Schnee\n col *= 1.0 - sn.g * 0.5 * uSnowCover;\n vec3 snowC = mix(vec3(0.74, 0.8, 0.9), vec3(0.97, 0.985, 1.0), smoothstep(0.05, 0.8, sn.b));\n col = mix(col, snowC, tx.a < 0.5 ? 1.0 : sA);\n\n // N\\xE4sse nach Regen: dunkler, satter Boden\n col = mix(col, col * 0.68, uWet * max(ground, veg * lawnF) * 0.8);\n\n // Tags\\xFCber: die im Rendering leuchtenden Laternen ausschalten\n float lampMask = 0.0;\n for (int i = 0; i < ${X0.length}; i++) {\n vec4 lp = uLamps[i];\n float d = length((uv - lp.xy) * ar) / lp.z;\n lampMask = max(lampMask, smoothstep(1.9, 0.6, d));\n }\n col = mix(col, vec3(0.6, 0.62, 0.66) * (0.55 + 0.35 * L), lampMask * smoothstep(0.5, 0.85, L) * uLampDay);\n\n // Grundlicht\n vec3 lit = col * uAmb;\n float Lg = dot(lit, vec3(0.2126, 0.7152, 0.0722));\n lit = mix(vec3(Lg), lit, uSat);\n\n // Kunstlicht (bei D\\xE4mmerung und Nacht; am Tag nur Fenster, die jemand per Fingertipp eingeschaltet hat)\n if (uNight > 0.005 || uManual > 0.5) {\n // Fenster: weiches Zimmerlicht statt harter Fl\\xE4chen. Die F\\xFCllung hat weiche Kanten, rundherum liegt ein\n // warmer Schein auf Rahmen, Laibung und Wand; im Zimmer macht eine Lampe einen helleren Bereich\n vec4 w1 = texture2D(uIds, uv), w2 = texture2D(uIds2, uv);\n float id1 = floor(w1.r * 255.0 + 0.5), id2 = floor(w2.r * 255.0 + 0.5);\n float inWin = 0.0;\n if (id1 > 0.5) {\n vec4 d1 = texture2D(uWin, vec2((id1 + 0.5) / 64.0, 0.25));\n if (d1.a > 0.003) {\n vec4 s1 = texture2D(uWin, vec2((id1 + 0.5) / 64.0, 0.75));\n // Pflanzen vor dem Fenster (K\\xFCbel auf Balkon und Loggia) im Gegenlicht. Fr\\xFCher schnitt die weich gegl\\xE4ttete\n // Pflanzenmaske eine Fl\\xE4che aus dem Licht: nachts blieb statt der Pflanze ein schwarzer Klecks in Form der\n // Maske (User, 29.09.: \\u201Elicht aus vs licht an\\u201C). Jetzt dunkeln nur die Bl\\xE4tter selbst ab (Blatt-Pixel im\n // Rendering: gr\\xFCnlicher Ton, Glas dahinter ist bl\\xE4ulich), L\\xFCcken lassen das Zimmerlicht durch, und das Licht\n // beleuchtet das Laub von hinten (siehe \\u201ELaub im Gegenlicht\\u201C unten)\n float leafPx = smoothstep(0.07, 0.16, hsv.y) * smoothstep(0.16, 0.23, hsv.x) * (1.0 - smoothstep(0.46, 0.53, hsv.x));\n float plant = step(0.5, s1.r) * smoothstep(0.12, 0.4, mk.r) * leafPx;\n float occ = 1.0 - plant * 0.6; // Laub nimmt gut die H\\xE4lfte des Lichts, der Rest scheint durch\n vec2 q = (vec2(w2.a, w1.a) - s1.gb) * vec2(1.9, 2.4);\n // Grundhelligkeit h\\xF6her als vorher (0,52): Die Ecken der Scheibe fallen zur Lampe hin weniger ab\n float b = 0.64 + 0.22 * (1.0 - w1.a) + 0.4 * exp(-dot(q, q));\n b *= 0.9 + 0.22 * smoothstep(0.5, 0.85, L); // helle Vorh\\xE4nge leuchten mit\n b *= mix(1.0, 0.72 + 0.4 * smoothstep(0.12, 0.45, L), s1.a); // Loggien: Scheiben heller als Laibung\n // In der D\\xE4mmerung spiegelt das Glas noch den Himmel, erst nachts wirkt das Zimmerlicht voll\n inWin = w1.g * d1.a * occ * mix(0.5, 0.95, uDeep) * mix(1.35, 1.0, uNight); // am Tag (nur per Fingertipp) kr\\xE4ftiger, sonst s\\xE4he man es kaum\n lit = mix(lit, d1.rgb * b * 1.12, inWin);\n lit += d1.rgb * (w1.b * d1.a * occ) * 0.4 * (1.0 - inWin);\n // Laub im Gegenlicht: vom Zimmer durchleuchtet (warm-gr\\xFCnlich), Struktur aus dem Rendering (helle Bl\\xE4tter mehr)\n float pl = plant * w1.g * d1.a * mix(0.5, 0.95, uDeep);\n vec3 leaf = col * uAmb * 1.2 + d1.rgb * b * vec3(0.5, 0.58, 0.34) * (0.35 + 1.2 * L);\n lit = mix(lit, leaf, pl * 0.55);\n }\n }\n if (id2 > 0.5) {\n vec4 d2 = texture2D(uWin, vec2((id2 + 0.5) / 64.0, 0.25));\n lit += d2.rgb * (w2.b * d2.a) * 0.4 * (1.0 - inWin);\n }\n\n vec3 light = vec3(0.0), glow = vec3(0.0);\n for (int i = 0; i < ${X0.length}; i++) {\n vec4 lp = uLamps[i];\n if (lp.w < 0.005) continue;\n vec2 d = (uv - lp.xy) * ar;\n float r = length(d) / lp.z;\n glow += vec3(1.0, 0.78, 0.5) * lp.w * (1.3 / (1.0 + r * r * 1.6) + 0.12 / (1.0 + r * 0.35));\n // Lichtkegel am Boden unter der Laterne\n vec2 pd = vec2(d.x / (lp.z * 9.0), (d.y - lp.z * 12.5) / (lp.z * 5.0));\n light += vec3(1.0, 0.74, 0.45) * lp.w * exp(-dot(pd, pd)) * 1.4;\n }\n for (int i = 0; i < ${et.length}; i++) {\n vec3 wl = uWall[i];\n if (wl.z < 0.005) continue;\n vec2 d = (uv - wl.xy) * ar;\n float r = length(d) * 260.0;\n glow += vec3(1.0, 0.8, 0.55) * wl.z * (0.9 / (1.0 + r * r * 1.4));\n // schmaler Lichtf\\xE4cher nach oben und unten an der Wand (q * q statt pow: pow mit negativer Basis ist in\n // GLSL undefiniert und kann auf manchen GPUs NaN = schwarze Pixel liefern)\n float q = d.x * 150.0;\n light += vec3(1.0, 0.76, 0.5) * wl.z * exp(-q * q) * exp(-abs(d.y) * 26.0) * 0.9;\n }\n lit += col * light + glow;\n }\n\n lit = mix(lit, uFogCol, uFog * 0.5);\n lit += col * uFlash * 0.55;\n float outA = max(tx.a, sA);\n gl_FragColor = vec4(lit * outA, outA);\n }`;function ee(){const h=y=>Math.min(1,Math.max(0,y)),u=(y,m,k)=>{const g=h((k-y)/(m-y));return g*g*(3-2*g)};function p(y,m,k,g){const w=new Uint8Array(y*m*4),D=new Uint8Array(y*m*4),L=new Float32Array(y*m),_=new Float32Array(y*m),r0=y/2250,H=Math.max(1,Math.round(3*r0)),J=Math.max(3,Math.round(11*r0)),S=[];k.forEach((s,f0)=>{const V=s[0]*y,b=s[1]*m,R=s[2]*y,f=s[3]*m,T=s[4]*m,M=s[5].map(F=>[F[0]*y,F[1]*y]);S.push({id:f0+1,x0:V,x1:R,ymin:b,ymax:Math.max(f,T),top:()=>b,bot:F=>f+(T-f)*F,gap:F=>M.some(j=>F>=j[0]&&F<=j[1])})}),g.forEach((s,f0)=>{S.push({id:k.length+f0+1,x0:s[0]*y,x1:s[1]*y,ymin:Math.min(s[2],s[3])*m,ymax:Math.max(s[4],s[5])*m,top:V=>(s[2]+(s[3]-s[2])*V)*m,bot:V=>(s[4]+(s[5]-s[4])*V)*m,gap:()=>!1})});for(const s of S){const f0=J*3+2,V=Math.max(0,Math.floor(s.x0)-f0),b=Math.min(y,Math.ceil(s.x1)+f0),R=Math.max(0,Math.floor(s.ymin)-f0),f=Math.min(m,Math.ceil(s.ymax)+f0),T=b-V,M=f-R,F=Math.max(1,s.x1-s.x0);if(T<=0||M<=0)continue;const j=new Float32Array(T*M),G=4;for(let Y=Math.max(V,Math.floor(s.x0));Ys.x1||s.gap(Z))continue;const y0=(Z-s.x0)/F,K=s.top(y0),t0=s.bot(y0);for(let h0=Math.max(R,Math.floor(K));h00&&(j[(h0-R)*T+(Y-V)]+=p0/G)}}const n0=I(j,T,M,1),o0=I(I(j,T,M,H),T,M,H);for(let Y=0;Yn0[Y]&&(n0[Y]=o0[Y]);const m0=I(I(I(j,T,M,J),T,M,J),T,M,J);for(let Y=0;YL[R0]?(L[R0]>0&&(_[R0]=L[R0],D[v0]=w[v0],D[v0+2]=w[v0+2]),L[R0]=t0,w[v0]=s.id,w[v0+1]=Math.round(y0*255),w[v0+2]=Math.round(K*255),w[v0+3]=Math.round(P0*255),D[v0+3]=Math.round(nt*255)):t0>_[R0]&&(_[R0]=t0,D[v0]=s.id,D[v0+2]=Math.round(K*255))}}return{t1:w,t2:D}}function v(y){const{w:m,h:k,data:g}=y,w=[];for(let D=Math.floor(k*.6);D120&&w.push([L/m,D/k]);for(let D=w.length-1;D>0;D--){const L=Math.floor(Math.random()*(D+1));[w[D],w[L]]=[w[L],w[D]]}return w.slice(0,900)}function C(y,m,k){const g=m*k,w=new Float32Array(g),D=new Float32Array(g),L=new Float32Array(g);for(let f=0;f1e-5&&(o0=G===T?(M-F)/n0%6:G===M?(F-T)/n0+2:(T-M)/n0+4,o0/=6,o0<0&&(o0+=1)),L[f]=j,D[f]=(.2126*T+.7152*M+.0722*F)*j;const m0=Math.max(u(.012,.05,n0),u(.16,.32,n0/Math.max(G,1e-4))*u(.015,.05,G));w[f]=j>.5?u(.14,.2,o0)*(1-u(.47,.53,o0))*m0:0}const _=I(w,m,k,2),r0=I(D,m,k,5),H=I(L,m,k,5),J=r0.map((f,T)=>f/Math.max(H[T],.05)),S=I(w,m,k,3),s=I(L,m,k,3),f0=I(w,m,k,6),V=I(L,m,k,6),b=f0.map((f,T)=>u(.2,.45,f/Math.max(V[T],.05))*(L[T]>.5?1:0)),R=new Uint8Array(g*4);for(let f=0;f.84+.1*Math.sin(b*.09/D)+.06*Math.sin(b*.031/D+1.7),_=(b,R,f,T,M,F)=>{ff)continue;const Y=R+(T-R)*(m0-b)/j,s0=Math.min(1,Math.min(m0-b,f-m0)/G),Z=Math.sqrt(Math.max(0,1-(1-s0)*(1-s0))),y0=Y-M*L(o0)*Z,K=Y+F;for(let t0=Math.max(0,Math.floor(y0));t0<=Math.min(k-1,Math.floor(K));t0++){const h0=Math.max(0,Math.min(t0+1,K)-Math.max(t0,y0));if(h0<=0)continue;const p0=(t0*m+o0)*4,R0=Math.round(h0*255);R0>w[p0]&&(w[p0]=R0,w[p0+2]=Math.round(h((K-(t0+.5))/Math.max(1,K-y0))*255))}for(let t0=0;t0=k)break;const p0=(h0*m+o0)*4+1;w[p0]=Math.max(w[p0],Math.round(110*(1-t0/n0)*Z))}}},r0=1.7;for(const[b,R,f,T,M]of g)_(b*m,R*k,f*m,T*k,M*k*r0,Math.max(1,1.2*D));const H=b=>{const R=y[b],f=y[b+1],T=y[b+2],M=Math.max(R,f,T),F=M-Math.min(R,f,T);return f>=R&&f>=T&&F>12&&F/Math.max(1,M)>.12},J=Array.from({length:m},()=>[]);for(let b=0;b=128&&y[f-m*4+3]<128){let T=0;for(let M=1;M<=3;M++)H(f+M*m*4)&&T++;T<2&&J[b].push(R)}}const S=[],s=[];for(let b=0;b1e-9?(R*F-f*T)/j:0,n0=(T-G*f)/R;let o0=0;for(const[s0,Z]of b.pts)o0+=Math.abs(Z-(G*s0+n0));if(o0/R>.9||Math.abs(G)>.8)continue;const m0=b.pts[0][0],Y=b.pts[R-1][0]+1;_(m0,G*m0+n0,Y,G*Y+n0,V,Math.max(1,1.5*D))}return w}function I(y,m,k,g){const w=new Float32Array(m*k),D=new Float32Array(m*k),L=1/(2*g+1);for(let _=0;_ {\n const m = e.data;\n try {\n const { DW, DH } = m, mw = Math.max(2, Math.round(DW / 2)), mh = Math.max(2, Math.round(DH / 2));\n let img = null, half = m.half, full = m.full;\n if (m.mode === 'full') {\n const bmp = m.bmp;\n const cv = (w, h) => { const c = new OffscreenCanvas(w, h), x = c.getContext('2d', { willReadFrequently: true }); if (!x) throw new Error('kein 2D im Worker'); return [c, x]; };\n const scaled = (w, h) => { const [c, x] = cv(w, h); x.imageSmoothingEnabled = true; x.imageSmoothingQuality = 'low'; x.drawImage(bmp, 0, 0, w, h); return [c, x]; };\n const [sc, sx] = scaled(m.W, m.H);\n img = sx.getImageData(0, 0, m.W, m.H).data;\n const sd = DW === m.W && DH === m.H ? sc : scaled(DW, DH)[0];\n bmp.close();\n const [, hx] = cv(mw, mh);\n hx.imageSmoothingQuality = 'high'; // wie buildMask: Canvas -> halbe Gr\\xF6\\xDFe\n hx.drawImage(sd, 0, 0, mw, mh);\n half = hx.getImageData(0, 0, mw, mh).data.buffer;\n const [, fx] = cv(DW, DH);\n fx.drawImage(sd, 0, 0); // wie snowData\n full = fx.getImageData(0, 0, DW, DH).data.buffer;\n }\n const ids = K.windowSoft(DW, DH, m.FRONT, m.SIDE);\n const mask = K.maskFromPixels(new Uint8ClampedArray(half), mw, mh);\n const snow = K.snowFromPixels(new Uint8ClampedArray(full), DW, DH, m.SNOW);\n const spots = K.spotsFrom(mask);\n const out = { img: img && img.buffer, t1: ids.t1.buffer, t2: ids.t2.buffer, mw: mask.w, mh: mask.h, mask: mask.data.buffer, snow: snow.buffer, spots };\n self.postMessage(out, [out.t1, out.t2, out.mask, out.snow].concat(img ? [out.img] : []));\n } catch (err) { self.postMessage({ err: String((err && err.message) || err) }); }\n };`,$e=()=>typeof Worker<\"u\"&&typeof Blob<\"u\",Qe=!!(navigator.userAgentData&&navigator.userAgentData.brands&&navigator.userAgentData.brands.some(h=>/Chromium/.test(h.brand))),Je=()=>Qe&&typeof OffscreenCanvas<\"u\"&&typeof createImageBitmap<\"u\";function tn({hero:h,img:u,reduced:p=!1,mobile:v=!1,mode:C=\"zeitraffer\",onChange:U,onFlash:I}={}){if(!h||!u)return null;const y=h.querySelector(\".hero__sky .hero__m\"),m=h.querySelector(\".hero__build .hero__m\"),k=h.querySelector(\".hero__wx\");if(!y||!m||!k)return null;const g=V0;V0=null;const w=g&&g.skyCv||document.createElement(\"canvas\");w.className=\"sky__gl\";const D=document.createElement(\"canvas\");D.className=\"sky__birds\";const L=g&&g.buildCv||document.createElement(\"canvas\");L.className=\"build__gl\";const _=document.createElement(\"canvas\");_.className=\"wx__cv\",[w,D,L,_].forEach(e=>e.setAttribute(\"aria-hidden\",\"true\"));let r0,H;try{r0=Qt(g&&g.S||lt(w,Jt(7),!1)),H=Qt(g&&g.B||lt(L,te,!0))}catch(e){return console.warn(\"[KL sky]\",e),null}if(!r0||!H)return null;y.appendChild(w),y.appendChild(D),m.appendChild(L),k.appendChild(_);const J=D.getContext(\"2d\"),S=_.getContext(\"2d\"),s=H.gl,f0=Y0(s,0,s.LINEAR),V=Y0(s,1,s.NEAREST),b=Y0(s,2,s.NEAREST),R=Y0(s,3,s.LINEAR),f=Y0(s,4,s.NEAREST),T=Y0(s,5,s.LINEAR),M=new Uint8Array(512);for(let e=0;e=D0.length;M[t]=(n?B0[e-D0.length][6]:D0[e][6])?255:0,M[t+1]=Math.round((.18+E0(e+91)*.64)*255),M[t+2]=Math.round((.2+E0(e+101)*.45)*255),M[t+3]=n?255:0}s.activeTexture(s.TEXTURE2),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,64,2,0,s.RGBA,s.UNSIGNED_BYTE,M),s.uniform1i(H.u(\"uImg\"),0),s.uniform1i(H.u(\"uIds\"),1),s.uniform1i(H.u(\"uWin\"),2),s.uniform1i(H.u(\"uMask\"),3),s.uniform1i(H.u(\"uIds2\"),4),s.uniform1i(H.u(\"uSnow\"),5);let F=0,j=0,G=!1,n0;const o0=new Promise(e=>{n0=e});u.addEventListener(\"error\",()=>n0(),{once:!0});let m0=\"\";const Y=(e,t)=>{const n=document.createElement(\"canvas\");n.width=e,n.height=t;const i=n.getContext(\"2d\",{willReadFrequently:!0});return i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=\"high\",i.drawImage(u,0,0,e,t),n};function s0(e,t){if(!u.complete||!u.naturalWidth)return!1;const n=Y(e,t),i=Math.min(ne,window.devicePixelRatio||1),l=Math.max(2,Math.round(L.offsetWidth*i)),o=Math.max(2,Math.round(L.offsetHeight*i));let r=null;const c=()=>{n.width=n.height=0,r&&(r.width=r.height=0)};try{if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,f0),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,n),m0!==l+\"x\"+o){r=l===e&&o===t?n:Y(l,o);const a=R0(l,o);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,V),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,l,o,0,s.RGBA,s.UNSIGNED_BYTE,a.t1),s.activeTexture(s.TEXTURE4),s.bindTexture(s.TEXTURE_2D,f),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,l,o,0,s.RGBA,s.UNSIGNED_BYTE,a.t2);const x=ht(r,l,o);v0=nt(x),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,R),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,x.w,x.h,0,s.RGBA,s.UNSIGNED_BYTE,x.data),s.activeTexture(s.TEXTURE5),s.bindTexture(s.TEXTURE_2D,T),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,l,o,0,s.RGBA,s.UNSIGNED_BYTE,yt(r,l,o)),m0=l+\"x\"+o}}catch(a){return console.warn(\"[KL sky] texture\",a),c(),!1}return c(),F=e,j=t,!0}let Z=null,y0=!1;const K=(e,t)=>{const n=document.createElement(\"canvas\");return n.width=e,n.height=t,[n,n.getContext(\"2d\",{willReadFrequently:!0})]},t0=e=>{const t=new MessageChannel;t.port1.onmessage=()=>e(),t.port2.postMessage(0)};function h0(e,t){let n=0,i=0;const l=()=>{if(s.isContextLost())return;const o=performance.now();try{for(;n=r.h&&(n++,i=0)}}catch(r){t(r);return}n{Z===r&&(clearTimeout(r.t),o.terminate(),E&&console.warn(\"[KL sky] worker\",E),Z=null,y0=!0,F=0,N0(),C0=!0)};r.t=setTimeout(()=>c(\"Zeit\\xFCberschreitung\"),12e3),o.onerror=E=>{E.preventDefault&&E.preventDefault(),c(E.message||\"Fehler\")};let a=null,x=null;const A=()=>{o.postMessage(x[0],x[1]),a&&O()};if(Je())createImageBitmap(u).then(E=>{if(Z!==r){E.close();return}x=[{mode:\"full\",bmp:E,W:e,H:t,DW:i,DH:l,FRONT:D0,SIDE:B0,SNOW:vt},[E]],A()},E=>c(String(E)));else{const E=Math.max(2,Math.round(i/2)),X=Math.max(2,Math.round(l/2));try{const i0=Y(e,t);a=i0.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,e,t).data;const l0=i===e&&l===t?i0:Y(i,l),[c0,P]=K(E,X);P.imageSmoothingQuality=\"high\",P.drawImage(l0,0,0,E,X);const Q=P.getImageData(0,0,E,X).data,[g0,x0]=K(i,l);x0.drawImage(l0,0,0);const w0=x0.getImageData(0,0,i,l).data;[i0,l0,c0,g0].forEach(e0=>{e0.width=e0.height=0}),x=[{mode:\"px\",DW:i,DH:l,FRONT:D0,SIDE:B0,SNOW:vt,half:Q.buffer,full:w0.buffer},[Q.buffer,w0.buffer]]}catch(i0){return c(String(i0)),!0}}const O=()=>h0([{unit:0,tex:f0,w:e,h:t,data:a}],E=>{if(E){c(String(E));return}r.imgDone=!0,W()}),W=()=>{if(Z!==r||!r.imgDone||!r.data)return;const E=r.data;h0([{unit:1,tex:V,w:i,h:l,data:new Uint8Array(E.t1)},{unit:4,tex:f,w:i,h:l,data:new Uint8Array(E.t2)},{unit:3,tex:R,w:E.mw,h:E.mh,data:new Uint8Array(E.mask)},{unit:5,tex:T,w:i,h:l,data:new Uint8Array(E.snow)}],X=>{if(Z===r){if(X){c(String(X));return}Z=null,v0=E.spots,m0=i+\"x\"+l,F=r.stale?0:e,j=t,G=!0,N0(),n0(),C0=!0}})};return o.onmessage=E=>{if(clearTimeout(r.t),o.terminate(),Z===r){if(E.data.err){c(E.data.err);return}r.data=E.data,E.data.img?(a=new Uint8Array(E.data.img),O()):W()}},x&&A(),!0}const R0=(e,t)=>ct.windowSoft(e,t,D0,B0);let v0=[];const nt=ct.spotsFrom;function ht(e,t,n){const i=Math.max(2,Math.round(t/2)),l=Math.max(2,Math.round(n/2)),o=document.createElement(\"canvas\");o.width=i,o.height=l;const r=o.getContext(\"2d\",{willReadFrequently:!0});r.imageSmoothingQuality=\"high\",r.drawImage(e,0,0,i,l);const c=r.getImageData(0,0,i,l).data;return o.width=o.height=0,ct.maskFromPixels(c,i,l)}function yt(e,t,n){const i=document.createElement(\"canvas\");i.width=t,i.height=n;const l=i.getContext(\"2d\",{willReadFrequently:!0});l.drawImage(e,0,0);const o=l.getImageData(0,0,t,n).data;return i.width=i.height=0,ct.snowFromPixels(o,t,n,vt)}const P0=[{dpr:2,sky:.7},{dpr:1.5,sky:.6},{dpr:1,sky:.5}],ne=v?1.25:1.5;let I0=0,bt=!1;const en=()=>Math.min(window.devicePixelRatio||1,P0[I0].dpr);let kt=P0[0].sky,U0=0,Z0=0,_0=0,G0=0,St=0,Tt=0,j0=0,$0=0,d0=0,u0=0;function N0(){const e=en();j0=w.offsetWidth,$0=w.offsetHeight,U0=Math.max(2,Math.round(j0*e*kt)),Z0=Math.max(2,Math.round($0*e*kt)),(w.width!==U0||w.height!==Z0)&&(w.width=U0,w.height=Z0);const t=Math.round(j0*e),n=Math.round($0*e);(D.width!==t||D.height!==n)&&(D.width=t,D.height=n),_0=Math.max(2,Math.round(L.offsetWidth*e)),G0=Math.max(2,Math.round(L.offsetHeight*e)),(L.width!==_0||L.height!==G0)&&(L.width=_0,L.height=G0),d0=_.offsetWidth,u0=_.offsetHeight,ot.x=w.offsetLeft,ot.y=w.offsetTop,St=Math.max(2,Math.round(d0*e)),Tt=Math.max(2,Math.round(u0*e)),(_.width!==St||_.height!==Tt)&&(_.width=St,_.height=Tt),(_0!==F||G0!==j)&&(!G&&p0(_0,G0)||(G=s0(_0,G0)||G)),G&&n0()}const N=Ne({season:1,hour:18.3});let W0=C===\"zeitraffer\",oe=0,ae=0,re=0,se=\"\";function ie(e){const t=N.live;if(!t||!e&&performance.now(){const n=E0(t+61);return{thr:.12+E0(t+1)*.78,off:22.2+E0(t+11)*3.8,morning:E0(t+21)<.42?5+E0(t+31)*2.4:99,owl:E0(t+41)<.08,tv:E0(t+51)<.07,col:n<.62?[1,.76,.48]:n<.9?[1,.87,.7]:[.84,.9,1],dim:.74+E0(t+81)*.3,lv:0,autoOn:!1,man:null,manAuto:!1}}),Dt=X0.map(()=>0),At=et.map(()=>0),he=new Float32Array(X0.length*4),ue=new Float32Array(et.length*3);function fe(e,t){const n=M0(B(.1,-.08,z.e)+z.wx.dark*z.day*.35),i=N.hour,l=i<12?i+24:i;Lt=!1,ft.forEach((o,r)=>{let c;o.owl||lo.thr:c=i<12&&i>=o.morning&&n>.35,o.autoOn=c,o.man!=null&&(c!==o.manAuto?o.man=null:c=o.man===1),o.man===1&&(Lt=!0);const a=c?1:0;o.lv+=(a-o.lv)*Math.min(1,(a>o.lv?.3:.1)*t);let x=o.lv,A=o.col,O=o.dim;if(a===1&&o.lv<.92&&o.man==null&&(x*=E0(Math.floor(A0*24)+r*7)>.35?1:.25),o.tv){const W=.5+.5*Math.sin(A0*7+r)*Math.sin(A0*13.3+r*2);A=q([.55,.7,1],[.9,.9,1],W),O*=.6+.4*W}M[(r+1)*4]=Math.round(M0(A[0]*O)*255),M[(r+1)*4+1]=Math.round(M0(A[1]*O)*255),M[(r+1)*4+2]=Math.round(M0(A[2]*O)*255),M[(r+1)*4+3]=Math.round(M0(x)*255)}),X0.forEach((o,r)=>{const c=n>.28+r*.035?1:0;Dt[r]+=(c-Dt[r])*Math.min(1,.12*t);let a=Dt[r];c&&a<.9&&(a*=E0(Math.floor(A0*18)+r*13)>.4?1:.15),he.set([o[0],o[1],o[2],a],r*4)}),et.forEach((o,r)=>{const c=n>.4+E0(r+71)*.25?1:0;At[r]+=(c-At[r])*Math.min(1,.1*t),ue.set([o[0],o[1],At[r]],r*3)})}const nn={rund:[[.3,0],[.36,.28],[.32,.5],[.18,.78],[.02,.95],[-.14,1],[-.3,.93],[-.42,.75],[-.45,.5],[-.4,.25],[-.34,0]],spitz:[[.3,0],[.38,.3],[.35,.48],[.12,.8],[-.1,1],[-.26,.86],[-.4,.62],[-.42,.35],[-.34,0]],finger:[[.3,0],[.36,.3],[.33,.5],[.22,.72],[.14,.84],[.08,1],[0,.86],[-.08,.99],[-.15,.85],[-.23,.96],[-.29,.83],[-.37,.9],[-.42,.76],[-.48,.55],[-.44,.3],[-.36,0]],sichel:[[.25,0],[.35,.25],[.3,.45],[.06,.72],[-.26,.93],[-.46,1],[-.36,.88],[-.28,.62],[-.28,.3],[-.25,0]]},on={kurz:[[-.4,.07],[-.72,.1],[-.76,0],[-.72,-.1],[-.4,-.07]],faecher:[[-.4,.08],[-.85,.2],[-.95,.12],[-.98,0],[-.95,-.12],[-.85,-.2],[-.4,-.08]],gabel:[[-.4,.06],[-1.05,.2],[-.78,.03],[-.78,-.03],[-1.05,-.2],[-.4,-.06]],rund:[[-.4,.08],[-.85,.16],[-.93,.08],[-.95,0],[-.93,-.08],[-.85,-.16],[-.4,-.08]]},mt={spatz:{girth:.38,head:.2,neck:0,tail:\"kurz\",wing:\"rund\",span:.95,chord:.48,sweep:.08,hz:10,amp:.95,fold:.6,glide:0,hop:!0,dih:.1,droop:0,L:.15,V:8.5,GR:4,turn:2.2,bank:.8,size:[6,8.5],flock:[3,7],tone:[.22,.18,.15],path:{ya:.12,yw:.5,pa:.8,pw:.6,gap:.9}},segler:{girth:.3,head:.17,neck:0,tail:\"gabel\",wing:\"sichel\",span:1.45,chord:.32,sweep:.08,hz:7,amp:.55,fold:.25,glide:.55,dih:.02,droop:-.05,L:.17,V:12,GR:12,turn:3.2,bank:1,size:[6.5,9.5],flock:[3,8],tone:[.07,.07,.09],path:{ya:.45,yw:.9,pa:2.5,pw:.8,gap:3}},taube:{girth:.42,head:.18,neck:0,tail:\"faecher\",wing:\"spitz\",span:1.12,chord:.46,sweep:.2,hz:6,amp:.95,fold:.5,glide:.18,dih:.3,droop:-.1,L:.32,V:13,GR:7,turn:1.4,bank:.8,size:[8,11],flock:[6,14],tone:[.34,.36,.4],path:{ya:.22,yw:.45,pa:1.5,pw:.5,gap:1.6}},kraehe:{girth:.38,head:.19,neck:0,tail:\"rund\",wing:\"finger\",span:1.25,chord:.52,sweep:.05,hz:4.2,amp:.8,fold:.45,glide:.25,dih:.12,droop:-.06,L:.46,V:10.5,GR:8,turn:1.1,bank:.7,size:[10,14],flock:[2,5],tone:[.05,.05,.06],path:{ya:.12,yw:.35,pa:1,pw:.4,gap:4}},gans:{girth:.36,head:.14,neck:.72,tail:\"kurz\",wing:\"finger\",span:1.35,chord:.44,sweep:.1,hz:3.1,amp:.7,fold:.35,glide:0,dih:.05,droop:0,L:.8,V:15,GR:9,turn:.4,bank:.5,size:[11,15],flock:[5,10],tone:[.24,.22,.2],formation:!0,path:{ya:.04,yw:.25,pa:.5,pw:.3,gap:1.7}},moewe:{girth:.3,head:.17,neck:0,tail:\"kurz\",wing:\"spitz\",span:1.7,chord:.3,sweep:.28,hz:3.4,amp:.62,fold:.7,glide:.65,dih:.24,droop:-.5,L:.5,V:9,GR:14,turn:.8,bank:1,size:[11,15],flock:[1,3],tone:[.82,.84,.86],path:{ya:.3,yw:.3,pa:2,pw:.35,gap:8}}},Q0=[],O0=[];let Ct=1.2,zt=d(9,16);const S0=Math.PI*2,me=.7,an=9.81,de=(e,t)=>{let n=(e-t)%S0;return n>Math.PI&&(n-=S0),n<-Math.PI&&(n+=S0),n},T0={cx:0,yH:0,f:1},ot={x:0,y:0},ge={x:0,y:0},Ft=()=>{T0.cx=d0/2,T0.f=.9*u0,T0.yH=ot.y+z.HZ*$0},rn=(e,t)=>{const n=T0.f/e[2];return{x:T0.cx+e[0]*n-t.x,y:T0.yH-e[1]*n-t.y,k:n}};function pe(e){const t=z.w,n=z.day<.65,i={spatz:.28*t[0]+.22*t[1]+.12*t[2]+.1*t[3],segler:(.12*t[0]+.45*t[1])*(n?1.8:1),taube:.28*t[0]+.22*t[1]+.2*t[2]+.25*t[3],kraehe:.06*t[0]+.05*t[1]+.26*t[2]+.42*t[3]*(n?1.8:1),gans:e?0:.1*t[0]+.34*t[2]+.05*t[3],moewe:.08*t[0]+.06*t[1]+.1*t[2]+.24*t[3]};let l=0;for(const r in i)z.day<(r===\"segler\"||r===\"kraehe\"?.12:.3)&&(i[r]=0),l+=i[r];if(l<=0)return null;let o=Math.random()*l;for(const r in i)if(o-=i[r],o<=0)return r;return\"taube\"}function Bt(e,t,n,i){const l=mt[e],o=l.path;Ft(),i=i||(Math.random()<.5?1:-1);const r=t?ge:ot,c=t?d0:j0,a=t?u0:$0,x=t?Math.random()<.65?1:2:Math.round(d(l.flock[0],l.flock[1])),A=d(l.size[0],l.size[1])*(t?d(2.2,3.1):1)*(v?.85:1),O=l.L*T0.f/A,W=t?(Math.random()<.6?d(.08,.28):d(.54,.66))*a:d(l.formation?.24:.13,.42)*a,E=(T0.yH-(W+r.y))*O/T0.f;let X=Math.random()<(t?.2:.45)?-d(.06,t?.15:.35):d(.08,t?.45:.5);l.formation&&(X*=.3);const i0=i>0?X:Math.PI-X,l0=Math.cos(i0),c0=Math.sin(i0);let P,Q=O;if(n!=null)P=(n*c+r.x-T0.cx)*O/T0.f;else{P=d(-.12,.12)*c*O/T0.f;const e0=A*6+40;for(let L0=0;L0<800;L0++){const z0=T0.cx+P*T0.f/Q-r.x;if(z0<-e0||z0>c+e0||Q<3)break;P-=l0*.5,Q-=c0*.5}}const g0=l.V*me,x0={sp:l,near:t,t:0,alt:E,th0:i0,p0:d(0,S0),p1:d(0,S0),seen:!1,gone:0,lead:{p:[P,E,Q],th:i0,vy:0},birds:[]},w0=[];if(l.formation)for(let e0=0;e0Math.min(Xt,Math.hypot(q0[0]-Kt[0],q0[1]-Kt[1],q0[2]-Kt[2])),1e9);(!z0||it>z0.d)&&(z0={q:q0,d:it})}w0.push(z0.q)}}for(const e0 of w0)x0.birds.push({p:[P+l0*e0[0]-c0*e0[2],E+e0[1],Q+c0*e0[0]+l0*e0[2]],off:e0,th:i0,V:g0,vy:0,roll:0,gam:0,L:l.L*d(.92,1.08),n1:d(0,S0),n2:d(0,S0),size:A,ph:d(0,S0),hz:l.hz*d(.9,1.1),mode:\"flap\",modeT:d(.2,1.4),flap:1,tuck:0});return(t?O0:Q0).push(x0),x0}function sn(e,t){const n=e.sp,i=n.path,l=e.lead,o=e.t+=t,r=n.V*me,c=e.th0+i.ya*(Math.sin(i.yw*o+e.p1)+.4*Math.sin(i.yw*2.3*o+e.p0));l.th+=Math.max(-n.turn,Math.min(n.turn,de(c,l.th)*1.2))*t;const a=e.alt+i.pa*Math.sin(i.pw*o+e.p0);l.vy+=(Math.max(-1.5,Math.min(1.5,(a-l.p[1])*.7))-l.vy)*Math.min(1,t*2);const x=Math.cos(l.th),A=Math.sin(l.th);l.p[0]+=x*r*t,l.p[2]+=A*r*t,l.p[1]+=l.vy*t;const O=n.formation?.12:.6*i.gap;for(const X of e.birds){const i0=X.off[0]+O*Math.sin(o*.31+X.n1),l0=X.off[2]+O*Math.sin(o*.23+X.n2),c0=X.off[1]+O*.4*Math.sin(o*.37+X.n1*1.7),P=l.p[0]+x*i0-A*l0,Q=l.p[2]+A*i0+x*l0;ln(n,X,t,x*r+(P-X.p[0])*.8,A*r+(Q-X.p[2])*.8,l.p[1]+c0,r)}const W=e.birds,E=n.L*n.span*2+.3;for(let X=0;X=E||x0<1e-4)continue;const w0=(E-x0)/x0*.5*Math.min(1,t*6);l0[0]+=P*w0,l0[1]+=Q*w0,l0[2]+=g0*w0,c0[0]-=P*w0,c0[1]-=Q*w0,c0[2]-=g0*w0}}function ln(e,t,n,i,l,o,r){t.modeT-=n;const c=o-t.p[1]>1.2;(t.modeT<=0||t.mode===\"glide\"&&c)&&(t.mode===\"flap\"?e.hop?(t.mode=\"tuck\",t.modeT=d(.12,.22)):!c&&Math.random().02)&&(t.ph+=S0*t.hz*n),t.flap+=((a?1:0)-t.flap)*Math.min(1,n*7),t.tuck+=((t.mode===\"tuck\"?1:0)-t.tuck)*Math.min(1,n*16);const A=Math.max(-e.turn*1.4,Math.min(e.turn*1.4,de(Math.atan2(l,i),t.th)*2.5));t.th+=A*n;const O=Math.max(r*.7,Math.min(r*1.35,Math.hypot(i,l)));t.V+=((x?Math.min(O,r*.92):O)-t.V)*Math.min(1,n*(x?.4:1.2));let W=Math.max(-1.6,Math.min(1.6,(o-t.p[1])*.9));x&&(W=Math.min(W,0)-t.V/e.GR),e.hop&&(W+=t.mode===\"tuck\"?-1.7:1),t.vy+=(W-t.vy)*Math.min(1,n*3),t.roll+=(Math.max(-.85,Math.min(.85,-Math.atan(t.V*A/an)*e.bank))-t.roll)*Math.min(1,n*4),t.gam=Math.atan2(t.vy,t.V)*.7,t.p[0]+=Math.cos(t.th)*t.V*n,t.p[2]+=Math.sin(t.th)*t.V*n,t.p[1]+=t.vy*n}function cn(e,t,n){const i=Math.cos(t),l=[Math.cos(e)*i,Math.sin(t),Math.sin(e)*i],o=Math.hypot(l[0],l[2])||1,r=[-l[2]/o,0,l[0]/o],c=[-r[2]*l[1],r[2]*l[0]-r[0]*l[2],r[0]*l[1]],a=Math.cos(n),x=Math.sin(n);return{F:l,R:[r[0]*a+c[0]*x,c[1]*x,r[2]*a+c[2]*x],U:[c[0]*a-r[0]*x,c[1]*a,c[2]*a-r[2]*x]}}function hn(e,t,n){const i=t[0]/t[2],l=t[1]/t[2]+n,o=e.F,r=e.U,c=e.R;return{ax:o[0]-i*o[2],ay:r[0]-i*r[2],az:c[0]-i*c[2],bx:o[1]-l*o[2],by:r[1]-l*r[2],bz:c[1]-l*c[2]}}function un(e,t,n,i,l){const o=Math.hypot(e,t,n)||1;e/=o,t/=o,n/=o;let r=-n,c=e;const a=Math.hypot(r,c)||1;r/=a,c/=a;const x=-c*t,A=c*e-r*n,O=r*t,W=Math.cos(i),E=Math.sin(i),X=r*W+x*E,i0=A*E,l0=c*W+O*E,c0=x*W-r*E,P=A*W,Q=O*W-c*E,g0=Math.cos(l),x0=Math.sin(l);return{ax:e,ay:c0,az:X,bx:t*g0-n*x0,by:P*g0-Q*x0,bz:i0*g0-l0*x0}}const ve=e=>{const t=(e%S0+S0)%S0/S0;return(t<.58?t/.58*.5:.5+(t-.58)/.42*.5)*S0};function xe(e,t,n){const i=ve(n),l=Math.cos(i),o=Math.sin(i),r=Math.max(0,-o);let c=e.amp*(.28+.72*l),a=c-e.fold*r*.9+e.amp*.12*Math.max(0,o),x=1-e.fold*r*.45,A=e.fold*r*.35;return c=a0(e.dih,c,t.flap),a=a0(e.dih+e.droop,a,t.flap),x=a0(1,x,t.flap),A*=t.flap,c=a0(c,-.2,t.tuck),a=a0(a,-.35,t.tuck),{t1:c,t2:a,hand:x,back:A,len:1-.72*t.tuck}}let J0=1;function we(e,t,n,i,l,o,r){const c=n.size;e.globalAlpha=J0;const a=(P,Q,g0)=>[i+c*(o.ax*P+o.ay*Q+o.az*g0),l-c*(o.bx*P+o.by*Q+o.bz*g0)],x=P=>{e.beginPath(),P.forEach((Q,g0)=>g0?e.lineTo(Q[0],Q[1]):e.moveTo(Q[0],Q[1])),e.closePath(),e.fill(),e.stroke()},A=(P,Q)=>{const g0=Math.sin(P.t1),x0=Math.cos(P.t1),w0=Math.sin(P.t2),e0=Math.cos(P.t2),L0=t.span*P.len;x(nn[t.wing].map(([z0,F0])=>{const q0=Math.min(F0,.42),it=Math.max(0,F0-.42)*P.hand,Xt=.06+z0*t.chord-t.sweep*F0*F0-P.back*Math.max(0,F0-.42);return a(Xt,(q0*g0+it*w0)*L0,Q*(t.girth*.3+(q0*x0+it*e0)*L0))}))};if(e.fillStyle=e.strokeStyle=r,n.hz>7&&n.flap>.5&&n.tuck<.5){e.globalAlpha=.28*J0;const P=xe(t,n,n.ph-.9);A(P,1),A(P,-1),e.globalAlpha=J0}const O=xe(t,n,n.ph);A(O,1),A(O,-1),x(on[t.tail].map(([P,Q])=>a(P,0,Q*(1+t.girth*.3))));const W=a(-.46,0,0),E=a(.44,0,0),X=t.girth*c*.5,i0=Math.hypot(E[0]-W[0],E[1]-W[1])/2;e.beginPath(),e.ellipse((W[0]+E[0])/2,(W[1]+E[1])/2,Math.max(i0,X)+X*.2,X,Math.atan2(E[1]-W[1],E[0]-W[0]),0,6.2832),e.fill();const l0=.5+t.neck,c0=a(l0,.03,0);if(t.neck){const P=a(.3,0,0);e.lineWidth=X*.9,e.beginPath(),e.moveTo(P[0],P[1]),e.lineTo(c0[0],c0[1]),e.stroke(),e.lineWidth=.7}if(e.beginPath(),e.arc(c0[0],c0[1],t.head*c*.5,0,6.2832),e.fill(),c>12){const P=l0+t.head*.4;x([a(P,.05,.03),a(P+.14,.02,0),a(P,-.01,-.03)])}}function fn(e,t,n,i,l){const o=.35+.65*z.day*(1-z.over*.4);let r=e.tone.map(c=>c*o);if(!i){const c=q(z.zen,z.hor,Math.pow(M0(t/(n*z.HZ)),1.45));r=q(r,c,.14+.22*(1-M0((l/e.size[1]-.7)/.6)))}return`rgb(${r.map(c=>Math.round(M0(c)*255)).join(\",\")})`}function Me(e,t,n,i,l,o){e.lineJoin=\"round\",e.lineCap=\"round\",e.lineWidth=.7;for(let r=t.length-1;r>=0;r--){const c=t[r],a=c.sp;n>0&&sn(c,n);let x=!1;for(const A of c.birds){if(A.p[2]<1.5)continue;const O=rn(A.p,i),W=A.L*O.k;if(W<.8||O.x<-W*3||O.x>l+W*3||O.y<-W*3||O.y>o+W*3)continue;x=!0,A.size=W;const E=hn(cn(A.th,A.gam,A.roll),A.p,c.near?.12:.05+a.glide*.12),X=-Math.sin(ve(A.ph))*.05*W*A.flap;we(e,a,A,O.x,O.y+X,E,fn(a,O.y,o,c.near,W))}x?(c.seen=!0,c.gone=0):c.gone+=n,(c.seen&&c.gone>.6||c.t>60||!c.seen&&c.t>15)&&t.splice(r,1)}}function mn(e){const t=D.width/Math.max(1,j0);J.setTransform(1,0,0,1,0,0),J.clearRect(0,0,D.width,D.height),Ft();const n=z.wx.rain<.25&&z.wx.snow<.35&&z.wx.fog<.5;if(Ct-=e,zt-=e,Wt&&n&&Ct<=0&&Q0.length<3){const i=pe(!1);i&&Bt(i,!1),Ct=d(3,9)}if(Wt&&n&&zt<=0&&!O0.length){const i=pe(!0);i&&Bt(i,!0),zt=d(18,32)}Q0.length&&(J.setTransform(t,0,0,t,0,0),Me(J,Q0,e,ot,j0,$0))}const ye=(()=>{const e=document.querySelector(\"#s-leaf path\");return e?new Path2D(e.getAttribute(\"d\")):null})(),Pt=[],It=[],Ut=[],_t=[],be=[\"#E0741F\",\"#C1461A\",\"#E8A628\",\"#B5301B\",\"#D98A2B\"];function at(e,t,n,i){let l=0;for(const o of e)o.out||l++;for(let o=0;ot;o++)e[o].out||(e[o].out=!0,l--);for(;l=0;o--){const r=e[o];r.out?(r.a-=n*1.4,r.a<=0&&e.splice(o,1)):r.a<1&&(r.a=Math.min(1,r.a+n*1.6))}}function dn(e){const t=_.width/Math.max(1,d0);S.setTransform(1,0,0,1,0,0),S.clearRect(0,0,_.width,_.height),S.setTransform(t,0,0,t,0,0);const n=z.wx,i=n.wind*(v?.8:1),l=d0*u0/(1440*900),o=v?.6:bt?.7:1;at(Pt,Math.round(n.rain*420*l*o),e,()=>({x:d(-.1,1.1)*d0,y:d(-u0,u0),z:d(.35,1),l:d(14,26)})),S.lineCap=\"round\";const r=z.night>.5?\"170,185,215\":\"215,226,240\";for(const a of Pt){const x=1300*a.z,A=-i*260*a.z;a.x+=A*e,a.y+=x*e,a.y>u0+30&&(a.y=d(-80,-10),a.x=d(-.1,1.1)*d0),S.strokeStyle=`rgba(${r},${(.18+.32*a.z)*a.a})`,S.lineWidth=.6+a.z*.9,S.beginPath(),S.moveTo(a.x,a.y),S.lineTo(a.x-A*.018,a.y-a.l*a.z*1.6),S.stroke()}const c=e*Pe;at(It,Math.round(n.snow*300*l*o),c,()=>({x:d(-.05,1.05)*d0,y:d(-u0*.2,u0),z:d(.3,1),ph:d(0,6.28)})),S.fillStyle=\"#fff\";for(const a of It)a.ph+=c*1.4,a.x+=(-i*60+Math.sin(a.ph)*22)*a.z*c,a.y+=(40+85*a.z)*c,a.y>u0+10&&(a.y=d(-40,-6),a.x=d(-.05,1.05)*d0),S.globalAlpha=(.35+.6*a.z)*a.a,S.beginPath(),S.arc(a.x,a.y,.8+a.z*2.4,0,6.2832),S.fill();if(S.globalAlpha=1,ye){at(Ut,Math.round(n.leaves*z.day*14),c,()=>({x:d(0,d0),y:d(-u0*.2,u0*.7),s:d(14,28),r:d(0,6.28),vr:d(-2.4,2.4),ph:d(0,6.28),c:be[Math.floor(Math.random()*be.length)]}));for(const a of Ut){a.ph+=c*2,a.x+=(-i*90+Math.sin(a.ph)*55)*c,a.y+=(55+Math.cos(a.ph*.7)*25)*c,a.r+=a.vr*c,(a.y>u0+40||a.x<-80||a.x>d0+80)&&(a.y=d(-80,-30),a.x=d(.1,1.2)*d0);const x=a.s/124;S.setTransform(t*x*Math.cos(a.r),t*x*Math.sin(a.r),-t*x*Math.sin(a.r)*Math.cos(a.ph),t*x*Math.cos(a.r)*Math.cos(a.ph),a.x*t,a.y*t),S.translate(-62,-57),S.fillStyle=a.c,S.globalAlpha=.9*a.a,S.fill(ye)}S.globalAlpha=1,S.setTransform(t,0,0,t,0,0)}at(_t,Math.round(n.petals*z.day*18),c,()=>({x:d(0,d0),y:d(-u0*.1,u0),s:d(3,6),r:d(0,6.28),ph:d(0,6.28),c:Math.random()<.5?\"#F7C6D6\":\"#FFF1F4\"}));for(const a of _t)a.ph+=c*2.2,a.x+=(-i*70+Math.sin(a.ph)*40)*c,a.y+=(32+Math.cos(a.ph)*18)*c,a.r+=c*2,(a.y>u0+20||a.x<-40||a.x>d0+40)&&(a.y=d(-40,-10),a.x=d(0,1.1)*d0),S.save(),S.globalAlpha=a.a,S.translate(a.x,a.y),S.rotate(a.r),S.scale(1,Math.abs(Math.cos(a.ph))*.8+.2),S.fillStyle=a.c,S.beginPath(),S.ellipse(0,0,a.s,a.s*.62,0,0,6.2832),S.fill(),S.restore();vn(e,t,n),O0.length&&(J0=B(.04,.3,z.day),J0<.01?O0.length=0:(S.setTransform(t,0,0,t,0,0),Me(S,O0,e,ge,d0,u0)),J0=1,S.globalAlpha=1)}const Gt=[];let H0=null;function gn(){if(H0)return H0;H0=document.createElement(\"canvas\"),H0.width=H0.height=64;const e=H0.getContext(\"2d\"),t=e.createRadialGradient(32,32,0,32,32,32);return t.addColorStop(0,\"rgba(252,255,220,1)\"),t.addColorStop(.1,\"rgba(228,255,150,0.95)\"),t.addColorStop(.3,\"rgba(196,242,96,0.38)\"),t.addColorStop(.6,\"rgba(176,232,76,0.1)\"),t.addColorStop(1,\"rgba(170,228,70,0)\"),e.fillStyle=t,e.fillRect(0,0,64,64),H0}function pn(){const e=v0[Math.floor(Math.random()*v0.length)],t=L.getBoundingClientRect(),n=_.getBoundingClientRect(),i=d0/Math.max(1,n.width),l=u0/Math.max(1,n.height),o=(t.left+e[0]*t.width-n.left)*i,r=(t.top+e[1]*t.height-n.top)*l,c=Math.random()<.2;return{hx:o,hy:r-(c?0:d(6,26)),sit:c,t:d(0,60),r:d(8,30),w1:d(.14,.32),w2:d(.2,.45),w3:d(.12,.3),a1:d(0,6.28),a2:d(0,6.28),a3:d(0,6.28),gp:d(0,6.28),gs:d(.35,.9),vx:d(-4,4),size:c?d(6,8):d(9,14),x:o,y:r}}function vn(e,t,n){const i=v0.length?z.w[1]*B(.35,.85,z.night)*(1-B(.08,.35,n.rain))*(1-B(.55,.9,n.wind)):0;if(at(Gt,Math.round(i*(v?18:34)),e*.35,pn),!Gt.length)return;const l=gn();S.setTransform(t,0,0,t,0,0),S.globalCompositeOperation=\"lighter\";for(const o of Gt){o.t+=e,o.sit||(o.hx+=o.vx*e,o.x=o.hx+o.r*(.8*Math.sin(o.t*o.w1+o.a1)+.35*Math.sin(o.t*o.w2+o.a2)),o.y=o.hy+o.r*.45*Math.sin(o.t*o.w3+o.a3));const r=o.sit?.8+.12*Math.sin(o.t*.6+o.gp):.45+.55*Math.max(0,Math.sin(o.t*o.gs+o.gp))**.7;S.globalAlpha=o.a*r;const c=o.size;S.drawImage(l,o.x-c,o.y-c,c*2,c*2)}S.globalCompositeOperation=\"source-over\",S.globalAlpha=1}function xn(){const e=r0.gl,t=r0.u,n=z;if(e.viewport(0,0,U0,Z0),e.uniform2f(t(\"uRes\"),U0,Z0),e.uniform1f(t(\"uTime\"),A0),e.uniform1f(t(\"uHz\"),n.HZ),e.uniform2f(t(\"uSun\"),n.sunX,n.sunY),e.uniform2f(t(\"uMoon\"),n.moonX,n.moonY),e.uniform2f(t(\"uDrift\"),ut[0],ut[1]),e.uniform1f(t(\"uEvolve\"),ce),e.uniform1f(t(\"uCover\"),n.wx.cover),e.uniform1f(t(\"uDark\"),n.wx.dark),e.uniform1f(t(\"uFog\"),n.wx.fog),e.uniform1f(t(\"uStars\"),n.stars),e.uniform1f(t(\"uBow\"),n.wx.bow*n.day*B(.05,.2,n.e)),e.uniform1f(t(\"uFlash\"),Et),e.uniform1f(t(\"uSunVis\"),n.sunVis),e.uniform1f(t(\"uMoonVis\"),n.moonVis),e.uniform1f(t(\"uNight\"),n.night),e.uniform1f(t(\"uGlow\"),n.glow),e.uniform1f(t(\"uMoonK\"),Math.cos(n.moon*Math.PI*2)),e.uniform1f(t(\"uMoonWax\"),n.moon<.5?1:0),e.uniform1f(t(\"uMoonLit\"),n.moonLit),e.uniform3fv(t(\"uZen\"),n.zen),e.uniform3fv(t(\"uHor\"),n.hor),e.uniform3fv(t(\"uSunCol\"),n.sunCol),e.uniform3fv(t(\"uLit\"),n.lit),e.uniform3fv(t(\"uShade\"),n.shade),e.uniform3fv(t(\"uFogCol\"),n.fogCol),e.uniform3fv(t(\"uGlowCol\"),n.glowCol),$.on){const i=$.hl*1.15/(U0/Z0),l=$.t;$.cx=$.dir>0?-i+(1+2*i)*l:1+i-(1+2*i)*l,$.cy=$.y+.004*Math.sin(A0*.6),e.uniform4f(t(\"uShip\"),$.cx,$.cy,$.hl,$.dir),e.uniform2f(t(\"uShipB\"),.014*Math.sin(A0*.45+1),M0(n.night*1.3))}else e.uniform4f(t(\"uShip\"),0,0,0,1);e.drawArrays(e.TRIANGLE_STRIP,0,4)}function wn(){if(!G)return!1;const e=H.gl,t=H.u,n=z;return e.viewport(0,0,_0,G0),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,b),e.texSubImage2D(e.TEXTURE_2D,0,0,0,64,1,e.RGBA,e.UNSIGNED_BYTE,M.subarray(0,256)),e.uniform2f(t(\"uTex\"),F,j),e.uniform3fv(t(\"uAmb\"),n.amb),e.uniform3fv(t(\"uFogCol\"),n.fogCol),e.uniform1f(t(\"uSat\"),n.sat),e.uniform1f(t(\"uNight\"),1-B(.02,.18,n.e)*(1-n.wx.dark*.4)),e.uniform1f(t(\"uDay\"),n.day),e.uniform1f(t(\"uOver\"),n.over),e.uniform1f(t(\"uWet\"),Nt),e.uniform1f(t(\"uFog\"),n.wx.fog),e.uniform1f(t(\"uFlash\"),Et),e.uniform1f(t(\"uLampDay\"),B(-.02,.12,n.e)),e.uniform1f(t(\"uDeep\"),M0(B(.02,-.2,n.e)+n.wx.dark*.4)),e.uniform4fv(t(\"uSeason\"),n.w),e.uniform1f(t(\"uSnowCover\"),n.snowCover),e.uniform1f(t(\"uManual\"),Lt?1:0),e.uniform4fv(t(\"uLamps[0]\"),he),e.uniform3fv(t(\"uWall[0]\"),ue),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLE_STRIP,0,4),!0}let Nt=0,C0=!0,ke=!1,tt=\"\",Se=-1,Te=!1,Ee=!1,Wt=!0;function Mn(e){const t=e*60;if(k0){if(!Te)if(C===\"live\"||N.live&&!W0)ie();else{const i=W0?B(0,3.5,A0-oe):0,l=Ke(z)*K0*i;N.hour+=(l+(1-i)/3600)*e,N.hour>=24&&(N.hour-=24,N.day++),N.live&&W0&&(ae+=l*e,N.live.mix=1-B(.5,5,ae),N.live.mix<=0&&(N.live=null))}A0+=e;const n=N.live?a0(1,.3,N.live.mix):1;ce+=e*(.35+z.wx.wind*.5)*K0*n,ut[0]+=e*(.012+z.wx.wind*.03)*K0*n,ut[1]-=e*.004*K0*n}z=Mt(N),Nt=Math.max(z.wx.rain,Nt-e*.05*K0),k0&&z.wx.storm>.3&&(Rt-=e,Rt<=0&&(gsap.timeline().to(rt,{v:1,duration:.05}).to(rt,{v:.15,duration:.08}).to(rt,{v:.85,duration:.04}).to(rt,{v:0,duration:.45,ease:\"power2.out\"}),Rt=d(2.5,6)/K0,I?.(z.wx.storm))),Et=rt.v,fe(e,t),k0&&yn(e)}const rt={v:0},$={on:!1,t:0,dur:50,dir:1,y:.2,hl:.07,wait:d(20,35),cx:-9,cy:0};function Re(e){const t=w.getBoundingClientRect(),n=h.getBoundingClientRect(),i=t.height?(n.top+n.height*d(.17,.28)-t.top)/t.height:d(.13,.22);Object.assign($,{on:!0,t:0,dur:d(44,56),dir:e||(Math.random()<.5?1:-1),y:i,hl:d(.062,.074)*(v?.9:1)})}function yn(e){if(!$.on){if($.wait-=e,$.wait>0)return;const t=z.wx;if(t.storm>.2||t.rain>.5||t.fog>.6){$.wait=d(8,16);return}Re()}$.t+=e/$.dur,$.t>=1&&($.on=!1,$.cx=-9,$.wait=d(150,240))}function bn(e,t){if(!$.on||h.classList.contains(\"sky-lost\"))return!1;const n=w.getBoundingClientRect();if(!n.width||!n.height)return!1;const i=((e-n.left)/n.width-$.cx)*(n.width/n.height),l=(t-n.top)/n.height-$.cy;return Math.abs(i)<$.hl*1.08&&Math.abs(l)<$.hl*.34+10/n.height}function Ot(e){if(!k0&&!C0)return;U0||N0(),Mn(k0?e:0),xn();const t=wn();mn(k0?e:0),dn(k0?e:0),t&&(C0=!1),t&&!ke&&(ke=!0,h.classList.add(\"has-sky\"));const n=Math.round(z.night*100)/100;n!==Se&&(Se=n,h.style.setProperty(\"--night\",n));const i=Le(),l=Yt[N.season()]+\"|\"+(i?Math.floor(N.hour*60):De(N.hour))+\"|\"+jt(z)+\"|\"+i;if(l!==tt){tt=l;const o=.2126*z.zen[0]+.7152*z.zen[1]+.0722*z.zen[2];U?.({season:Yt[N.season()],clock:i?kn(N.hour):De(N.hour),weather:jt(z),playing:k0,night:z.night,dark:o<.46,live:i})}}const Le=()=>!!N.live&&N.live.mix>.999&&(C===\"live\"||!W0),De=e=>{const t=Math.floor(e*6)*10;return String(Math.floor(t/60)%24).padStart(2,\"0\")+\":\"+String(t%60).padStart(2,\"0\")},kn=e=>{const t=Math.floor(e*60);return String(Math.floor(t/60)%24).padStart(2,\"0\")+\":\"+String(t%60).padStart(2,\"0\")};function Sn(e,t){const n=L.getBoundingClientRect();if(!n.width||!n.height)return-1;const i=(e-n.left)/n.width,l=(t-n.top)/n.height,o=6/n.width,r=6/n.height;for(let c=0;ca[2]+o)continue;const x=M0((i-a[0])/(a[2]-a[0]));if(l>=a[1]-r&&l<=a[3]+(a[4]-a[3])*x+r)return c}for(let c=0;ca[1]+o)continue;const x=M0((i-a[0])/(a[1]-a[0]));if(l>=a[2]+(a[3]-a[2])*x-r&&l<=a[4]+(a[5]-a[4])*x+r)return D0.length+c}return-1}function Tn(e){const t=ft[e];if(!t)return null;const n=t.man!=null?t.man===1:t.autoOn;return t.man=n?0:1,t.manAuto=t.autoOn,C0=!0,!n}let dt=0,Ht=0,st=null,qt=!1;const Ae=e=>{I0=e,bt=I0===P0.length-1,kt=P0[I0].sky*(bt?.7:1),N0(),C0=!0},En=e=>{if(qt||!k0||document.hidden||document.documentElement.classList.contains(\"is-loading\")||(Ht+=e,dt++,dt<120))return;const t=Ht/dt;dt=0,Ht=0,!(st&&(t22&&I0{const e=performance.now(),t=e-gt,n=Math.min(.05,t/1e3||.016);gt=e,!(!le||Ee||Ce)&&(t<250&&En(t),Ot(n))},Rn=()=>{pt||(pt=!0,gt=performance.now(),gsap.ticker.add(ze))},Ln=()=>{pt&&(pt=!1,gsap.ticker.remove(ze))};let Fe;const Dn=()=>{clearTimeout(Fe),Fe=setTimeout(()=>{N0(),C0=!0,Ot(0)},150)};addEventListener(\"resize\",Dn),u.addEventListener(\"load\",()=>{Z&&(Z.stale=!0),F=0,N0(),C0=!0});for(const e of[w,L])e.addEventListener(\"webglcontextlost\",t=>{t.preventDefault(),Ln(),h.classList.remove(\"has-sky\"),h.classList.add(\"sky-lost\")},{once:!0});return N0(),Rn(),{get playing(){return k0},get state(){const e=z.wx;return{w:z.w,hour:N.hour,rise:z.rise,day:z.day,night:z.night,rain:e.rain,snow:e.snow,wind:e.wind,storm:e.storm,leaves:e.leaves}},play(){k0=!0,tt=\"\"},release(){W0||(W0=!0,oe=A0,tt=\"\")},get mode(){return C},get live(){return Le()},windowAt:Sn,toggleWindow:Tn,shipAt:bn,ship(e){Re(e)},get airship(){return $},windowOn(e){const t=ft[e];return!!t&&(t.man!=null?t.man===1:t.autoOn)},pause(){k0=!1,tt=\"\",C0=!0},toggle(){return k0?this.pause():this.play(),k0},setActive(e){le=e,e&&(gt=performance.now())},cover(e){Ce=!!e},get ready(){return o0},set({hour:e,season:t,day:n}={}){C=\"zeitraffer\",W0=!0,N.live=null,e!=null&&(N.hour=(e%24+24)%24),t!=null&&(N.s0=t,N.day=0),n!=null&&(N.day=n),C0=!0,tt=\"\",ft.forEach(i=>{i.lv=0}),Pt.length=It.length=Ut.length=_t.length=Q0.length=O0.length=0;for(let i=0;i<90;i++)z=Mt(N),fe(1/30,2)},birds(e,t=!1,n,i){mt[e]&&(Ft(),Bt(e,t,n,i))},get flocks(){return{far:Q0,near:O0}},hold(e=!0){Te=e},manual(e=!0){Ee=e},advance(e=1/30){Ot(e)},autoBirds(e=!0){Wt=e},birdSheet(e,t=34,n=.35,i=.25){const l=e.getContext(\"2d\"),o=Object.keys(mt);e.width=9*t*3.2,e.height=o.length*t*3.2,l.fillStyle=\"#8fbfe6\",l.fillRect(0,0,e.width,e.height),l.lineJoin=\"round\",l.lineWidth=.7,o.forEach((r,c)=>{const a=mt[r];for(let x=0;x<9;x++){const A=x===8,O={size:t,flap:A?0:1,tuck:0,hz:1};O.ph=A?0:x/8*6.2832,we(l,a,O,(x+.5)*t*3.2,(c+.5)*t*3.2,un(Math.cos(n),0,Math.sin(n),0,i),\"#1d2733\")}})},get env(){return z},get clock(){return N}}}Be.heroSky={create:tn,warm:Ye,compiled:Ze}})();\n"},{"name":"sound.js","code":"(()=>{\"use strict\";const fe=window.KL=window.KL||{},j=window.AudioContext||window.webkitAudioContext,i=(e,n)=>e+Math.random()*(n-e),B=e=>Math.min(1,Math.max(0,e)),z=(e,n,t)=>{const a=B((t-e)/(n-e));return a*a*(3-2*a)},J=e=>{let n=Math.random()*Object.values(e).reduce((t,a)=>t+a,0);for(const[t,a]of Object.entries(e))if(n-=a,n<=0)return t;return Object.keys(e)[0]};let l=null,v=null,P=null,U=null,G=null,X=null,A=!1,Y=0,Z=0,_=0,K=null,C=1,R=null,$=null,ee=null;function he(){if(l||!j)return!!l;l=new j;const e=l.createDynamicsCompressor();e.threshold.value=-18,e.ratio.value=4,v=l.createGain(),v.gain.value=0,v.connect(e).connect(l.destination);const n=l.sampleRate,t=n*4;P=l.createBuffer(1,t,n),U=l.createBuffer(1,t,n);const a=P.getChannelData(0),c=U.getChannelData(0);let o=0,r=0,s=0;for(let h=0;h{e.gain.setValueAtTime(1e-4,n),e.gain.exponentialRampToValueAtTime(Math.max(2e-4,t),n+a),e.gain.exponentialRampToValueAtTime(1e-4,n+c)},y=(e,n,t=.7)=>{const a=l.createBiquadFilter();return a.type=e,a.frequency.value=n,a.Q.value=t,a},T=(e=0)=>{const n=l.createGain();return n.gain.value=e,n},q=(e,n,t)=>e.setTargetAtTime(n,l.currentTime,t);function V(e,n=0,t=0,a=v,c=G){let o=e;if(l.createStereoPanner){const r=l.createStereoPanner();r.pan.value=n,e.connect(r),o=r}if(o.connect(a),t>0&&c){const r=T(t);o.connect(r).connect(c)}}function S({f:e=880,f2:n=e,dur:t=.08,type:a=\"sine\",gain:c=.1,attack:o=.004,pan:r=0,when:s=0}={}){if(!A)return;const u=l.currentTime+s,f=l.createOscillator(),p=l.createGain();f.type=a,f.frequency.setValueAtTime(e,u),n!==e&&f.frequency.exponentialRampToValueAtTime(n,u+t),te(p,u,c,o,t),f.connect(p),V(p,r),f.start(u),f.stop(u+t+.05)}function pe({dur:e=.9,gain:n=.32,from:t=280,peak:a=2400,to:c=420}={}){if(!A)return;const o=performance.now();if(o-_<250)return;_=o;const r=l.currentTime,s=l.createBufferSource();s.buffer=P;const u=y(\"bandpass\",t,.8);u.frequency.setValueAtTime(t,r),u.frequency.exponentialRampToValueAtTime(a,r+e*.45),u.frequency.exponentialRampToValueAtTime(c,r+e);const f=l.createGain();te(f,r,n,e*.4,e),s.connect(u).connect(f).connect(v),s.start(r,i(0,3)),s.stop(r+e+.05)}const me=()=>{const e=performance.now();e-Z<55||(Z=e,S({f:i(2100,2500),f2:1700,dur:.03,gain:.025}))},de=()=>S({f:1150,f2:480,dur:.08,type:\"triangle\",gain:.09}),ge=()=>{S({f:i(240,300),f2:i(680,820),dur:.12,gain:.16}),S({f:1400,f2:900,dur:.05,gain:.03,when:.01})},ne=()=>[784,988,1175,1568].forEach((e,n)=>S({f:e,dur:.9,gain:.05,attack:.01,when:n*.09,pan:(n-1.5)*.3}));function Me(e=!0){if(!A)return;const n=l.currentTime+.005,t=e?1.1:.9,a=(o,r,s,u,f,p)=>{const m=l.createBufferSource(),h=T(0);m.buffer=U,h.gain.setValueAtTime(0,o),h.gain.linearRampToValueAtTime(p,o+7e-4),h.gain.exponentialRampToValueAtTime(1e-4,o+f),m.connect(y(r,s,u)).connect(h),V(h,0),m.start(o,i(0,3)),m.stop(o+f+.02)},c=(o,r,s,u)=>{const f=l.createOscillator(),p=T(0);f.frequency.setValueAtTime(r,o),f.frequency.exponentialRampToValueAtTime(r*.97,o+s),p.gain.setValueAtTime(0,o),p.gain.linearRampToValueAtTime(u,o+.001),p.gain.exponentialRampToValueAtTime(1e-4,o+s),f.connect(p),V(p,0),f.start(o),f.stop(o+s+.02)};a(n,\"bandpass\",4200*t,1.1,.011,.26),c(n,2650*t,.03,.03),c(n,5400*t,.018,.012),a(n+.007,\"lowpass\",650*t,.8,.035,.2)}const Te=(e=18,n=2.2)=>{if(A)for(let t=0;tr.disconnect(),(s+2)*1e3),a&&Math.random()<.3&&setTimeout(()=>{A&&ae(e,n*.8,t,!1)},(s+i(.4,1.2))*1e3)}function xe(e){const[n,t,a,c]=e.w,o=n+t*.85+a*.25+c*.18,r=Math.exp(-(((e.hour-(e.rise+1))/1.6)**2));return o*B(e.day*.8+r*.7)*(1-B(e.rain*1.4))*(1-e.storm)*(1-e.snow*.7)}function ye(e){if(!e)return J({meise:3,spatz:3,amsel:2,triller:2});const[n,t,a,c]=e.w,o=e.hour>14&&e.day<.6?1:0;return J({meise:n*3.5+t*2+a*3+c*6,spatz:n*2+t*3.5+a*2+c*4,amsel:(n*2.5+t*2.5+a*.5)*(1+o*4),triller:n*2+t*2+a*5})}let O=null;function be(){const e=l.sampleRate,n=Math.floor(e*2.6),t=l.createBuffer(2,n,e);for(let a=0;a<2;a++){const c=t.getChannelData(a);let o=0;for(let r=0;r{c[Math.floor((r+a*.003+Math.random()*.002)*e)]+=(.5-s*.06)*(Math.random()<.5?-1:1)})}O=l.createConvolver(),O.buffer=t,O.connect(y(\"lowpass\",6500,.5)).connect(T(.55)).connect(v)}function ve(e,n){const t=l.sampleRate,a=Math.floor(t*e),c=l.createBuffer(1,a,t),o=c.getChannelData(0);for(let r=0,s=Math.floor(e*n);r{const a=y(\"peaking\",e,n);return a.gain.value=t,a};function Re(e,n){const t=l.currentTime+i(.01,.15),a=i(380,820),c=i(.05,.1),o=i(-.85,.85),r=l.createOscillator(),s=T(0);r.frequency.setValueAtTime(a,t),r.frequency.exponentialRampToValueAtTime(a*i(1.3,1.8),t+c*.6),s.gain.setValueAtTime(0,t),s.gain.linearRampToValueAtTime(e,t+.003),s.gain.exponentialRampToValueAtTime(1e-4,t+c),r.connect(s),V(s,o,.25,n,R?R.rev:O),r.start(t),r.stop(t+c+.02);const u=l.createBufferSource(),f=T(0);u.buffer=U,f.gain.setValueAtTime(0,t),f.gain.linearRampToValueAtTime(e*.45,t+.002),f.gain.exponentialRampToValueAtTime(1e-4,t+.03),u.connect(y(\"bandpass\",i(2500,4500),1.2)).connect(f),V(f,o,0,n),u.start(t,i(0,3)),u.stop(t+.05)}function qe(){if(R)return;O||be();const e=[],n=(d,x)=>{const b=l.createBufferSource();return b.buffer=d,b.loop=!0,b.start(l.currentTime,x),e.push(b),b},t=T(0);t.connect(v);const a=T(C);a.connect(O);const c=T(0),o=T(0),r=T(0);[[I(8.3),-.8],[I(7.1),.8]].forEach(([d,x])=>V(n(d,0).connect(y(\"highpass\",420,.5)).connect(Ve(3200,.9,4)).connect(y(\"lowpass\",9e3,.5)),x,0,c)),[[7.3,-.6],[9.1,.6],[8.2,0]].forEach(([d,x])=>V(n(ve(d,48),0).connect(y(\"lowpass\",9500)),x,0,o));const s=T(0);o.connect(s).connect(O);const u=T(1),f=l.createOscillator(),p=T(.25);f.frequency.value=.13,f.connect(p).connect(u.gain),f.start(),e.push(f),n(P,.9).connect(y(\"highpass\",160)).connect(y(\"lowpass\",1400)).connect(u).connect(r);const m=T(0),h=y(\"bandpass\",700,.5),M=y(\"bandpass\",850,.5),w=T(0);V(n(I(9.7),0).connect(y(\"highpass\",260,.5)).connect(y(\"lowpass\",3200,.5)).connect(h),-.55,0,m),V(n(I(8.9),0).connect(y(\"highpass\",260,.5)).connect(y(\"lowpass\",3200,.5)).connect(M),.55,0,m),[[6.7,-.45],[5.9,.5]].forEach(([d,x])=>V(n(Ae(d),0).connect(y(\"highpass\",1500)).connect(y(\"lowpass\",5500)),x,0,w)),[c,o,r,m,w].forEach(d=>d.connect(t));const g=[[4450,-.45],[4700,.55]].map(([d,x])=>{const b=l.createOscillator(),E=T(0);return b.frequency.value=d+i(-60,60),b.connect(E),V(E,x,0,t),b.start(),e.push(b),{g:E,next:0,period:i(.5,.68)}});R={bus:t,rev:a,hiss:c,drops:o,dropWet:s,body:r,wind:m,windL:h,windR:M,rustle:w,crickets:g,srcs:e,nextBird:0,nextGust:0,nextDrip:0},Ce()}function ke(){if(!R)return;const e=R;R=null,e.srcs.forEach(n=>{try{n.stop()}catch{}}),e.bus.disconnect(),e.rev.disconnect()}function oe(){if(!A||!R)return;const e=l.currentTime,n=K?K():null,t=R;q(t.bus.gain,C,.3),q(t.rev.gain,C,.3),q(t.dropWet.gain,.06*C,.3);const a=n?n.rain:0;if(q(t.hiss.gain,.076*Math.pow(a,1.2),.8),q(t.drops.gain,.215*z(.02,.6,a),.8),q(t.body.gain,.066*z(.5,1,a),1.2),a>.05&&C>.05&&e>=t.nextDrip&&(Re(.05*(.4+.6*a),t.bus),t.nextDrip=e+i(.15,1.1)/(.4+a)),e>=t.nextGust){const r=(n?B(z(.45,.95,n.wind)+n.storm*.4):0)*i(.3,1),s=i(1.6,3.2),u=n&&n.w?1-.75*n.w[3]:1;q(t.wind.gain,.026*r,s),q(t.windL.frequency,520+650*r+i(-60,60),s*1.3),q(t.windR.frequency,600+720*r+i(-60,60),s*1.5),q(t.rustle.gain,(.0045*u+.0035*(n?n.leaves:0))*r,s*.8),t.nextGust=e+i(4,9)}if(e>=t.nextBird){const o=n?xe(n)*C:0,r=Y*.7,s=Math.max(o,r);s>.04&&ae(ye(o>=r?n:null),.55+.45*s,o>=r?t.bus:v),t.nextBird=e+i(2.5,7)/(.45+s*.8)}const c=n?(n.w[1]+n.w[0]*.35)*n.night*(1-B(n.rain*2))*(1-n.snow):0;t.crickets.forEach(o=>{if(c<.03){o.next=0;return}for(o.next{if(!l)return;const c=performance.now();for(;performance.now()-c<6;){if(!n){if(!e.length)return;t=e.shift(),n=Be(t)}const o=n.next();o.done&&((t?W.near:W.far).push(o.value),n=null)}setTimeout(a,16)};setTimeout(a,400)}function Oe(e=1){if(!A||!R||C<.05)return;const n=Math.random()<.35,t=n?W.near:W.far;if(!t.length)return;const a=.6+.4*B(e),c=l.currentTime+(n?i(.25,.6):i(.8,2.2)),o=l.createBufferSource(),r=T((n?.62:.5)*a);o.buffer=t[Math.floor(Math.random()*t.length)],o.playbackRate.value=i(.88,1.08),o.connect(r),V(r,i(-.3,.3),n?.3:.5,R.bus,R.rev),o.start(c)}const ce=e=>{try{navigator.audioSession&&(navigator.audioSession.type=e)}catch{}},Se=/iP(hone|ad|od)/.test(navigator.platform)||navigator.platform===\"MacIntel\"&&navigator.maxTouchPoints>1;let k=null;const De=e=>{const n=Math.round(e*.1),t=new DataView(new ArrayBuffer(44+n)),a=(c,o)=>{for(let r=0;r{if(!(!Se||navigator.audioSession||!l))try{if(!e){k?.pause();return}k||(k=document.createElement(\"audio\"),k.setAttribute(\"x-webkit-airplay\",\"deny\"),k.setAttribute(\"playsinline\",\"\"),k.preload=\"auto\",k.loop=!0,k.src=De(l.sampleRate));const n=k.play();n&&n.catch&&n.catch(()=>{})}catch{}},se=()=>{A&&l&&l.state!==\"running\"&&(Promise.resolve(l.resume()).catch(()=>{}),F(!0))};document.addEventListener(\"visibilitychange\",()=>{document.hidden?A&&l&&l.state===\"running\"&&(Promise.resolve(l.suspend()).catch(()=>{}),F(!1)):se()}),[\"touchend\",\"pointerup\",\"keydown\"].forEach(e=>addEventListener(e,se,{capture:!0,passive:!0}));function Le(){return ce(\"playback\"),he()?(clearTimeout(ee),l.resume(),F(!0),A=!0,v.gain.cancelScheduledValues(l.currentTime),v.gain.setTargetAtTime(.9,l.currentTime,.25),qe(),oe(),$=setInterval(oe,200),ne(),!0):!1}function Ee(){l&&(A=!1,clearInterval($),v.gain.cancelScheduledValues(l.currentTime),v.gain.setTargetAtTime(0,l.currentTime,.15),ee=setTimeout(()=>{ke(),l.suspend(),ce(\"auto\"),F(!1)},900))}fe.sound={supported:!!j,get enabled(){return A},toggle(){return A?(Ee(),!1):Le()},setNature(e){Y=B(e)},scene(e){K=e},hero(e){C=B(e)},thunder:Oe,tick:me,click:de,pop:ge,chime:ne,roll:Te,whoosh:pe,lightSwitch:Me}})();\n"},{"name":"lage-map.js","code":"(()=>{\"use strict\";const E$=window.KL=window.KL||{},Q={origin:[52.486107,13.541625,67788.425,111319.4908],local:[-550,-120,2600],bounds:{berlin:[-30720,-21090,14865,16455],lichtenberg:[-5790,-12285,1770,2040],karlshorst:[-2717,-1357,744,2034],quartier:[-139,-121,190,290],routes:[-1328,-1453,159,1209],routesAll:[-1328,-1453,191,1209]}},L={land:[15,\"R5dG|P#3$!*)#$)+#5:)$$%)$-*-$+0+&%,+$%%&!$,(0!*%%+*#%)%%%&%&$-4))&*>.*2-!&%)))%&&!%-%!#5%&(&!!*)2##-**,)%*(!%)!##&%#%$!%%+!#%).+&!((!)#%#&##($!%%)#&,$$!*)()45$+.)#Q#Q#D7/5L./3-!(59>k#a#BCQ#$1**V#)MW#0+_#+#!)-#)(1!;(-!B&!1k#-9.+2;4/*>#7:3,&:*.Y$0p#d#A.~!P#HR#^#@{#m$337:)-CW#4U#-+$152g#AB4?u%S#i#v$s#o#c#^#:-D;#(g#Mm%b#BP#@#{##&4-Or$2y#7#[#z$@e#|$*~!){%g##$q#W#S#~!FQ#BY#+7&$!(9$D*51+>D!5U##J)9&^#7D-B$F0W#h)y#W%7-+5!$7ES#6%,)2(.+:,+a#*++U#$%+&N(w#$W#/V$%1^#?@k$w#_#e#AU#Eu#4V$=m#5+F-}$R&.q#5&++Oc#D158H-#B-!!)!3(&1&&%(6$,9!(%)j#>$>8Q#2^#I)*Q#+e#B@;J73!>*$+;-[#~!7/JS#F1B$U#/7Y#!B-B%5^#+&0&A%C2%.d#=]#5$)-HBW#DL)NR$q#}#F)1(-$$)5-U#-1%L+J35;-%6~!>&2i#U#+!+*5T#*3n#V#$]#U#,s#M(#&_#.G4MC!)D;B5D-c#/,Y#;-%7%)?%_#R$&72N&1@N/B;/3H,+8/.J$5AD*)(*().*,-*#*12+?.2&%#(,,#01(/0)27%#,16&4;6&6D.+#*&.($%+%7b#g#2)(2%1*#(9+!+13(U#FD*0a#7%!&-!$&(;2@AQ#69$52$++4**!$$%&2$8::.=&E>I5.;0-2>*N&9.!*+,1%1$+(+!)81()!+2-%B(3!-:F6~!&Q#*-2+0!4**22!4A440:*A&6-#${$):#0&47C~!C+.$0%P#M,)?!l#z#5Mp#k&l$-G.A)*$*0?,,*488,2A*(.%.$2*%(0&I.6|#Ft%U#t(.(=&M1X#%,+#/Kt#U#A:2(=4V#4?-R#1i$;K/G&b#9(_#.K!,_#h%?~#K0M+I3h#LR%c#g$F(&%Nw#|)_#^%n#%$(=&k$2r#%,h%v#)l#%1t#i$j#p#f#j#j#$_#}&S%K>4;Z%T(+*#4E@i$_$KD2)?-G#=*A2:(O&C3,T#&T#4a$,ES$&8+l#*##l#@R#@X#5Z#-6#n*X&$~!2L!/Z$09*)D?7~#)T#0h#,4*(*!,.&d#W#KS#;;-!*7,#*&KG)AF#.3&&/8$$;?LE?%(2>*?..,,-P#B:%KO:E.#K=((#.:A-.##(%6#).1$5##01#%0.$%:4(($&3%D*)P#0#R#K--91-%-./_#C%,!62~#g#E58)8+()#1/@-+6/%-2~!I(P#3,BP#~!=-.!0A?*8!2C:Z#n#;Z#)R##620)?$?*?/?52!47?-:&_#s#652]&f(y%[&^$]#|#_#4%,:.*Z%Dz#)+X#-V%Ny$1f#(%U#Q&535;3-Q#&3&-!&(+#/:&8%M,A/.&O9G-E$.-*&A).!b#%82R#.,%*S$~!0#P#1*,.K(%0$/M*!&6F)>(>:Q#.W#CNZ#@Ai#2B>H-31N+>/7)-&-/D5;5s#7~!@/&)=H$[#/3]#%2(.==G??C8GAM*E+.;.30m#_%50>d#+Z#9!/#+$!#5/@${#(;(D1@#B$m#(F/-i$(66P##:i#1N*7!g#.)[$#*$$)d#A#+m$Q#1/#S#+m#$N(39#$--&!|#^#m#Y%+#$5%!$-,5!+*$!),$+B.&Dg#+F%!!)&$./V#9%$!)W#.N#W#7Q#)~!1F7&#F;3%$(D$)%)!&%;$L%&3&%)$&*/!$%@-$%&$!%)$).+&&(+!)*-%&))%#%%o(q)!#$!&!%!#$!!$\"],bez:[15,\"4Z$T&M#&+]#,60x#b$t#e$,5T#=0!V#/CP#6f#I.C$.I4::!!2*6$G;.86%*/*=0284:(b#C**+0*(,!:2_#26+AF2!T#c#%//!!%&*.V%n#6(Q#j$2>=.k$:&>2;#L9!!P#0_#(%!!=l#!!1{$#!#9!!I(!!%/6)!!2-4p#=&*!O+0!2(!!($Z#0n#Cm$P#~!!!6#%.6$2(,*-8!*M6;0/,=*(*S#*$2.2%64$0*,,%4$E(224=0?$.+*3!>,/**CT%D*#%)(!.I)0X#k%K46$?,(p#S$]%*$!![)*d#!!!-%$)-@u#,Y#;3-BH77)2^#8%C9V##K&M5?&d#!?4#-)+)F#-h#?#&6%Z#)?%#&*$P#*:m#&q#&@)-.!#((-##8D,>)$!&,%%&*!.#?c#+DM;X#9G$A343#i#4>*@&D;N&>?^#-g#!H2!!=S%I~!EY#_##v#^#d#w#Z#S#P%701,%:),#=)*3DS0m-^#/5%+-&9/)/%-05*>$~!1N,k#$i#.F3k%~![#$;4+&$+7#t$8T$?++$*^%~!+(-)&%1/+#q#$A!!-!e#L/6-++,D(/673$#$3Y#[#>H#&1&!B3$5*+)&35!S%t+=9(!KP$W&f$&/#;&!E^29$%.%j#I=#R#/=t#),N4)==(@d#-Z#D|#;e$Fy$+$Bh#U#!22I:+43�,%%d#M+Ac&:1I*$**C&=Kp)a$~!H78y#k#7:h$|$*~!!-s#r$$3.B.3*Dl%(Q#b$3>[#U#g*{(^#>c#-4e#39&5/5!9+7*35/,9&)(-&&.U#=F$$:;&+,-!)5c*r:^#+F#9*$&1#&,[#G$&/OL873L4c%t$S###>@-$#~!v.P#(!,T#8K(!!K&!1A$0ES$08#E(($%4A:%I^$-0!V#1!%C222(R%%+h%*q$2M[#,~!:F.%%-(.GEf%2P#q#n#g#x#;*34u%f#5,$%%$18X#k/Z*b%Z$6>8^#2!#/,%(@#B+@(!#J&$(FB$#1Q#HGQ#&$#;7&*F$&3&F5Ha#)D,Q#p#:EL4&(##&-5*+|##:,#&>j$:@&$.>/+-7T#D:S#K3>JF5@);/77/51!!z#/f#6+4Gr#P#7Oh#CD%!*,g$7#&,!GFK!!L>9+!),$F;*;.%,9+)2N6Na#Y#6~!%#2+4&0#4*%+*$%/=.(1:.0C4/:A*)I:,7Q&3.0:i##$,08J%>.14n(~#Ka#714c#!m#&&(&!-$>![%I&!)i$!#_$&)%&#N9p%}>o#}$k#?i#4/,&.J&+)S#Kd$HV$$&7L,&Q#1#NGW#!/t#@(;2F&)(A!!+,0.&(P#M*&:((0*#=AG=f#b#!&%#MM,#T#R#86$%*!00J,u#(P$q$U#s$$T#,P#Et#Kx#:_&Q67@;7>U#3r$%7(/5%/e#,$-Q#3S#/($&)#&&>u#+)4B*LW#1J5J@5j-m#/;)$9[#-+#&0(%7+~!AU#&&6>,70a#L-T$_$m#[#%17^~!e7c$%R#.E8n%{$AK+I2=#:.=%A,22,AE*6$O=G$.+0-=\"],lich:[15,\"Q%p0y-.:.466:.?(E4=IL2;R#U#C,6.*/=%#;?=i$$%;-}#$+*,4$%)$5%FKq#;-P#(CG_#E42%#%+E6%$:%#HP#P#G$0A#)E%#$I)!*?$A)?-&$.3!9]#7=c%Y$@e#|$*~!){%g##$q#W#S#~!FQ#BY#09&##&4-t%g#25:+f#y#p#o#3Q#Fg%/H,)&&E/O;Z#-3N+r$*i%S%&3)33&D0!!W#,1J_$;&5B#&))$F19FT$#10B%!!L)!9L-U#G#&+]#,60x#b$t#e$,5T#=0!V#/CP#6f#I.C$.I4:&0l#Z#S$^$K,1_#-67=%%BT#*O&61)$%,*8Z#\"],wat0:[15,\"ET)S67,8p#@MIl#%E/,.%1KA:G]#S$!r#?R#*8$_#JR##G8=P#I.^$l#Mz#h#b$V#LT#+W&*.-Q#f$>D_+l)J7}#5x&7)RD[$.[#N/D0&?(.Q%}$r-H!}#n%FP#S#EW#8GC,IR#b#g$,GKX#2:&01,$P#,=$2-4#=2&?;1>#CR#(5I%Q$JMBAL8/M:n#2b#+f#K.A!r#1f#9MG&?1S$d#T#8R#*n#-CJ8/4#(C6*?!4W#%JD)&;99!L:B#7/[#F/99+;*)-)%5@F$L*@Q#J9![#:S#9-7>$J9e#!;*J1>~!#>1;3);B-%/S#/6BD&7>-+N1/&7*U#+B-:*(!=D!(?/i$@.)0@4+p#B0(?/#1;(9:/.q#X#[#0U#+@*+&@,T$)395F8!IL~!J(3I5.,%+%!,&+L*,GHA1?1,a#,-AQ#,g,1+%(/*#2DE&2765&?.T%Id#0x#$R#DO*=S#=9#U#-BOY#,D25#@/f$M52B)>;,>7/^#7+76Fl#;=+_#~!G-M-05%&b#5A3*+8m#OB#~!D6c*3U$X#ECB+;;X$g#y#X${(y%P)b$H${,T#a%n#q#.r#3i$c#G/g-W#j(|#[)U&o#p#]-?D!/#$V#F*9T#g#P#9%S#)34m#DY#=$;&$).52#(3-+%5+5J*J7$U#)#(+33%>h#_#?)2(M&64:@:#?>t#-:(6226(?589/1D;+@.-A1!365&/27%34S#%/A>.Ej#;_#%C-T#>*5:7#FE-!&2)*[#K!*+4!.58L,-/=U2w$)S#*DV###T#E?/Ac#),+)&,;-+1()4-!#=3;D.$,m#:7%1+%/C#O92o#d?C?)C3(Q#5;G*MS#T#/)/;ED+~!.L:BC)n#w+~8!3W#)c#89+.*1#))(+518.O&61t#.I>,B&^#R#[#:7:D$+413S#7+9.5/H6))/(~!AY#l#@6?9(1R#a#Z#N4J_#w#8i#:B!-:-)X#6?),0($GS#0HT#9(-=Z#(GS$9(13W#R#S#Z#,P#9Z#/!%%@27?>81()2JIQ#(!+R#$EF%36-Er)o$(#GL.0P#/,-!1I>4#A=/AJ4F#&]#3Ek#R#;(;Z#98J0Y#99H4Q#+/**#3!=M):D(*$5:;C/ES#j=/.--.F)B.f$L11J=1#1/12+!557.!&/H(9B*7*%%80)V#E,G3R#8.&??.,.&f#12,h#+00T$U&:@)Y#(>:76!?7*.&.Q#R#%Z#Y#j#11,h~#g:HNY#f$9$H8+,E.0*b#~#j#g>u$$)q##}#8?/;-L6S#!0*8)&*E&f$Iy(b#/,(21/@:A*@#Y#;i#1i#.a#@d#8T#/O%l#:.$GD_%H.7NZ&%)P#k&Q$3f#9/@;l$u#>W##;1?*T#$t#=.6(R#8&)Hb#8,2Q#9;=)#/$0P#.*j#7P#.T#3x#!]#9V#&M(_#R#)(Q#HQ#3~!#*B{)X#*C0i$~#6_$);7-/s#j,,!?H(N4>!57!!*353**v#>2^*gD}-t)4g(#~+p#d$EU#GDR#9|#$4:0#.>/*X#A(#*+)7.$r#;y$2{$7V#8Ow$^$h#p#P#n#.#%23%/L;H{#X$j$R$H[#~$S&7X#HX#6,(*++5$+=%7)#W#r#FR%,g$)!1h$KY%Y#..M)1F,E--9(+]#78F)&61Mc#Es#AL;#=)?H!31)1E)$2F*$8.f#V$g#:85C&:;(H/p$:X&/h$Kv$-%&03)&G345]#)1/$0)&U#Ob$.U#P#g#d#9$7359$9H)G@4>T#99)@P#i#,&:4,&&5@5)D1&-5N31;:V$$o#*L-@S#~!9~!%LB(L-1,Bx#@85##=7Om#O$P#5(-)(97!#45E4(!6-(-A3*51-;.3-);%g#C>A0;+-4&!+,%R#71&@c#2q#-DG%..8+p#k#=X$.+(9E12#,>T#+8Jd#G.$&/m%|$S#@N+s.7Y#e#%&X#_#^$*x*.j(B2.*47g$f#]#G%%)-$:/0c#%N+U#*$+&*Q#,&$30@$52,2+2#+5(/1#!07#$(&+)*$+A$#3d#)(;y%@9+!+W$:f#([#>y#&)-%/#2v##U$Ch#^##U#Nw#)S#;E2O55)9(9ALAx$/4!&.>.&Jz%.T#4C#/*$(#6473/!&.=T#!8@KS#P#-6#?)#&@&*S#.=!#*!-6&*P#D%(0(-:)!H2#+4#476Hr#1M$T#@+9G!?96#63((*+$&.,.7A.AKR#&07(#(X#X#2b#=80:!4;0%?+8.6+G2.%0l#G4:.T#.0-X#HM)Z#BC2%K1/!(/..t#;i+o#p#s/kJ1).9)3!7%+*0(+#%.),#3/#-1(07).,&&2*%0>)&&.$+075!$0++)4>.&C*,5=#9+&*J65!7M/9-/2+-&./),36$23!*?%&%8O,_#3600;/),((-)-,(5(%$-&(/&!;(+0#%7+&&,3!&0;%#,A:3C9}(Ry#$:>&!58F+-#>(+8!*59>.a#63#D$C4%A7(*7E#]#Ff#%8AV#_+CJ2W#C3$L*383&;=%!7352-0#=?!4D8%4)652)=50IT#L/Nl#%_#-,;%9)--7q(w()O2O)6638*2+6#%/-310-92+#1R#@=~!!3+)5.D&,T-R(G:&?*C?$07!U#DB>%o(c%k$$90>l#%43.F0--H!h$^#S#$3n#Y%*+8*#/5-0!IFE/014#2/636J&V#H6N.k#_#h#?4A/?F:+_#6:!2M=?GE06&T#Q#Gc#2+6(2BP#52*,12)?$.2(5R#S#b#,A@!D=:C%2Q#R#m#0Hu#k#E#j#A(2/A~#P#,8$KI/I?(4+KK:(GC:GO=2&=6%GV#4B,$4*B7Z#&$.8$4(I8066%(52-AG6.^$.S$Ek$Z#z%:t#&!.l&/B(2-c#3i%m#W#/T$/I0T#!((2]#+U$0(1&-I72Y#1>%!*&);(J7/B2^#+-,)(j$O(c#5-(N-Y#@Y#8@)N4)2@0,0C0#.E?AI%K+MD0H;+30c#ND~!(;B&B,D89A.6B?#8599!.3&LQ#Q#@Ha#$F5@^#FB?5(7$D7H&@EQ#+LI#0M3*/T#*@%+O9A;31P#>,&?Z$d#y#.BZ#w#$52Bj#;!o#P#J]#3,c#*i#G)?(?/KDP#.z#>r#GQ$Bn#4V#i#^$(**)*0+K(=92D)7W#:B$1H@1*J1F6*,3l#U#!!,E.7?/77%Gq#:5-S#M@?HP#L*7.&#=/64#.H$@=;!Y#@U#$;Cy#Q#g%.5K92v$,;Fr1e2F9D+g#,@=&Ma#n#//_#W#.>!9|$k$$+V%|$K5]#&t#AG$r%T$z#;(52/]#,%,5,B$;2--u#8Q%t#!2)!%/J0W2U2k/MFX#R$p#V$%#q#U$[#S$>=>.N*w#+X$BD$;0S%o$[(S$i#(]$BH$u#:~$:Y#!8_#/G*LF[#U(+U#6DAY#U$$.4=*K-_#*]#4X#4:?(R#B6%Mb#Y$T#,*)02.v#:26O:x#_#w$g$X#C:#h#LA&?R#?j#GIO#A@T#5=.2E-!-D9+Q#2BAo#&H1Je#99N-S#%k#~!z$b$v&n$!-/-[#Da#;~!S#-*%=?E?0*2&2X#E(*-2;(~!B-BHS#>+9@3&&(#+HH/@N=MF-^#3B4m#5Y#;D7e#>>y#Y#D);33F@9L#F:Y#0B$l$Ha#,>3;S#Q#B+#.:).B(9133,>1/Y#O^#(c#&u#Hg#La#*@;W#MD%Q#)J,1.~!*r$BD$~!1/5+;(+1$,)&@)!!5+!*$-$%--+*/$;/(%0+0&-@)53#3(#);+!*$-LN?557&9,5!/I5&2##)5&6$!+5&6%(-+&,$>)&$-K^#3-/#B,3+9;$577*!6&5D5&-($480+&.:+FQ#B/3##K@Co#2S#15>B%!.5#U#=9R#DK#R#+8%46%%.$h#*A$*-$-/5i#---4$/1()52L+7*1+/5&)1,F*/4$,>#g#.U#)+a#Ba#(H+^##F,F8@+>2>3$M>29#L1S#059!;4BM)l#&*6?#04?5A(?7=+d#$Z#(%7/;L7%35$/,7-!8@($*$)%&?)&1#)%$4,,-6##%&0:(2..=$2O!f#E/Z#$f#-=V#!AY#E/(Dl#1&1#$((AQ#C5:%$2(#6HNP$>3-@BDD++-0^#;3&~!?N$B9/m#(@0^#)u#g#9B9!22@91@7&;,9++5(DB/!L@B(g#>5J.7);F@c#S#~!B/@0T$JL61@B8!E-,*/$BGB((*=832&U$I=3E0GC.4=_#8?6*?-.$0*2.-b#AE$I?,#0)6,66%:-2#((.=E(Y$S$Z#(A/n#+6,(GBK*P#861Z#G.EG0A80Kt#/M500,.HK@2N8>2!*)2)E/%)/32F-5#/7/;(5AS#*=-8!!+27:+:.$0*41C,0!*-(~!2+(3$)01.):-6/*x#LP#~!W$}%(/97@+-/$))#8+492$:>%,0&%DX#a#2)20?U#I/4@E;s(o#2*1v#*EF&{#S$KQ#J?&+F(-7:)R#%(/,!$*AD:~!&B,~!)92#Y#5#)R#29-=>((,&&..,C-4;*S#6#(-+;9,+),D=+X#6I-0429$/(!(LE9?Q#,%,E2!*B6@*[#2@4&)>1#)0-/.-=k#21#N:)..!0A34#8.0==,;^#335!)-#5?L+S#.B&H-+/4#O)27)7*)+*3)~!(%%9M^#$D930/0~!)+*$(@)F51&3,-)Q#HQ#2()3,*8f#,*)86R#R%U%A-@,~$X%/M)_#(v#,A2#6G-!7P##K2K$R#6E(E:G-=4:$h#2~#5A(:7Km#R#,(+h#-0%h#3&!9-/B3&85#)0.C*#+IE)d#j#(E7M62%I?,*AE#Z#K(4&0:E$O.4b#/I!288.C#:8T#,R#$Z#E0t#0=,V#V#X#t(S#t(:t#8o+P*=CKS$M=A!y$9~#@O(r#=z#)P(P$T%r$E3{$Et#*LyNz1W#NQ#C@AU#0#7S#FF9~!/v$0s#?L(k#/_$S#D$L,$+A-G#K.r#Mf#*e$Dw$1V#,]#P#E0p#k#8-4#P#IET#T#:8MK4(.U#$@B#7c#DQ%o)a$/F=@6Nj#U#,5-/E@$-,/D&g#F-@y%o%c#m#u#o%@s#W#_$!7.9.+7:$:R#W$Ax#p#Z%(6h#p#t%n%*:6%C20,E(/4*,&,,#P#1:D/-GF!BGH8#b#;*A96B%$..AIF)4,28U#R#&A>AS#2+,J977#)KDK3!;>.7(*/JE}#89:+27#U#,1z#n#*)R$u#4F2$2223)W#Oi#?7C#E;Z#$?0414#%(10!8>*4:2!NP#{#&;r#90&r#/.7+)%08)OQ#P#;z#J!)K7=N=.6$#/>Q#&>X#B$7/!4~!/D@@=&6FIa#,!A)%(#+#3K;04?1I~!C\"],riv0:[15,\"(b&;,/%H$1--/!!LU#$7*5)>(NU#W#5Y#7D2NO)X#H)V$y#2&$/0J!N7>(!!;N%F4F3g#,!!~(W#v(=b#2O?U+g)6=I|#6CC!!_#(R%;v#>A%Q$?K#E&_(T$X%v$?/4!e$Ev#*O-=367X#R$l#P$j#e%29l#[#f%S%K1?!G*M8V#$A-V%{#R%H*p*EM&n#@m$3b#0j#V#?.(U-g$m$x$.5*DQ$g#,k?cHBU$Fj%.]#Gd#(E+616NC%!!7I(P#/0y#/*Q#(k#-R$9W#7T$k#F/c##[#4P$%^#2/!!H1~!4L!3F-i#-5~!-H3S##F+-($!!R#y&%!!k$@_#>$!!R#+%~&b#e%GY#K&!!6(O!6.$!!?G+!!CK40Z.6V#(E0E=~%X%4_%s5@T#;~#,g$&t#5W$,d%7O~$~%@j#T$R%FR%,m$Kv#,R#)KQ#Y$$f1z^#@H-y#5Q#5W#/>!W#,Z$Nq#v$!523!J:!!8+=BO7=94):(l#l#:(C+4N=B0+2!.*,2$G(68==.=&0-6U#)!!JF~!@5;5119$!!Y#9(!!(.202#2)4Y#9z$q#Q#0~!1N%@);3JQ#/;/-~!&[#7Y#%^%Ji#,e%q#3$+!!3^#i%Q%,_$MT$$39J)9%b%c-3.e#v#(DKi$l#]%o$O:E($,$P#($!!Q#))#&X#H=&AR#?h#KO*!!M$EBO3=00C?.&X&-;$H3U#o#&!!&//+W#+(w*v&c#BR$e#c#B513[4}#7E-K>Z#.4#6/GDCF(-0-]#IV#.ANV%!]#HK0.b>-/-$NI1(F!@(Q#&3&Q#9R$Y#a#,55+i,v$W#9+#-2;#)+-i#+/(!!.&E,?6:G&p$U#+.-#71+!!J/LL[#-U##W#g#;/>$(1U#v#LOJCS#t#a%%_(p)x&^#y#D$!!U#5%!!0,G*/U#5JDu#U#}#Z${({%B3e(R$F${,V#B*r$f#n$=Z#]*j%*+!FE>((!4(*,$232&S$I.$0/6*X#MIr#4:6(K-=4+d#AC$GA2&E,24(:-4#2CE%8?A4AI6.d#%:/l#)6,%EBM*O82!*/=$:..=%CE.?:2Kp#$8-8-,%p4p+6KP#C.!!p#p#6d#8=]*h#8?(b#2G0R#,2I?%]/R-5Q#S#>(!!/L#W#);g#c#*!!3q#GU#C5(1#q#X#W#(!!4D(@%;&m#-!!0q#9q#)N>S#+j$0[#DN$h$2{#%!!V%c%A+&v&62C*Z#6V#&V#g1@O)8,~#\"],rail0:[15,\"%/[&:S$.Z%%($(;$Q#(!!#:024,E%(!!}$#m$>Z%r$?3%#!R#/M*%A$y#>g#~!%!!/5{#e#(+293i#Fy#s#S*W(%!!u%r$S#>&~#V#[#Jc#>b&-6!!{*7b/R$U#3J9B@;DJs#LNY#>Z$9S#D9Bl$r&LJa#DL+y(7Q4Q#%i/YNO!{1]$&!!q@f&_#&r,8$(#W$C%I&I1?$%+%H2;8($#-=$?:f#0d#*&NG_%=Z#Eb%(f#:Of#|#%{%y,9j#}(Z.&!!k%m);:d&T%$!!P$d#+!!U#G~!0h&)B(l-h(k%W$Y#4&!!b&_#g#f#u0W-,uBo>[3X>=>G7],q%M;r*|)KN|(x+&#&0B!D~!k#)!!~-T1>L9a#R$^,/X$()X$)A747#~!+)!!3@$H.;d#y#!H(!!g#Q%/Q#5U(,D%!$2~!!>%&+W#Z$-_$%!!w$P#U&W#$E$e$[$$~%U&f(|(+k#[&*BR#a#=a##a#?]&=@j#7-!!}&[#T%3V#4n#R#_#=M,|#(84.A%!![#n%+V%(!!18LG>Z##2*2U#3P#P#d#+U$/0Y#,-T#1)#;)B#S#AF%F.7$;1JNFk#Y#Fu#3}#Y#v&e#)9%[#U$#Z#R#o$22P#4,&!P#AS$_%=8r%[$T#KM=_#*R#$$6&f#-%+.f#&C-&!!C&C1e$q#%!!Q$i#|#3&>!Y/l$C9.F)!!D{%%DAy#!D/D(.)f#F2$M2=A*!!8l#V#O4:Kd%8?Z#Z#*a&V#/5&9?}#&}#3FJJ,!!71>&e%IN&3->FU#L>o#*a%Hp#781CLGa#V#S#?~!(!!DP#Q%c$c#O3?*9,W(X)JFL/h$$~$*Q#2&$!|({*T#Y#Q/|)/u*c&_*]&_#5K,m&]%A*=&Q$BS$e#IS#:c#ED*W#~#,Q#6>S&^%~#Q#:7T%j&+#!E@E/r,e#o&2}$4m&-K(%-^#7GL4%|#o*v)m(u(P&$!!r)V.$(-V$j%%*/o#q$c#d#%FR#W%^&|$t#+!!z$g$[#v#/R#;Ou,q/d$d%g#h#%v&_%{#KT$E1Q&U#q%V#S#!~$/9%30D_#;v#NZ#B.w#+;%y#h#>.(!!=b#f#W$E2]#+$^%w#S#o#(#-;$5+L~!g#3.$!14D,5]#.E:Gn#t#0I(t#;I>6%!!u#%B*(X#%D#7./8#A&!!*S$8T#]%V%2P#Kj(G]*/6(n#KP#Ez#e&On#A4W&h#n(a)R#p#:2n#8C?*2C2h#*[&,684:(:$(y#=h%S#S$[#o5m0{-m,(!!G>I1K&O($]#8YET1*g#3f#:08NX*-41*a%K&}$s,d&W#s#Hn$;(%#~$;o#BD&{*E)p3c#Dk#@x$#U#=d$$e#(!!EJ4Hj#V$h#w#(!&J,>&J;3B$!!f#b&)!!0S#)w#%B0JOo#+Z$_#8p##=De$1Y$+01*q#(%!!o#$a#7$q&p#=_$$%(KV&&!/W#u%o*i8g#l)$##;l$(!!g&i#r0R$U&5e&k#*!$I}%]#P+e#m+;^$>OY#A,l#;Q(^7Y#o&>r#Bf#JX#_)T*Nr#5X#%o#f*Y#h%/w$)$0!b#>U$&p#(CT#d%(k(m-)=16s(j(V)f,&4>-C(Ah#|#)LQ#T*i+n(d(b#Cr,f%Q&z#($!Z%l#E=V#f#*T#$%W#(_$/!$(g%>HN-H,>=-:1h#(?2?:2A*$!!l#)%#!g)P$V,p$&!!E76F#^%)%U&%R#4C~2j4e)p(})]%(VNy#7^#d&[2)e#,]$1(s%!N5BD3J#>.787n#18>4D%P$JW#Dg%[#&t.$8o*-Q#;N$Q#e#^(c*%(,R$r$|+P+&Q4R,@%;+~!~!/{#p*%M=Iu$h#_(S&?A4E(Z#JQ)(]#5|*!~%&#f#%6.4_#M+q#g#&85Gq#p#>V#i%c&o#V%)P#,r/jq#){#.B87K1j%%X#-M7Q$q#(i#V#j#[#K7C$?.(#!8,8!4-03%q#2=?,V#$R$f&}(]&*_%k$k#@~!$a(U$9:)=?e$%e#y.LQ#1u#&3E3/g#5N9)r#V&/|$BP$)J#[#8m#%%D1DHH%$#NLNU#4!!f&x&BQ#e%t+g#W(b$s()D!W#T#r&(r&){&U#g&#d#b#v%T#c$d#T(q$y)6Y$v%BH+;#B6>x(V$j#Y#r%[#CDKs#R#Fk)l$E)Z#%z#Cj#0f#8C!?+(%!Z-d*q*z(i#j#e#i$(!!-A#f#.:EI+P#V#[#[#3-N*B=-OGS$(v#$BEG_#&c$Z)Y&u&~#r#[)i)*9;:88(h%FA%Z#8j#1$z9u2S#g#6)7*U#I[#KNE7MW#T#>Z%H:/e$}#I7g+Z)05*9+F9;R&Y#c#*c%_#*r.&r%p$y$[#?)=,46,:$3o#m#=(!!E98H!@1s#$!!Q%n1&]%]28r#:0?&(i;F0B85?&K,(!!K!f#@=;0J(!!)~!BJJ1Q#(+u#=y$S#_(P&?3G+w)Iv(6p*]#,!!Q$,p%>r%5m&Kr#&M3E;{&l&*32q(Z(U#A|$_#F8BA^#t#&!!])Z&[#9T$5(x@e)L7;H&F0c#&8o7[(l#;218&d:bOp#$.*6=(!!Q$4A&f#;f#%&!!ZCl%U#-j)D()n,K:2G)IBG$!!Q$w#$bd$pW#g#F-U0zJ)654S#K@(X&c#s#+{#9W#!F0&5,~!=>(d&9\"],mot0:[15,\"&c%z-+m%+H5J&h#m.P$~$$>*m#$!!.}#&!!*Y#2U#p#t$%Ew$d#Ho&{#%e*[25r)+S#::t**W&1g&,T#V#j%$o$*X#8_#Gd#o${$x#y$Q#}&4x%*8CAh#0K8|*a)AKCv#Kt#4.?$T#u#~*7Y#%^#9q#Cr$4@?7t#1V#&w$9G#I-O%_#4KOc$b#_%4E.f#MZ#+C(=4CI6,G#n#-t#!G%G4IGC6Q$g$MI2,A(.*Op##:7t#>]#$:(M?W$%P#/T#7IFAh)d#q#=+w*m%%B&>771H4w#;l$%D)n%Y,GY#b#Dj#R$E;p#_$$b%m&&f#B{)p*|%W(k$q%],R/*;0P$)7>B+55~$,U#k$w%CJO@Z%a#GHOl$!~$(J4@P#S#0H$a(2a#6FC>m&Z$GDe$u%v#h&(+:6@=5C-R#!,m)7S#:H*Q*3k%Mt&-w%9l$!}%;Y$g#)h$KD(T-;N0y%S$Y#0r$5w#&n&;W(Ep&&|&9t&&q%%^#0g.v%[#,t&1u,6U#3|$R$J1R&7q%*]$2t$If+_%D#n&-N,H=;OR$g-9t#Nv#Y%[&9O&K.S-;~#n$}&&O=]%=h#MX#a$v#j%[$IE:Z#4[&:V#j%W&c&|(u$h%w+[+ER#^$z%s)n*m$x#_#?b(X#Q)A[$6V(|#e$b#z%Oi$T#k$t#Q$Y$]#~#Q$q&Kl#Z#b#b#MS$Eq&8m$?z#E})f%t#?r#2z#%X(-z#%~#2d(d#Y$.g+$_(:l##v#+c&Dm$!l#*r#4U&V#V#:R#&$$*X$@%oE|$>g#Da#G:OH^#~![#x&z&~!i#@g#3i#+s#Ey*-Fe#w#$B9B#5?B$;;;k%T$HDS#7;9Li#b$q(3;Y#Q#-@)g#-/B9&o#(>e$n&Z#k%,/I3.p@~2/?r$U&~!]%$E*T#6My$P%?P#,O*x%&l9_+Q#1@!k#E,##U#A14-:W#u-)b%j#e)n%V.:W$({e#F!k#6a#AS#b#[#$52h#g#)e3e]#R%(z(r#x%/g$#f*3%[0~N_$P$3>@#-)^#9J^#L{%e%[#>W#-k(#B*Y#CF(B-g#S#[#5N$f$,^#+a#;i#S#B1i(i#u%7~!1J9@B3>&H-36*t3Dt#-l#.b(EZ%!g$3t#Y#v#;T#Bj%>O[#_#c#p#D6V$:Y#?783KDI3q2U(g%T+9;Q#9;H!>.W#&i##y#-DHW#-J%JAi#$D/H*ba#i&T$$^#/c(u#q(X$^#&e%0$eo%u%f#A\"],mid:[5,\"-n,^+c#o%&Np#p+#Q#4R$,9|%Z)T#s#?D1!!m#Q#R$HV-W*x$s#}#@w#+w#J]$9~!!g%IB#N5JN%#)T$S%W#[#%!!S#b#H_#&!!BP#U#i$Lp#&d$[&_(t%46,C)!!(h#e$b(8_%+Mj$s&)!!Y#_%S#r*N]%c#Q&;^$&v#z*D%>.~&v%&S)V&d(&g$%G)&!!,M*(:%&Kg(#5+_$$s#,!!%|$c#y%4g#_#g%]#T9(+M5Y$*&!!4Le(},;_$+g*m%;%D&^%Q#i#!^#/r$+Q#0*%d#c#!B&}#~!F->!3,-!!i0}&j&-]&5{#/L/S#@[#[#D;[*a%3>Bp*2C/r#W#m$>h%!V#1O;8)o&(~#Bf#6T%Z#~#V#o&e$%4&k&q#(}$%m#)c#$!!)Y#%)#&g#*q#%!!,[(:{#,Q$_#q2{,~!HY%^%L@W#9l/P&F7s%e%,}3vKP$S/X$g$o#i$U#V#r$a$LM1:g#a&-!!1I!0CS$:T#;p#7~#In($,Q#b#,q$~#~$r(HKX$v#1A(MP#{$,R#t#Z($!!i$_,*!!i$y-52&0!_#2t#X#q$)3^(V$.^(b#k#=r-u&X$?$~*u.v(j%%A4C?0K%n(j$G@x(k,$2@P,i2)&H$o#+Y#Ba#?R$7h$,!!Hh$Ge#(7)s#]*b34U(*i#0[#(!!=@m$^#t#S#d#^#/!!,&27[$U%(5,b$d#r$T#w#[#v#e#o$/o$v$t%%}8]/q#*k(Q$$!!x;T,ET#_Ci/#X#1p#~!I5A)G!_#6I?l#f#T#:X0k$g$,z:4:(b#:X%d#x#R#M0T#!{$.f(CR*8t#%n#&R%>O$p,R#w+d#WHQ)P#$GAa&U$&-~%z$v%t-X2FE)52a#NY#;o#~!P$[#/5%&*#9f%q%-#%z&V+Jz$37c#Fr$Fa#BN1h$-n$%(>n%(e%&;$b$/T$$!!%^#$!!v#g%$)!Oi#$!!W$R&$!!Mm#$!!@S#%!!Nu#5-$!!Q#3%)$$7,F(}&V#.;&L:P$?s#-!!r#f$i$W%d@iCr&a(_$l$T$T$r/T1i#y#P+r+&j%U&o#Q$c#[$t$Y$%(!S#V#&4)Z&k))Y#e#h&,q(7v$9o#$!!o#T&$n2i&j#m#%!!V#L$&%G+h(4t%4%!!]#*=$$!!q$,$!!V#(&!!q$4:.*6)R+Ki#8]$l#^%b%o#P#+!$n%Y%{$V%&!!?=h,s-m$o&&2G(,),NR#$!!W#P#(EI)8W#|#.I$*$!!3b#%!!9p#,t#&!!4R%)=@K$!!u$S&%)!b%R(h#g&$!!g$~%$.2j%n(+!!S$V%d*j(}&Z#,&U([#c*k(b$i%$W3V(b%r#%!!y$f#i&|#&&%P%n#j#P#?=$!!S$k$$!!s$x#&%1Y$r#h#j#k$d#(n$m#~!Z#Ln#@n#/,$%O@S$$)&)|#$($W$!&+(:(T#=[$f#%:Z(x&Z0/R#*p(S(u%~!t$k#j$g#|&w%s%q(U%g*&5(/-*D9X$(.&W$R+]#c%=U#.5$*5GS#(##*-0&Z#2.$%!!67_(^#$O-a)/$3a%Q%q*%!!Q(|$[0x-%B;w#c#x$o#&!+~)i*D>_$Y#$B)g#9&!!e#F|$a#z$%$3#r$o$%%$B>o#_#&HV#5=D6l$C*w){&a#T#k#P#S#:Q#Cp%X$b#U#$!!o$l$$$&E~!.8GR0e1$2i%s$!0j#q$=4Z,k&,2&=W#h#$P#f$c&W$$!!l#l#$Q$|#GE$**^$|#$(([$z#$((w$~#$,([$l#%*(~#b#j%j#%P)c#4H#F$U#u$r$s#(Kk1o#%y#6k(q$]&t#,96i%X#n+V%U.T#T&,y.]#i#6t$_#5%(!!a%Z#L:q%P#y#M%!!1!r$d#*$(X&|#i#*Z$5i#%J,j$T#,&+d#|)f#}%4e#0l$-j$#~!n#V/Oh)0o-R#Lo)%b#0K8Oz#a$Gb#:d#Gp%(u$)u$7c$B~#$!4[#}$$-*e#y$(p/7%^#2[#v%i*.5)(*C/q$+C9.>?r&&+!([#*5./%#$A-j#&&!,i+7p##u&4%%X(3k(*V)$*!%|$$!!%R$$+~!#o%*,!&Q#-J1h$7k#Di%X$q($e7U=~%c(%%)k&Z)OS#)!!p#u#d#Z$C+V#&M*&!!02Kv#..%!!:#T%W#$2)k$B&%)^&)c$2b#&&%$l(/R(&o$D%{,R#Q#c#~!_$$c#X%}$v)))Q#@l$&W#/x)*Y%$W%$!!-T$)a%1S,t(a%z#]$Mk#2F?$x&V&p&o($H,n)a+&;Gd$Y$L=+!$!!Y#?+!!92/8&Z#5m$DKHj#HA$!!g#T#$9i)a#f#$!!q%[#%1&d$J9$$+!{#)$H$l1S(%!!3-i#7$$%U(o#%7+>(J$(!+r$/~!/V&j$HD&!!/-5&B3$dIm.(u#,lAp%CK=:S$l#h#P#}$s$f#V#X#]#U$R%%($.Cc$v,$!!Aj#$(,K|#$2I=]#$*4R#^$%!!.M8O$%$X&_#%!!J*Q#!)!!3!;*m#P#k#p#_$|#$t0W#3S%%w&Q%Gn#Ga$$!!2R#$!!=p#$(2R#b%$(46b#$(82d#%,M=m$#?$)>e$9%!!R#/U#(%Z$~##h#2z#%)Ae(R&W#e#%P$e%/71[#$+>;m#$$-/i#$|%{,H[%$/FU#f&%!!+9(>%j%X+l#~!m&k#$.&Y&g#&R/t8%E*4/W#$Y)c;B_#$,(]%S$%!h$L-u#H$X5f*{#P$$a1TC[$$&d>s/u#Id&k$n)p($r+Ge#c%&$)P&z++J)i#&j:f&Q$~(s${&R#m$$%&T#y&.mn#q2r#a((J&Y#Dt$/w#&0,d#E}$#Z#w#~()%!He$BO;:L:u(o$&!!Of*#G+P#(d&9z&a#p+Y#i#BU#&%w)x/b#Kt#A$!!k)[$(0)T#682.4KS$\"],wat1:[5,\"Y#|Be&2(%*%##*$(*(0&0,!(%,###$%*!,[#Q$;*+%!()!!%&)&#$*>*&&!%$&-#>.!%&$)/*&!)()#%?32>)+5$#$@1&),9!1&&$&*#,k#.)E#*&%(:f#P.@)D@*-&+%&%#*)?~!$&(&)+!)%+.-!-(+0(60*((.Jk$)*~!S?PO7+/-+J*5.&*,4)#0$8*46(,:,#.4%:((%0&8-2/%),%(!2+?.48((*)*-#5+/3#Q#1D#5,3!1&--+@&!54).3&&V#[$z(+>@)&)!/610!.(02*A0(20#0+=(*%6$:%.CC*6#P#16$0+4*0)2))&(>,#789+3(5&&43#-)5%31)5%)!)+)5%//D?9$+&);!-+$@T#v)k+?D4)(%#%7*BO501O-,-%B$/*+%&(;#).$0*:$*+$-/&$/#)*)&$-(9$9*;($%%&2%*%!?16!03R#)#+&&F#+&!)K#0&#>,>%&3ZQ$w..&t#)2(*.0&%278S#!>/>$H-)/4;%#!0-f*{_#/7;75&@2$0%(0*K.2!U#Z=y$5$+(%%!%/)+#~!8n&t(/0$$.3/2&${&]):;*3#D7P$+539n-~+MS*r#s%2(N~#+$Lz#!CBZ(6]#,,#$n,W+4:,88Q$=Cb,{&I4]#*A&P#>b#+$,[#*^#=J%H+W#7Q8~,xH}$B!6c#2k#,X$!~$@w%e#Y#)W#!q#0s%_#w%8U(T#N%p$+#T#R#x#2E#2$O-A9C&)=c##B&9-;k#r$591&o0@g#*P$?^#CD:e#h#f$W&a#e$!:%.28(&2C)#*0*&2V#*O%j#@k$$O=b%?Y$:_#T#j#R#42#=!O5U$i#4%4!:*GA8M*P#MT#42V#I~#?R#=M2j#OC:#%9A!%42($$#=62$#&Z#Em$K#$=*=!.2$00.#$686$?=z#P#P%a$m$n#?A!%P#E_#X#p#Z#(06*X%P%82($A4!(a$Z#Z#,4$~#Q#%)d#HP#DC/:&C#Z#S$!2Y#P$/+5&H(D0s#V#;C2,A*6.G#8,66Od#!*V#t#0A!?>~!#&)-&!@U#JW#13F>^#7g#-U#%F*9&&,H&5;>-]$Y#~!D7/x$l$n$w#W%r$r&z$q#F%)i#Dl)c%#@++$%5/&&#&+-T$S#o#S#J7&%#)5+{#;#&&!!#7)1+@>e#{#LD5$/?$6:T#-(*.,!C:04&%:Mx#P#26*:!2/2%0$%A6O8z#]#2:9=$4&(/&#/(&,@,9+!&h$u##@Fa#>B93#7/-&/)!J^#9#/&7-19-,$)%&&))&)#U#c#5,B>34&)05&))%))#&a#c#/;5&& Ja#L6{#]#)1l#Q##%0-K@#/7k#7R$*/Q#k#$3(a#2Y#Gq#+^#Q#z$Y#g#7FDT$+L#$;Y#;Ho#^#R$Q#k#Nk#a#U#5;!7%o#W#;@7g#W#Y#D5N)w#,X$l#V$Gi#*R$&c#;>$7)c#Dw#Do#+3&$$~!!@%R$:@$H5D@BS#Dm#/7B>c#7Q#Q#7(%2282E9I-%u#.e#~!;@#&-$51%-,&-&$/%-.!#%#*)0*)([#/3>5-!/(g#Z#3=#(&&B=B2[%!-%/*!()!!&c#$S#-9%>&@!H-e#~!q#7Q#D5$!%k#^#&&/#k#D@5//w#=g#%D&>--+!+)///1+#&&)&#$&&#))(*)%+&-%$*J=a#Z#H8a#0H!}#3U#&l$EB0#.+%$%$+D.B$).F&;%&*)-/))%&-)$)!&*1#---,+!-)B-a%>J3>$/-1&&%$)-$;#/$!%+$)%F)1//#[#1Q#5;;3D7k#!)0&%1-/5.-$&)!&8!(/-L/5*)%9)&/($5+3.))/%$>$=&>$&&!/0&)5)+-(&$-3#5(-4+)7$>%7&)>#).$600!,54)=53(+!++!)((+&&&%&&&%&$!w%,&(!#%0&!%-(0(C-%&,(%$$0-%J*)&,.0*A(00=1&+8$Hm#-!5+c#S#3&!N=-2$4#(%.$:7C1E#E.P#A,2#0&,/,&.,?&(1&H9515&^#!!0T#W$.4?=#&&)%+!1%!%5,)C&M*2*:!C5.!A96$]#@~#@G3C7IHM9./,14BEU#?@83M3E2%2~#K=!8#?,V##:,($:(K40&4#8&^$;?%.%Q$n#K24#640($#I~#(h#(2!~#1T#(,)!)=%2+0Dk$(,$4i#S$)8*,V#/(-2%E%=9M50$2*f#Z#l#E.0=.Q$f#l#6t#T#r#%f#6G)X#3Q$$G+G;05.+.3%3!/89$!%&(%2$8).+!)$&(+(%*$=.4-!8,8%R#%%]#?R#/224)#&+;?[#8m#.##&!3-$!&0J(W#/)w#-$7+>!)(!+7&!)1>7DD#p$($O[#4D,a#/J)L-!!&,$7}#11H$Y#7BN1&-1-)-7/S#8&$37#!7-!#5.;#/3/3;~!Q#/7-c##>($)1#5,L4D!/7;F>)#%$c#W#)#!&5+7$!%$!!&3!$(&))!!%&$-#!%$$;4o#A!%k#2N1J+95J;->37&51$@*J-B99)D9B3S#+B*N&F.H-;0S#.J&5/a#;/-5J+$$&$3339S#$>(-$+*7!/@;!+)##+->$//+!&+#$)+*-+-#1L@5>F3#)2+$153Bu&!.(.)z#!-?#(2*0.22,8.I%b#-T##4%*.!0.(=!*.#?)G!R#9P#)0)t#&E*6.?T#=!OIP#$R#,l#d#b%CX%)!%0%V#?M?($X#G(6$K,4*(*8(K$%,_#!.)%#2,:(#?V#4~#0C)A#(22*2$#08|#Q$#$?0I#u&Q#,)r#3.#u)c#0)e$-6(r,I(/(.u):_#,v#:.$(*_#?:!%2?4T(Q&(,:4,%Z#P#A?X(Q&v%V%IA0(MG(*S)y&?AR#j#2G#.h#r%Id#OIR#?_#0b#!](U#u$1X#-a&k#f#)K#l#2]#4Y$KO,C(R#d$Z9(-+)+!)*)&!),3155*)27#&%--!//*#(1!+110%0/+&+85,!0(%3-52@8$6*%$#5*$0.%)($*,$80%+%-400!0,4)0-#}$pT$c*F,/8,z#*)#%+(:60A%0#E(,#?7P#W#b#+6.?C=(?Ij#=d#!X#,R#9!!*/%!2,%8&!,Lq$,2O4EI48Cb#=b#044.6*6#C/t#!K+~#*M0A(l%f#r#0f#(X#$.&d#[#_#H?+A1h#-p#4P#6C6A=6?.=4Z#=?6*M(:*?.o$~#o$j#l#Z#022?f#h%,$#(-#$,.A*,.%2&h%R)CQ#Z#W#I@b#Jt#;j#$g/:6&49!5N{#Fy#)))1#)W#l$HU#NQ#t&w%u#c#+$a#U#)+S%f$3+l$R$-1W%h$/&U*o(m#N~!9d$Db$/U#-|+Fd$)1)z$/w#%Q#*e%A)*s%C5!Q#,!(T&G/(/{%Q7k#H$%(Z#4IEA:2b#$,-#D+>+3LfW#hQ##a#i$!e#K!6-4(:)6#6&#!*&((,#O/T#-23,S#.5*4l#)85,//5>1B#!)5&#$+*-(J(7:7M-%~!(70-!F(5(&\"],kh:[2,\"h#j3vBk$&w$Ah#$Dc#n,n#_%a$T*U,U&e(m$Q%n,r0r%c&v#x$R*z%=,E(d#%K&i+R$X(v*t#Z(t#j(Af#$*b)k$,I_+3F.p$Z#P$h#1+N?$:A?+MK?1f#j.g+W$A!.)&x$;T$&P$(u#*Z$:UO]4>&|$S(4B+>H;>e(%+&$V$k%]$Z)k%^,)F8w#X#u#X#U%=%#t)L$m%v)u#T+\"],wood:[2,\")}+~%.U%($T%U$d$!&T#0X%y1)f#U#).[%d###F,!$0.!#1.!/y$-1.]+p*V$K3>(c#Q$*G(#3l#(!*+!a#6(n(d%2&2(7,@!(b(g$70+1#)*+W$*l#0A$%)!#,+2/*/&!&/$#F33&/-&5#%,/%36Y#7-,NQ#&9)-!@&!13O9,/8)A;+),96!.>)+(1$-*&6R#U$H28k$q#p#g#~#1A#-V#IAIK%&A2(,7?,0*#%,7*&/+&#)3&12q#=+0&8,E-#1D;+&571DC/K.C>*>3F#,36/%+$/+)7%!3&++)7&J!L,78J2g#/&K**l#*2I+%*.-u$|&S##)($60%,.E%.1!/$-1i$u#,/F33(-/54)2**102,C!:7-5%/-C(0#%5=;5/&*%%98/#&%&0]#$/7(%.u#o#[-(-#18,(*!8.P#%EO;-J!D;H);21#+&)D91#1194+,7/>*$$%7$&+(+D&)$@.)E*0$2)0+2$.3+-1!$!#.$%725((~!%)l#7$*)#g$h*-%;)>0H*&*#8-0-%1&317-$&./;),.1*3!3/)/-!)1#&&-,B$1(+((2D(%%-/P&I)&(N(-*$#((!!*2.&?3#/),~!r##;G#=/8E)(U#!5!&)&&k$D9&LI!H%]%.)C.2,%+3-%1*%,3)&$/7;01($&*.4K$EK64!()(#(30(*+?-!!0*!.6$*&(D%)./&%H&17l&P$;D2)+F19&D,5-H0)682!=/:(&,!R#,V#9!6V#7$J0a#)s+7-&)0a#/a#^#_&@9/7#;l$,3,1,18Ac&*l%$a$a$U$d%*(32*$Gw*>!X$1g#l&{2)P$*k#OW%Ia#_#e#C@M>l%o#o-]&Q&q#.Aq%f#$)x)i$$$|$X#Mn#p$O*~#y#S$=T#CA*:1f#)Z##AIQ$?=Gd#,T#Ix#=V#.MAn%$f#/u*o$,]#$h#b$)FT+9q%Lw%m#|&1a#1T$%$V#X%/{*r,1A$Fc$|$e$k%.#%($%R$u$3M5=1?~!{#%GH?B,7.@]#Z$$-6L4W#%&.!*82+$/*$/)#38;15(++&,1=+*+$+/!9,!+?J!;,-)B6&(.(R#&T#+K>d#a#x#;(!Ew#o$q%c&/)5.]$*o#:i#,-#5KP&*(!2+%#0+=FP%/A&$-E1[$3T#-51r$i%+)%Y#.!!S#.&5[&*G.8+#7a#)!#U#*)09a(Iz#13-%Q#]$Y$N*#V#3*!(*$,|$P#+,&h&]#Jg#%$Mh#+;.Ji#.)Kh#)#1;:0w*](H@T%z$R%Z$(%EZ#>23>5.19k#T#i#b#:h#&^%)++MJ((:l6{6>3,3N@6B9;3+N$%a#7g#E1z%h*Z#m$X#{$1(s#}%55H$#Y#7$#JJ$,1X$h(|(Y#0S#j$^#t$q*|1;W#7o#c#b)+e#&H*f&!i#{#}4~!_-$~!(i#R#z$V#0C0v#_#,#BINIDOBV##(;]#V#2|#(X#&:(K&,b#2I!%e##X$71:S#-$4(G#CZ#|(%$EG1(P#c$(?Gf#$0;!,P#AP#_#,!%+l(;$Mp(!2(6z#+#_#=z%&P#0h#,0%-A?$%Kr#1![$=#*_#1]%:o&|$.=V(0!0h#d#)x#3(2#2/-;)7#Cr((%3(.,3,-$L2+*+5Z#1/04C)k)x$w#KY#R#e#p#DX#5M7v#)l#+&]$i(8y>|.)!)/D0^#q#)$+-#)6/8>E!,%?v#$*(#(&*,4R#7$)-+%&w3n%@N:3?M/]$Y63h#g#*Q#$7&(U#+[%?+*86*T#*;r#&_#n+-)B+C//e#T$d$O-;6+#(p#B$&A1.G)#)3+#(s-d$,;K0-?J/(Y$V#F+.S#?,%%-s$~!.7g$R#U&f#T#=MACC-!t$e#v$Y#/i2s4P%a#%!~$h#{#_#-&#$)+&#)+,+:**v#i#/1,(x#B%(4)r$V#+5$*#-0Q#C-/A5%%83&R#c*1;1*2:-s#g#:086.$*+%3+@w#a#,8*G+{#HM[#h%i$-EG,>S$[#m#-&(t%u,1*@EJBCQ#.}&j(2!#@(+!M.p#+%9H!1-7(&8Ak,4N^#>:~!K+,!%%}&f*n#u&)#1+%,6.V#l%)#1+;>a#k%f$a#4D5U#.y(i2+$!+Y$D#(@2)-F4-*#%5)z$s079Ox$a&~&z)j%z$u%Y(73J$9(H?D%@;A@f$e%Q##>:1P#[#K)4#4.8=:48/6{$Y&t#[$Or#KBd#e$GP#A&:..,(O2.8-*##*&.,?280*4).(^#x#LL3-c#m#F7FW#&@Y#g#J;15NH7Ha#o#DW#DDX$k%9#Q#@W#d#7f#k#x#$GJ5d${$v$l%F7~!t#r#T%M_#CE$.32a0m,f$T$l$Q%Lk#>a#5q#,&Go#X#Y#,;,K==l%~#O.V#$l#9P#7q$g#R#HES#l#]&*%%/+$EV$0$9c$1j%U$Am$w(P$~!R%)7R#|(o$f#e%b%6e-d*Q&f#S&g$&4U#]#r$[&+*L;>K.*$%=2%-5-*/4,,1!*Y#T$S#$*6!!1-!$*&!!)/&())+)%$$2/.2%$?Io$}#HW#F:>H+#/+/#/*)$)+>.D6@!7*!2:-(%%0%!.+#%3.-7)$>412-4$4%24:.,=#C+6/#%*1)+/t#}##+&1(!08B:&2/0-5,-%/($0_)Y(708C!0NA*.0$?GMB-12U#-5B&&W(_)+W#{#.*V#A{,G5&37)11&FV#!(%(80n#6G4%?0(*)%5E!0(d##=(#)J/5D35^#@+3J/1#&*!0)X$S$*3H33$!.,,,a#y$A,6+2D0[#;1D(3,/O.2x##)Q%~!Y#x%w)Y$2)c$Q%+5X$D[#/$%Dp1DN)S#7P#0M$P#5?>4@j%m**D^&@781/DM3#&.1&-EX#61O##$(7C##8>1E(%@n#DR#~!G|$n#o#?6z+q#Bd#&%+$)$&>&L![#(Z$s$[#,6#8&81$+0)E0%)A/44|$P$6-+S$!V#,x#m#I&!+/+(%*&##*/(!*/89,z#S(){#>Y$Y#/Oc#h%$c#/W#+f&v#t#W#r#_%#,$*9;/&@>,n#My#k%~#Y#4V#*p#&R#7b#/)%+(Ht#%D*/803I;.%0F[-]*^)m&14w#[#_+i#&U#V#&*1O:E:OY#NB-,Q#D*1b$o#)%5F@Ds#[#^#JF//v#%.913-.-#.;b#W#0EMt#l#U$V#_#[%_$5s%T#&)6L,(0/LFW#>H[$)P#$K*i$=(Aw#@N:9,,(&!>2d-Q%9%!$e$X$_%j$f%g$&%$&&(%%@Cf$)f$$7%s#EOw,a-T#o#c$Q%t#(d#1A3f#/#d$N!)?%6n$%Y$Z$0$A1T###5*-h#HC/i&._#2Br#7x#!h#r#s5x)#!&a#$~!T+y$,*v$S#$%Z$a#$!+-!#JL$%W#x$#c%8k#:&e*[1]$[&:y#P#S%-|#W+Y#8S#,s#%5)6V$P%m(($Q&x%R${$+P%z6.*#$$$*1**(+53*T#R#$Cj$)b#Z$_#!EM-K+W7X-*r#V#T#]#Q$0+g#s%JU%>+.&e.%[#9B@f#T#c&T#Y$2%:Y#Bw#Je#&Q#DU%u#$U#>!%w#4)M^+%x#$t((U$]#a)8r#8Z#!:g#@$u#W#!(r&5-e#)*~)I)%&%y#N$({#(!#V$2!+i#@q#+!%S#+S&]$E-#177u#(&:*6T#%2d$V+6G*G#E,62(:+%7B{#+S#)o#3S#>#/R#$K^#q)q=Y$Lq$Lq$FT%B+A&$+0&$-4(#)0%#a#w$3)3G)(W#63*%(L:?I638)#/>D&%$&0-T#5*+0F0%{#Q&>?L:N(S#-n$a#F7311>&;2m#E#*?!.6=C%KQ#g#^#@-)OF&#$*##++$/t?xA!L*1!3(-%#=?%T#+6/%-$$/+y$w$?2P##,&#L73J-+#Oi$p#-&-0(%),08!%i#-y#c#Oe#(#:DQ#F)>P#H.D6(%:I2*&!/,;2)#0*$&(+&/26..1++%).(,)%%~!n#!01r#,#+I2%$%1(1Jl+2!*(*O&,).>0D#-)--&5#3.52/FQ/x$u#^#9C5/-.3-S&Z)x#X#6!z#Z#V#s#h#b$b$q%H7Z#{#21s$U&n#Q$n(g+c(b#*A#6/C3)/IB-3!9M6.3AU#9y%$-(7c#/h:x21,>Lb%Et#EQ$$%8@#7.S#&;)T$L\"],park:[2,\"+c#u$#)Y$,-g$Z$+*T$,#!3,g&z#!%*!(($GD&!.+!(Q#&u)]%Q#&2T&P#%=#e/h#+E!3|%T#((g#E$,09b(h&v##B$Ag#=(R$J$!&S$(2_&)_#1!(g#0!2}%,$9z(&!T&-$%i#.!&+v#&j#/!(k#*}#n%#/E#!-2#24!((X%Z*70?!6-3)([&i$+*$(*061V$-]#+%+/*&3Jm#+++%Lf#.I369K-I!6%*(%*!26&*(#.&*7.-2E$=2=+/D.LCD60%4:*0C,$-F%9*1p#>032%$(*%%.6+&-+$-16@)-B3&%JLJB,W#B$P$0q#f#l$p#39V$G7S#+%#,)0(*/=7!-8*(B:9(-.~!802%!!?(,%8MP#,-X#627.&&-4$,%%.22$E.#!%.%*&.7$-*$*q#w$!#4,*0($/3/+/%|#(+.(2$%@3/!+)!$)+#),)M,Dn#*!%(h#!()9F>.H$&0)(u$%[#&$#&J!%KIIc$A?f#R#%0&G.%(/C&%)#+/7+!!1,!*@)+21$)()!)75FLL#/5%+)#106:#.(%-2+&&02,&*J7-$7r$+.%I16#7W#8!-W#!S#%-;)>.3!791(,G-4%C08*E3(w#i+s(N)&,)&3C)))*#0-A%,$%(0,!(..,.%0&*+-+!$:(/.#%6,200%,&,1$9%+G+=1:(,&h$i*($#+m#6&()O4)63#&$/#!0!*,/23#1*3(1#F+/(#?%(*C*)#%&6##=+6.*-85000$C8%($*30(::G!C,I~!:&F/Q#!9)+9-$08x%_((!#.*&(,6#5S#+-)%)$#+@w#-&F!9=7.$(*,(#]#p#C1T$V(o#Z#-Ct%8h#@,#%3%*:7()7$#$&H..C&##,/#2X#90o#6(./*/19*$6)2-(k#=!1l$V#f&X#z&#!m$M!FI1Ie%+b$V$%b$)m%Fd&090-2-k$-$:.6?8]#^&._#1_#%(6,67#g#Bo%/N>W#Jy#-U#He#@>JR$$B([#0g#+;DB>U#x#T$+P$o$~!No#{$Y###w)j$#(p%g#z#u&*A)%AR#0P#)(Ct#*&P#k$N2#%)#$)z$OQ$W)^$F*j#!7c#,-4j#?d%2X#-%)n#P)2v#:&%4S#,9]$&l#X#-~!T#OD*.t#A&#.X#%#)*+&%&/c#&!$)%$(V#C$%9!);#&&q(P%$)S#4#(7_%r%&3+!a#Q(~!v&#++N%&,$_#e)($,V#)#2_#:l#%$*:0(!(&%&_,F$/Z#S#+f#47e#+J)!;Z$Ch$O.#(+:N/5r#6,$,%!&0##)Cj#8-j#h$#)*!:(1?FE&-*;*!*@&}#u#Q#1(;P#0&r(V#,Jv#=R$=*9c&Q#K4k%)BE+=-!K&}&p$m#t#X$W$?Q%^#k$^*)66($0?,:{#(#X#R&A0>|#(z#&6x#?R#q%*(&.EKP$T%&$%/o#9)?-$S#n%4%LT#X$A0{#2%4e#B+#)i%Q##)Y#30U#A0E,4*($P#6d#6*$(30%(;m#7(7o#98m#>+,Bo$G3V#,($0=($*&BH0U#0%3T#,v#j&)?3&(3q%[#$,>-,F*).S)4!X$5)%-A,0r#]#2-I>+;r#S#;,i&m%j#6*!/Kj$F#+/$(7P#.-T$[%#(:G(8%K)Ax$HGr$K2%)/e%%A*)4=*%5%,+=V$@:}#4()86()f$l#$.c#5,F0%)8&,J1&*>0%*a#f#@-n#u(4./R#W#~%*#;Nm#$*.%$,1&&0%#!%7)&2K.-?&!%/w#9?]$/&%3,%$,0%#-E,/O-_%b$)+(5OA(*!43P#^#1.S#*#9e%c%*~!D19x##(:(#)##&2b$F(54%2U#3)$)#(I.,@F/Q$E%#%(,i#a$1]#:(!,T$1!3()(U#)-+3S$w#%&R$7#!Dt#($l#=#+n$s$+9G/v#3l#$!(A,>|#+q(]$1w#.%p#/&*!G(%%?)f&-f#>%-*!4v#i#?-T$F24:Z#D6)$+J&#/@.&/D(3!.!(0n&v#&/+X%a%U#4&-4+%5t#D,:N2,Gk#)/#)2-^$N,=.&z$X#&+){$R#U#87S#&!$&X#9&T%6k#0/Jn#1+IR#/q#2!#*)(%G(!#=15Y%#27%(I6&!(v$8#&4)3L2)#%|#>!&8Z%3G,*(+?+$3V#%#!(&#;)_$&$3%$+~!+!$1%)#%8&!)P#)*z#r$#-)!#,-!#BI?(Z%U*?018NF*&+c#T)1&--)BZ#!%4&./,/N-,..(2!0-((@,;+19-$*;%#&t%57#p&)!&13Y%+AS&!2+*.-An&!5d#>&8m#t$F*Bs$E*@,3i(Q#751$%;)Ab$*$ICM.&[(m&0:/*3;-c#N$9+H-9v#_#*?&21,1)11)!n%&(~!D6@(%3:(g#U+AC/KS#F(;&S#$3*5L80(Om$]$JI>*&*#+l%q))$5J%&G?-,&&&%1a*o&!&L-)4J-*N(#)84(#%2+|%T#Kz$H}$-x&y(!+(&K$&8&#&!!&;)&%&j$,C&/j#D+&h%f&:9(#-O(|-z$1p###Ny&)$(e#P&@C+$9[#6-&?x%D7*/0#+n#P%(!!G(OZ#Z%)%W#Q%+D&;M@,+1A1&s$U$+M+#5S#&a$Ms#%,JX#*,v#G$0,#$.Q#/*!$+)!!1,~$i$6&(%8d#>,7S#%15!.$,]%~%(=&!5S#%(h#,0$$,a#)&2o$+#V$[((!(e&]()1}$W#(%%,.P$f#[$J#(s#?Ar#f#>$),&*6l$ODy#8Y&.b#;*!*)Z#9(0%#e%d#%0/(&&+92+Q#t$5*$1A/0E)%2K*#)p#_$H$$&E3(.)%&r%r#M3(0N21;=&%5%9!A1;g#F./>73!)t#DG~#&(-())O*%$(F0+7:!(26#(L2)/E/&U$H7U#C/6R#>6T%(9+$&+0c#1U#I3(*&%,4A*&8-&-(Dq$,%-M&!*F3&+3-%-$-M&!2g#*b#^$e$6#%+AL/#&k#9(p#^#&4q#7%7,,&t#2j#4$,k#50*l$-!$(&!#18(;W$9)%3(#&,*#%&:!T$)6)!!%1$&00%$%(#/M&!#)D+$%*D,##--$#&(#%-+$*D.p%M#&%!#($(+!&.H-!+S#/%/(k$CA*5f#94/&+z#x$-E/!(5m%~!#){#9%/-|(Q$*5K,)8+!7h#)#&.+$:P$-g$=q#9%/O._#?%(9p#1&6k#9)&^$#T$~![$A&.-.,$)X#2!*j#6()4(%(&2+#~!m)X-#%&,((4!!,P#&P#P#;Z#.A$0A=-CH-$,+&%-5-L-;$4HX$W#$%+!/4&$7E%#&,9/:Hw%m#0DJ3+:&$#717(/$)l$m#0U#~%_#}&~#&R%r;h$r#;F|#c#(T&X)3C1~!//($)O(+#R$Y#$+W$_#,3.g#%#()$-42P#:0-0%#/4Hj$4)({8o*[#2t#p(C)=-)])x$*-|#t#=+%8/4&{%g%*-V#P#+,&v$h$*-d#]#+,)t$e%*(/2b#Z#),k#c#)i#f#,(9I/K)$2W#&Y%+P#:+%J30Mw%+)3!B*3./4$2%4624!0$=1,9i#}(P$38-92>Bs#S#a#c#z#Nl#?838S#Hv#f$R#{#Bo#Q#e#361@0;Bi#U#S#s#^$U%[$@G84$#++/2**)(+)7=*($%A85=e$v#DM1(FLNa#s#U%Ou#E6u$m%c$|$I4OT#$*]#_#W)y/CEP#=-=Q#G(=X$2HR#_&[%,/e$v#_#u#;5,1;5.3v#b#?J>e#,{#m#,6;A7E=6/2l$}#.3p#]#&(P%D;*-C:/_#Z#2,#.,#.&*7&U#>@&$),!2+0&X&Lf$w#(-e$x#2t$g#$#z#d##$EA!#_(~%%,,*)0q.h+:7*$|#f#%$&A,f$w#,/e$v#+R$w$6%&()!3=++!1%+1G4#$,%P#8q$|#/0,*)*-+-2r$}#NQ#$)*/)Y#,%$%%IR#-*)#)]%m.a#^$;5z#l$Oo#0:7u&V#A@8/E&G*4,??{$e)!G+=-4;8H2~!$3)>513z$X)+@%FP#&p/.759>;/9$5(5Z#L4859!)0L=;P#$e$d%B??:C&G@8)I#62t%X(k%y$}&y)-2/)5(1+39-@%/$++$9,3/)~!/-;/B%HQ#e#f$LA~!s#u#]$@k*V++(1)&@/+X$B91&/EW#0%(0264%:$!1%+0$I.*2]#?244CI.$(>)e#$1)F!,q%K1Z#3C7*B-&L.~!2-C)(X*h&}(p$6S#z%%R%,&r%o&+W#z#/*V#&.p$&$s#U#4#&t#?),~!D=(&W)P(&(k({%%).x*f(q$K,(#($%1&l$JF7Q#H!)(!0|$U)+/MB!19D6146A%,43T#,0NA@H6e&h%3=(,4&(,6!.4+,H25%>$/-5;&3#5,5?@.)(#+z#K.+.2B8/3*)((*)&Y$[#2/6A3.+c&b&T#u#2S#%!$4-=Jh#56+Mb#$#BN#)2#$4(!&%&T*T#!>IAB8*&8$(B8@S#0%?+(%BU0W;IE:F^#P&~!07~!K9@Q#>HU#U#f$s#FR#)&x#x$2,LZ#Q$f#EAOV#If#]#@]#5(4~!0Q$e)^#4$P#KG+,Y%x$)t&h(0$0*(.&0H@&W(}#3!*i#K?)c#c#:S%*#!+%!@Z%,W((+!X$g#U(o%g#~!0;s$[$x(Y&(!(z$_%V#U#T#G&,N&+c#j%2I6+0Gn$P#e#m%z#FE|#&x%E:-(C3)&y$-9w$&$4j$,;T%(#1j#&!+C($7W$.g#&!%P&i#)O3F-^&w@2),-./&&%+4.>:&41$1+!-.15&.,4;6D!3-01++(345,.2),]$U$..#8/0F&-/1())],#[$z(/#DX$V$k(0&)m$s)S#z$,=.)Oi$+#,(24&!%+!*G%$0h#-#)&(Q$z&4P#$(Y#65U#)}++$*7)0L8(-Cx#f#a$~$B&*++n&Bo#:$,3$$+(&[$Jm$0!$C#=*4a#>S#3)).+$&0)!!*Y#-!m#W#!f$C&7!D#$]#9$&%$(%(.=+!;+>.)$N$&>,&-s$S#*Z%)T#O(t#)_#7(>*$0(#%Dg$7)$)2%8u#-&+%5b#9);p#6()8T%M*>d#4M16(!$j#6,BX#2%(Z#2#(7h#a%JL&3X#n$F%5&z1P%)7A)%8%uCb%;K!F,r+.-7,&02(4/%!R#/!!-)u%-Lo#%-Mt#2!!%,$d#3W#%)(!#(&!4d##:+$&,]#+&$U#,%|#w&{&3#S#$)+(w#>s#(!6_#*$4.M*E8(&&/%),42U#0]$,F%#.BEQ%*>$1*&#+$++)&9J3Y#-3(#-)++!W#2n%g#R#m$v#)I%!..!([#)+%U#P#&%9$J3N.&.%O7*G)/7%(A-,!:@I!*8-.!#*+*>*-0*%)*049:$2.(+##.3*+9/!&%5V#7K#,^#Y$9R#@AHGe#x#c#j#(o0h$/-&@0$(K+W*z))+!).&R#%$21!#&+DU%I3/B($.GQ#4;c#($)AS#(4N2%*)!+;&Ll&(0[#C+1,U#?#(i#=)#+/g$c#Cp#&!7Y#3U(g(,%7]#Hu#.H#B/_$7o#[#%)BA~$n#4!W$=W$0{$&GH@Y.+A%]#-6p#.$(c#+P$92c#6~!(!45GZ$:W#AJL>=^#8o#O04d$2W#F-%1E*d#Q%)&4HC2^#o$>h#1V#HY&/CLZ#B_#&G;b#q%HR#7Ce#l%>:-:$A,%(,0#*-%1);#/T#Y%Gq#KY#,@OY(=a#d#|$)$c#s$@f#+n%p(,#AG$(U#K)!BH$+&[%W,9t#b$@)w#)O.),!(,%.$&/-e%l%)!&c#R$C*W$)!+V$%)Q$D((&X$S&-l$%#*i$&7T+S$56Q&X$C&GW,9e#0,0X#-j(-g#C$$h#Fu#s#g#:083;j#;r#r#7p(R).]#/y$/]##P%(!(/A3EY#%38r&!S#+a#9J137/$-1!!%-!b$k$Z#%R#R#!!6N#%T#):)Z#(Z#G$#.J!+]#-G=#7:;V#)!$?F!!37*/*Y#b#;IF38DR#W#)>@36H(B)F!S#?m#%Y#)Y%#3+!(>!k#5N>Jd&R&9B1B,54O?EQ&n%M_#0R##:.!#,(!%/.(OO.4%6,|#;f(1G7=U#K)&!-)!#:7AS#V#)0(%4BGJ4;d#[#=~!*@6|&![#+Q#-D;@W#Q#;^#7H13T&o%9>@S#&5,52R#AMe&~%&#?MK,!EG#!6/(.A8:2k1t+3c##L.S#=$2R#(n#*R#Az#&6;*3)-7$F+H?z#4{#HR&$D)H#5R#,0;W$6d#$g&[+&##=.+b%W)N=Jk#U#,+--!}(3#5Hg#)@Q#d$0).X#Y1;X#3&U#Z$U#d&?g#8A&Z#8G%P#Id#+Z#b2^#R$W#U#+s##_$=*IT%f#r%)x1R4+y$&%^#$([%b#%/y&V.(T#?r#&!T#v#92U#{#3L1F+k#Kc4A#+]*Z0&)%v$%$x#($d#)f#+#,W6be#u#)t#R$h%)!Q#%!$c$g#.B2+s7p/D&7>!/+9(U#?,f#]#\"],allot:[2,\"0S#k.+%q#U%X(l$a&]$d#N8?V%Q+s%b#{#j&{(V%Mt#N8+m#R)c%V)&!j&d+l*f#Y+|(l#Q$L?Ef5V%Y)2,!*,T#-Ij#L*N##,&!T#g-$:Ec)5(0{$o#.&L@#$3B%&,-11i#%Q#>{%$a#B])*o(u#$!/~!$!3;$3a(u4:^#$)AW#C~!MJAJG?22Eb#,T#(Y$L%;)Y#%}#)5H_&&E)%--;8?MBv#>)+j$#L(Q#G]$V#=KE1.-)7K%(0a+h%MA~!X#F;~!;+0W#%)]$1^#(&a$n#+0P#C-X.R*NZ#-/d&W%y*k#))7U#^+h#v#Z#050oHu)^#?Jg#~!W#FBR$g#T#i#4.8Dt#]#f#h#n#z#0O(~!b#v#p(>,D(u#q(,f.i0+9+#&;>,k#_$#)f%W#3W&&R#BC/1HD.&r#D0)/J3(&e$T#1H1(0G4l$Y%IDCA/%*::+S$Q$%,%$.0q#T#>.~!4/!d$E6j&R#7&d$^$5#*M4&&p*w$2043/3403>S#.&R#Z#r#[$Z#r#i%K!N%#=5+/7,%P$~!:Q#i#8302&Q&i&/!$?.!&6P#!AA#%B&7E!C.!!D&W#$!E,!!F&~!f#%8A!$7)o#b#6$$3:$!1~!%&#}$0!$@3#&g$H1#$?0#&%k#!F1!!E/~#Z#(i%=#!3AV#1!$**!!82!!1Z#g$)_$[##7C#!9W#&$OH)j$5!!;7$#C*!!0=#$GB$$6C!$0Y#!!4X#$!%@!!2?!$E@!!4=!$T#q#%!7e#)1#%Ak#(1D(V&t%h$MDAT#2c(v#%W%C-!=4#!Dq$BAP#54N?!>1!$=L$#I,W%R%@4h$q%%@U&Q#-b*)#Q#i#A55v#],GS$n$T#y#e%>V$&U#.7H^##+/;:Y#l#g$4T#5Ce$_#*=@*2K2[#a&/(~!N5k#BJ~!u#&#B@K{#*##M+*.,.]#P#f#/{*Q-A,LV%;&J5)2s#S#En$|#~!6&-AE,)z$_*BP#Y%_$4a#/+.L(s$T(Q#d#{#c#L;={#+c#y&(92!,F3$(5G,7j#/t+z,h#X)I,(5K,!%V%CG|$I.Q#n%s$S#8X#)h.{#h$w#05P%W$M:$(&.a$2Y#R%V#1T#9n1RA+#(P#+#&1/3@4T$W%;s#/i#.~$-;0P$#!%+}$A*%Hl(I.1Q$(_#8$-zLX5#4/!!%^#&3s%b#%$R#4!&S$*k#^#y#2e#(1i#1!>z&r%11k$z#k#%#4A$$C3#$OD$3R&?$%II&#GE!&i2j(b$)%i#c$(&o)b.3Ji&w#2G3_&n%H*+5X#90Gf%e##I&8Q#%&T#h$#D(+;I+!+)$-e4V9%d$h%$%n${$*R%En#p(i(7k(&!Q#(^4Q#7O3b#L-P#]$-T*^89C=4;IH7Y#$1>V$T$M3:H\"],sport:[2,\"&[-k4052.14Kh2T&7K5)H]#3S#Z$U#Q#>599Q#)Dc(W.^#a##+~!U##Hj#y#6g#V#e#P#?8$W$j%CCCV#_#n#6GMG04I:X#f#%?EV#E6b#l#2,KK70DP#(4>O;c)t/37+*7$;81(~!(5)57/>#1.D8;!36+?!C7A1K&.%$%?KE;GV#&w&}$90>J:1&]#a>/*3;0+)7_#,,34;7.1..&Z#T28D0,7C&~+u&@+(7?*&z&|%@)*~!?(&o%u&)?9&(B&Fd#;*7U#:-&}&v*5(+74)({&T#_#&!d#%l#[#$&=]#>!$~!?!-x%g(F.$))#)5%$&/R#7(61(&{)JB)*;?*&r*)*@I.+?&+8L/(5K.0x,Z%+!i#7%13).N3)(9%!0Q#R#*K,4,/]-[3#:)(.!!2F!!30!&&$)(7%$%i#o$R#,e#h#(/R$6%7W$)*1&&c,,3#$D0!&u(j#@(+L?)*xW#p#q$(4]#(4k#&/{$s#)+U6d5K56X#>.5~!a#=$&R#7&l.y6N!!7M!&g$k##5A%$4&k4s,;)%3:(\"],water:[2,\")u#k#307&,@*&62)V*q#+%7F?-*A)#(Z#[#(07(&3*&(U#g%-!+;A/,?&h$a#9.-58/)_*o&d#>0Aa#I;#)@*Z#T$4O^#8+!)3%>01(m@V*(=)!1-$-+W5u&-,Y#>93!&:@#$82L{+z9.LV#R%@8(I$0-!$.0,#,,*0).#0$%+KV%?s$8u$2w$,X%;,+!q#T#3#D6%(T&k$7DS&l$%(C7,1S$a#%@W#{%U#U(6BF~!u#|$)L*iZ#fD2#G2$,)(F/--&]&U)Gf$*#Fe$&1&-&Gd$,#s#r~!|6(-%4?R#8=S&n%026G:]#V#P#:?,C*P#!Z#7{&+?1?/2D?70o#|#u#n%>_#7W$;P%-?LX#Hp#U#X%$.(:&0+,1$)--&#B,;25,)6~!:i#6U#6DGS#R#a((;?g#n#e%05EF6B&1#-(!!,#%%!T#L6>*3,N6~&!9-g#&7/5W#U#)#$,)!$-/!$;1S#Na#R&o%@F:[)U53*).)!$J%3&w#.^#.z$/^##d$,!!&0!#,6.028I*_#!R#9q&-A@K9c9WU#+n#&09K%.)%F9N+5//9+H4]&~!_$!-#)d%[#X#,I2%?Lx%$4-,&#]%4;0,5:)j6Z)=%$,$(/%53=&i#-/%/#!$.*,#4*,(&(/:3#%;0)2(*2#.1##+.)%-!-)$)-!+/-4W##%&%-#!))!!+6)(!!(,n%u$,%()#!#.)0-!$%+5W#w$o##,0%61.&%,),(.;*/03/#3+7!J->+Y#%>.D#5,F,-O7G*6$=7%-&)2!*,)%).3#1*3(1#F+7.9*-.)8$E3=%%2((,)*7)!*!.,6#6*G/[#e#*2#2&0))%1$-1+!+)!!)*!6k$x(#)))!+#!((%,+0!(8(,0:(,,!*+()!BH@-&)(X#E.2*)-/-$.p%E0$*,&,3*/.3!)/%1%&6!+.*%)&&&(9%$#%.,+.#h$)#+(1#7;%&%#*,%)0$*,&b%Y$)1O1#0w$7^%&(+!P$A&&#)@w#)&F$)%;?3*$(**$%;#;,91+#54!*:A.(6%0(2%6:#*58&218&+27!1-&-#+,$6&#$$!3(/*+*$2%*&%1+13)/+/&;&+4,K&2$!$$#-!3-D#-())/1/)1+&/#92)&(!61:&,+(1+$+1>!31+//!/,*2#*&*/*1#)%$(*,&!))$)#+?-(&$1+34/2!*28,0&*)$)+&!$.(.!/08.20,%0&*+%1&1%+G+0).+:(,&h$i*($V%l,%#|#D5+l-,-#)(!$*/%&2+*$858!8&%&&!/*325$1.5KH[#)*9%D)-%)=(822$()%&)$+++&D*;.&2(4!()&-(&2*6#.2!%103G3b#)*-%)&0&(+0a#4H0/!)+++&3]&v$+(7%3)//!&(!((*%.!,+-1(&,&**&*)s*h#,!%6&(+$)+1w#R4),$9*-*#.*#*)0!0)!$+(>/)&(\"],track:[1,\"DiU#dS#$J/Fo(T/>FB;F7H/H)D!F,S#850LP#;V#)j#.Z#j(|.,4?EX#GC.E%?!:$M1E5?9496F,>(>F_-q4G$P#%n#AV#OGP#r(^/,E(E!A-Z#3O;I>A@:^#C~!,i#(J+~!5H9B>;B;HY(U.1J/J&F#L(LCo#T#[#O@K5?|0S.>9e(c*1;)5&F%@*@4@CFR#B?)G$C(:.?=](X*6E*4#O-C/?9=NCN4>%7!?Q*o.3=+=&?#4,Al(p*:8E0K%:$K5MD492B(B!>-D7FW(Q*@;7-D+D#>(@27.&_6id$U(^##)T(Z#&uLk7e#w&&$b#x&&U/r=J{$-&G|$\"],stream:[2,\"$:})Z$-%T0_:G#C3%Z6t%x#Bo&?$!!P#(*!!{$ER#%W$/I#n#*]#034%V#8l#M8*E(K&8$M5C>.34J#B$L!~!*~!2~!(,;.@*J#^#+e#*$3$@(7,/:7.1.7+(/01.@E@2&u$ICP#GG$P&l5l*z&*V$d)1&9%U#&9)X$L_$@4!!U#%P&/k#a#)5+~!)1BF@Q#9Bl$b$s#JY#e#~!c#X$y#Y#/q#!.l-S(~!a#R$f$X&b&}#|$s#R$Y#Z$c#a#.~!*-&&(1--&BEe#9F9&!!Y#7NDH/$q$W$~!W$&n(p407,#?T#$j)}$}%W%$?x#i#T#.wKr(6.R#T#,0(:*_#!A9V(+E7Eg#Z#1!!>CHK}#~%7V#1]#>j%/KDM9G9R#Nm$~!t#&.$!!1P#,)4&8*C,0V#]#2Z#.k$&8Bx#&a#~+4#(+#1-P,SE///J3F7@>@a%x$FJ7D-@%[Bgg#,#=6$d#Z#y#e$&oF$V#j%n#;W#m%\"],rail:[2,\"-X$zCC|#.O6q$,I_#|%Cq$6e$4X%Ez*@8k,h$d+1^#-k##c#(L4i#8Y#Ke#IQ#P#NG>R#@l#D_.p&r(h$o&u#}/Y(|#>K+v#/t#!W$*l#0f#6a&l#d#?n%v#$EFU=X5&!!a%h$y0{,e?y6.!!}#k#NJQ#Q#o#V$~!q#HR$7{#&U#!Q#*X$%B29h#V$r($)(b&W%&-(C=c$t#b#G1!!^#h%/_#!EOZ.x#~4#f#&P(0k$f#a)6Z#Q+n2]#q$r#c&-!!0M*T#%b#-d#5R#7EW%s&JR#X)d*:br#pFq#o#i#Ng#@w%a#k#Dk#Nh$q#P&~$a#W#[#^#z&e(NN[#Q#V$o#r)x&b&Q%T+w(y#e#W%h$i%l$i8k2T$e#(*F6i#%a#+a#5[#\"],tram:[2,\"(o9c#j#l+4l$(q#Cw%$!!2g#-!!.L4LY)c,w$l&a&r)4;]#[#Os#,L&|3w>!2#.86)!!k3|.{$n#2(A%_%(,!!s$%K$i)r$,$.#.,]#x#|%U)/u2g(6.(6$,+,7*1&-+)1$5)/5)5h>e$X$V.$G%P#*EU$n(Oi$Gr#U$h(?x#[$Q)Ev%6n#G~%P#f%*V#=u&8W$\"],r2:[2,\"*yO[.m$z&0F*F%L!9+Y#@a9R>t#]%%.!*&*BK1GQ#+}%1;!;(u#I10$*T$rGDV07a)&6a#T%}#T(+:FR%#2b%T,#0!8$x#)~#Bgc#X(@Z$HT&9k#Fw%3^#X$k(R$g(l$f)s#n&1W#$k#i$U0T#P)=n$#B$N%NI]&2e#0D.5I^#?Fx#x$^&r)Gi#v%P)b#u#01$!!01(!!89:D:~!0S#(2,/IBZ#18BE(!!MZ#z%x(GP#X#v#&!!a$k#[$S#x#Y#&((y#X#X$R#f$n#+!!W$d%S)V,4Ml#y&h#w&0Cu$U&.]%t(S#o#Z$m%_$a%>U#5N7o#r$Z+1B]&h)V&X)$!!.$$!!)-$!!).)!!j$w%k#{#V$[%5@53$!!0/$!!11+!!95k%_$F3Q%~!H1w#[#k*a(+F)g+U)d#MX#:q$K]#AT#CY$h#$!!0.>!!/0l+X0Y(v*;R#/O~!T(&=!P#9y$^%T43U$!E%C(?b%o+Ch#d#j%GY$8p#U$h(b#^)8m$KP%,M*M\"],r3:[2,\"=u7d,B&&&r+b9d$T)/@-3m#R$FFw*m(3)^*e#3)+-+51L+[%)B)>-59DBB_$m#~!7X$>-j-vM5$_)Q%_$U#B/N)9%~&V#>%9#*_#x4f#2Z#4C*U$.v*b#2(2vZ#p(T({#r#Dp(j$:+,!0#6(,*.0d#_%(,*,2,K0%!!=#,*%!!o)t#v#G%!!}&[$}&m$(_)w+n)Q$W#8-#7!&!!a&|10S#(1&h+l$/!+$3+%g&T65Ag#Z#%!!(,$8$!!57$!!0/$1.P$t#$Y$&*[#%U+yT#o)r$:7%&){#G[(W$$!!#0(!!>%z)-5+35(!!I*]#%f(*=$&X+5S%q#X3s.L5\"],r4:[2,\"%Y#3d#D^$+(0(K4(**8.(&!!#&.+Y$~!%!!h%g#T#>&!!X#NC5R%[#$!!z#D$!!Q$J%!!26?2%!!)B)5%!!S$HM*&+H;&/)i#S#$!!Z#s#%!!,%f#P#%9X#=(S$f#$!!U$h#$!!h#T#$!!n#X#$!!j#T#$!!l#X#$!!h#V#&!!%$(%:4%/AIb#V#V#$!!B[$%!!K8G=%!!v(Y&#%%!!X%)*&(!!i$t#~#C#(;x#$!!}#@$!!j$~!(!!~!1D$a#(U#,&!!6c$%q$.K%!!X#/R#+&!!P#$G#4($!!I|$$!!|#=$!!:s#$;r#8.(!!U$_#02!23Z#*!!i&|#808A4T#$P#):$!!v)}#$!!R#o%$S#n%v$H$!!t#V)$f$J:u#(j$~!@x#3]#)T##]#$Y$(~!]%$!!2($!!U$?$e#4>z#$!!A*$B+L/$!!Ep$$3)Ho$$!!4(%5)9p#s#7$!!}%S#$s#L~!f$%!!V#;q$S#$!!^$L%_$K-;3P$%!!/a#JR$%!!M1[$B$}#/Bg#$!!v%N$b%-Z-c*$!!8i#&c#y#$(H=1%$!!9U#$8T#r$z#&!!&-Am%(3&m#Y#&(Lk&)%$!!Kd#$!!T#J$U#I!0&!!z#4T#2U$O$!![#c&%!!q&n#($$!!(0$!!z&~#%P#U$:1s$U#%6Q%R$r&(-)|$_%Fq$)%)#o%S#9!$u%!4y#$!!*L$+KR$5$>s#x#-$!!Z#+$!!e$/)!!$,%%K*%$(D$!!:~$$!!3$$!!2/$3.f$9$!!A[%$!!Z#Q$$:p#z$q$%!!)+=Q%$!!u#3$!!P#U($!!d#Y$%!!As%()%o#Y#&*9o$$!!q#3%!!Ae%%+%V$i#&(Ji&$!!^$6$!!Q#V($!!p#0$!!Hk&$Z#+KJ%j#=*)O)$h&{&y#3$[#C{$=(!!z#2*(!(7c$$!!?%$@&S(L$!!8r$%!!EV&(-$!!OU($!!_$7$!!P#W($!!p&L%!!(F%e#$/S#D.(!!5J;[#)B%^#$!!P#,$!!X#I$Y#JJ@$!!a#Q#$!!X#q#$!!d%e$$^%.+4&!!^#&W#,$&%!!KJ6@$!!b$o#$!!B9%!!&%.G$!!V#{$$!!t#m&$!!Ar#$!!U$4$!!3|#$!!R$5%!!*N%Q#$/|#)4%!!)!@,$!!6T#$!!?p#%!!,$P#,$!!m&K%!!Q#l(!.$!!a$1&b$0D%R$o$/#$]#AV#,%!!4T$!7$5i$3|#(e#85*-!S%)Q%!$!!.P&$!!S$*%!!M(Z#S$$b$!%L%!!%&$5$!!#J$!!2q%%!!MHj#s#%!!,%(+$!!Z#.%[#/&++$$!!S#t$(!!~$V#H6F=FG$!!v#Z#$!!|#b#%!!r#X#*$$6Z#G)&k%[$&*$*%(%P$i#4v&%&$}#c#k#S#%!!K~!KF$!!R#@%S#?U#m#W#]$$Z$p%q$z#%j#R#)*7Z(%!!#2&(%!!$3%)$$AS$*$T$+j&3$!!=P)%!!*j$(+$!!d$o#&!!U#~!NY#R$w%$!!d$f&%c$e&{(Z%50%d(b($?#%$!!R#%$!!!-$!,)p#$!!T#%$!!*T$$!!{$=$!!z#2${#3;Y)$!!x#()!!/]%o#&)&$+,S%$!!~$/$!!1|%$!!m#%%!!$)2T&$!!l#($!!4d&$U#&)p#$!!Y#&$!!#7%!!()*b$$!!#7$$6~!&$-i$K#$$6&T#$!!V#%$!!0#%!!*!2)$;(&E&!!i#)$&#B$!!1$$!!7$%6#&I_$-).GB$)&!&?Q*h(8%!!%[#%/$+h#$A$e#p%)T#$,G!.$J8k#)$!!k#)$!!3m&$!!j#!%!!]#$0&$l#&-Q$$!!k#(&!!+&g#()%&!!(%h#)(&$j#)+k$$!!}$5$!!v#/&!!(j$Y&7:%$!!Y$&$)]#&V#$!!O$%!!I!]#%(!!R#*C*2,8:(!!8+4&6!,%$k#*GQ$$!!k$Q#$l$P#;,$!!?h#$@i#u#C%!!#08Z#%;k#a#:)!$!!2n&$V$&B|*$[$g#*u#$t$p&X$!$!!*b$$!!4]&%>m)F!p$2%!!5}&g#)$!!m#)$!!2]&$v#/]#+$y#w&-_%$c#g%|$3$!!0i%$!!y%0$!!1h$$!!P#)$Q#(+Z$$j#!2h&$e#X,u%2$S(2T$*%!!#q#T&3%!!T$1u#!$!!+}$$!!x%1$!!Y&1$!!)m$$!!X&/$!!%R$$!!*b$$y%1g(&%!!$).l)$!!n(2$!!~#(*!!n#6%)*{(!&)$m#$$!!+t($P$)*s($!!v#%$!!,c*$!!R##$S#$w#$$!!*}($!!^$%$h$&,s(%!!d##=*%P$-j$&D/%!!t$U#[#$$!!Gf*%!!]#1n#$$!!]%($^%)C~($!!k$%$!!-_*$!!p$&$!!0a*&!!^#$7#a#/*!!e%@V$)-()(-z%Jt%)!!X%*M$2#*#U$%$!!{$%$|$&%g#$!!#a#%!)({%&B$!!>c(,!!_$=a#$&>4[#(Q#$>/[#.m%$!!e$.$f$/Y#&%!!2b$)9$!!$J%!!s$(b#1$e#s#p$)%!!BS#BH(!!(&_#9n#&R##&(r$}#&X$.Z$R#$!!,.$!!j#h#$!!.0$/1i#b#$$z$^%]%(!!o$e$*2%#h%6$$J#R$$c%}%^#a#$!!>Q#)!!V#>p#;_#-~#-Y$$*w*m$R$t#Q#R#-%+.%,l#f#&q%0X#b#b%R%*0(c$3E!%%#]#x##&c(f#I8Z#=#W&%!!k%P$))$!!j#U%%!!a(X&-#$^#Y$](P(&!!R$}$)%S#2%!!(.n#l#)!!68.=&8(S$$**4R%X%c(,D%9+J!@#+$!!Aw#$Bv#y#^#%n$m$)%R$O$!!a#d$&!!R#1.)4&%s#:F(i#%$!!3$$!!(,$!!Ci$&!!|#&:)?1$3y$*Y$%!!M(i$=$!!@Y$$!!p$B$!!+]$%*[$#n%-h#$!!b#?$!!f#U(%p$B9#s#2$!!6y&$!!l#)$b#?e#P%$!!c#5$!!_$B$!!/&$!!B+%A*#)7b)$!!a$F&!!7m(&93W#$!!i#$$Gh$,+$a#Q)*^$$!!*a$$!!@,$#j$4$%}$g),y$$,$b#4^#y$$!!z$~!$!!8~$%c$|%[#m$9x#%?~#4*=s$$0Il#+$K_#s$8$!!*~!$!!l%A%+EI%{&.$!!(a%$!!]##$!!.#$!!R(,$!!(R$$!!x%($!!-Q&$!!U&($!!.u%*!!x%.0,%*$4d$|%)2$!!!.*!!e&.P#(=h#46*6y(^$$!!*8%+9Bw#33%!!*D%Z$$!/P$)$!!#g#$$f#+V%%!!l#%0%%1R#+1L&%!!$8Cr#$!!r#D$s#Cg#=)!!/@(//D!J&5$!!]##$;JD$$!!g%+$!!.j&%!!U%/F%$!!%}#$&|#&d#$!!S(/$!!*a%$/$(U%$!!b(.$!!#;$$:$R#$1d(+T%$!!x%*$!!)z%%!!(G0C$!!l%k#$9x$#J$m%r%}%:&!!*V#.M4G$!!j%{#$k%z#g%[$$!!J[#$!!2S($!!T%*$!!,o%$!!f)3$!!(S%$!!d##$k#P%[(/$!!H($%,C3$5V#l$d#%!!Fu#7P$%!!&[#*Y#&*~!V#]),@6R$$!!Z(M$!&v%($!!)_%%!!f&->)%Y#T%*#m&.$+e))n%$!!Z%*$T%*!O$g%z%Y%+$!!0S(%!!V&-7#$GW$u%l#$h#Q$V%^#$*?c$%$!!1u&&!!,&_#Y#u$T$%u$m$E]#.?$!!_#;$!!f#>%!!*&l%,%!!%^#[#p$$!!W)j$$!!s&{#&Jg&c#$k#(~!p$(X)i$u#Ko#K)*Mx#&!!4]#%6#j#$!!R%*%!!:p#&z#$7m%*a%$[%V%&U$&k#S##P$+Q#-F&a#:,K%:$r#%e#.#w#-U#$!!_#9$a#8n$P#$!!2~#$3P$]$K$T${#(o#%V$j$c#$7*$i(s*~#S#$Y#u%D%(!!s#5&2!0*4$!!n#B%o#A-#2I$J~$4m#(!!+X$Bx$![#*g#$b#**n$$!!x%E$!!EU%$!!u&.(S%S%S&$E!,(r#%$!!,k($%g#e%&$g%Z#h$>$!!OT&$~!S&@m$$!!g$?$!!x%*$y%+?p$$@o$9z#$!!KT#$!!c#T#$!!JS#%!!!&_#S#$a#V#k#!$!!Kq%$Lp%m#k$$!!n%*$!!2q#%P&h#Lf#&R#%z2u:*z&%S#$p/k0/9$!!3B$2AY#?%m+d-P#9E$$bEP,T%a$$!!R#G&!!l#V#!*9A$!!_#O$!!b#R#$!!f#T#$!!CQ#%!!]#O#)%a#J4FJ}#(!!Bi#1-HR#BZ#(!!_#O8B8H(&$f$=BO$a#~!;A$!!W#J$!!H>)!!(+($?8#%),$H>H@$!!T#e#$R#GG^#)!!b#P#49Kk#5U#;5%!!%/S#P$(!!B[#1-^#p#_$r#(!!W$l#R#c#X#T$(&%O[$~!]#FZ#%~$z#S%_$R#g#%!!25G>%Is&Q#d#!(&!!#(|#f#=:$!!o$U$$!!l(U&)!!E,e$t#b#,T#.f#R#%!!S)d+CD%!!IX#8P#&!!R#X%$6]&|(&!!,4$0&($!!l#V#$!![&}($R%DY&}$$!!4m#%!!Z#27j#$!!w$G%!!6k#u#9$!!El$&!!C2.,Gd#)!!=O0A4Z#0d#Ad#&!!Od#4O0V#%q#k%+%y%!%!!l#q(*)$j$=N/$a#;:s#%!!0W#%&%!!OKT#0$_#y#?g#$!!e#B%!!U#;/-$!!U#;$!!Ag#&!!()4L#-$!!0@$!!C0%!!b#|$$+$!![-j$$p#m$-Q)%3g)&?/E%!!5$^#F%!!9/-#$!6C-(U#J)!-$l)q%J5$!!Gs#%!!l$W#Gy#)!!A200IX#%A)8$b$M7O%u#+05:W#$U#;U#B$!!+5&!!$+KR$.L&!!+L#)z%N$a#T%G2$i#Bs#J&d#f#)*5K$*&u#G+%-8HV#%!!i#^#W#%%!!OP%,*$!!Z%[$&4[#>W#7F[#~!$!!c#x#$!!~!b#$!!p%m$$7r#J{$&!!O02,o$E$!!6k#$!!6k#%7j#x$J6i#&R$m$o#r(&%$.$J6c#G&!!I=~#e#R%g#%!!0+*/(96++)#~$_#m#R#$Q##S#F$!!V%b&$-Y%n&a)$!!p#X#$q#Y#o#Y#$!!w&r)$*c%2;$!!?J%@I11k#~&$!![$)$]$(9k#&u%e$H0H?Q(P*$!!f#R#$!!k&b)(Fz&FJHB+&h&W)$>i&h#R#$f#R#R#E$!!MA&&J7&/%)*%i$v#82Ed#$!!S)f+$~%Q*6(&]%a.8U(*H&&$!!C;$!!MB$NA;J%!!&;#;&#R#J,)$]$s%%Q%@(%t%^)%!!_#5I7%X$Iy#=+()a%i(3/$+7U%%3)/$!!K2$L3d&u#%!!*}$$,$)Y%y%m#$!!07$16y#Y#$x#X#y#m$$r(Q#$>$^&U$(,$i2R)BK$w.~?9A$!!X#K$!!G=$!!E=&!!T#I0+E=$!!47&!!LB;-D9$!!:F$;E7=$!!7=%!!~#h#?J%474@;5$z$G38)#o#%-!&@7&!+*$Y#LDO$l$V$7($k#X#93$!!73$62@I%w$T%,$,(*!!.;2-0!C,M6]%a$$!!{&j%$)f$C~!$!!X#K$;S#@%(!!!50-:#=2$m(t%94$+L}#e#$!!Z#q#&[#p#Y%b$DBDN$m&|%S#f#(!!AC=M6OG~#%!!P#5I7$!!2-$Z$R#.A$/B}#E$9Y#g#:$!!0E$1F/D$.CY#8(&)9*#.%#8+$!!.C$5Q#+9%v#[%,)IY#$Y&T,d#l%$E-)I$!!Q$6$!!(B$!!x#4$y#5(@$/]#3z#%+k$)(#*%m#t&%$%7$n({/T#,(9q$),&#X$(9*$^)r$*N$f(r((0$!!e&u#$!!V#u$%!!.?$0%-NL2&,$c$Bv#F(^%U&9^#+)u%f#/(%!!g#);a#&!!Cf$(3*+$!!Z#R%)/b#=,00GY$1,o%d#%!!k#P&3F$!!]#%$?>.@&X$T#q%1&,GS$%/%6t#Og$%!!R%Y#A5$%.*6$!!&:$!!6+$!!*4%$#!$>,$!!&-$!!%-$&,U#6$!!#,$!!V#7$!#=-%!!##>,$!!W#6%!!>,!$$!!=-$!!T#7%W#4>,##$$!0I()/&!-9(!*8$171$$!!*/$!!o#E$!!G%$!!=+%!!%,(,(!!,%()!5+3$()&-$!!?/%~!=&*!,$>*N2$!!(7$!!77$,&,:$!!$>$#=@!$86(0$+##3$Ed#T#P%(!!K)!1%+b#;&!!V#3z#*.&(a%.U#Q%#~!(&S$H%i(-L27%$W$~(M+$!!8q$$!!*G(!!Z#/0#*(X#n#$!!f#_#%!!MK0h#%!!C_%(j#%Z&-;k#7]$$!!a&J)[#d$&%D*/!&&1i#$|$k#]#U)$r&x$+>(!!M/%&!+;b$$!!{$@$9r$,!(p$_%/Y#1H/&S#,%!!(G]#|%$e#t&&B$m1f)E**!!Hq$!(%(g$E(9q$G$!!Q&V#%n#]%a#e&%:&8)*G!A7^$$V$:.n$$!!>1%=0#1)B$BP$|$L$!!:{#$!!}$I&~$JN/J&w#;$2b%^$C)!!/P#x#=1X#!(.0$T#x#V#%$!!+d#$o%n)4^#$KU*Gv$$!!T#0$!!_(j#$!!m$E$!!z#v)$b%$c#q&${%U$B^$$}#S%0Q#$!!,L$!!b$D$J-.L$!!P$>%!!/K~#=%!!/KT$@$!!#/$$.1P#$U#1m#7$!!Ic%%R%8|#=-K%K%^$I/K$-Kd$D$_$l$.L$!!,L$S&l#Il$$S,s&w%H%V)wE-)Ji#$f0[#0%&_.Q%,-P#s#%/%aZ#iF3t%z$/$!!*l$$!!(^#$)]#b$)%W$q$):/_%$Q%r.+x#*!!3!L850;C;d#3c$$k$+8W($P#c&1P%\"],bld:[1,\"&j#f#$8c#)#7/,b%=#%~!Y#&#;,!#&b#*+U$o#)%B?#/s#)?#$Ao#+*V$d#%!%,#$:W#)&P#:#-W%NE%!#,#$*#!&=+!!#H$-$4G%!#*#!,#!&:-!!#H$)c#~!&!#4-#!>,!+^#4!%)#!)&!$12$!0&r$-7#!+6$&9G.$#2/!&+G0$#21#)i#4#./#!))#$+)!7&#!)2&#./%*1Q#($!&*!%##.7!&4^$*6-#+5&^$$#,5#$-&M0$90$#6)NC(!$3.$%A5#)X#p#2$#,(!!%9#+P#)&!!%/#$5.$!%%!)4&%!$)*!#4/#&O5#2/#$3-t#GG%!%*!!,#!&=-$!%H$-,h$G%!%*!!,#!)=+$!%H$-,b$E%!%,!$,#!&:+!!#H$&a#S#!.1#$1);;&!!,/#&54$);C!((!#.1#$5&C4$1.$#2&?y##,5#$--|#!G%!%,!$,#!&=+$$%F$-*d$G%!#*#!*##&:-!!#H$-6Y(G%!%*!!,#!&:-!!%H&),]$G%!%,#&EQ#!75R$$.+!!#>&!#-!!&-!#/#!!96$$%2!!$,!!%,!!87h#45#!&3!!#-!!&+!!/#!!96$!%0!!$.!!%*!!:$!&w%N#23#$3&N!4$#25#+.8)!!-0$!((!!*1#)#R#!(3#!14$#*)0T#!&(!#.B%$-*Y%(-!$&-#!58$#2-{#8/#!+G&!%-!!*(!!.7#&CS%A&#*D%)MN1#$3&!!&4$))>#.3#!&&!%+))@0$#0-!!%&!-;c#!+.$$&(!!%2$$05#!)&)g#2$#43#):Q##21#!)$#!/))>A�J%$+*$&J=8&!,9#)H&8&#.5###)#&%%%8-!$7&,d$.!#21#+OH$!#2/#$3,$$&($&.8$/4&%.)FY#3!$+C&%:3#)0a##23#&)+!!-&![#4$!03#),@##3##/2$!,,3~!!*-#$+,$#)*!#.-!++B#!!7(!!%*!#85#&;=/!!5,$)&d#!*5#!%&!$/&{#a#*R#r$6+Q#&s$h$(GX$4)H)}&@%!$)0!#65#&&u#2$#43#-@J!5*$!)*!!.$!!%)!!,&N7.$!4/#)]#S#0!!0&!!*+!)2#!$2$#0;#!-)X#4#,3#!1,!!#)T#}#($#45!#9*#&X#01!#3,!)A8&-%!!/4#!6&Jf#!03!!1)E,,!!%*!!0/!&CP#!,5#$-+6P#-#$/)!!+,!!*(!+>8!)+#$9*$#2%$#0&Q#32$#45%)&0($!&2$#09#+?A3!$5*!#(,!!(&!-+=$$2!!2+%$))!!)&!$)&=:#49%$7&ID0$#41#&S#b#$5=$#4-$Z#!-.$!%,&!,/##%)!$&)(.=&!0+#$+3#+=2#43##%+!!&&!!5+P#%2$#23#$)&#!+%!&.B2$#.3#+V$A7%$-*$$&*$!)%!&$a$:>#)P#=!&*&(+.*-.)!F($!*7#$10$):4($!(,!!2/#*0B$32$!(%!&#%*+,K#.7#$/%$!$,$!%&c#d#0$#03#&0*#23#!3)%I$)4$#2/!!-&i#{#2$!03!(q%k$,!#01#$/&*=,!#=-#)u#q*#.%$#,F(&7.3U#)!$)1#-a#R#+%##,&!*R#>%)Nv##,($#0N(&9&!Q%6i$>%5h$&@r&0z#-#3{#&);5d$G+6c$&AW%5!!U#6!&V#t#4S$m#03V$&T#x$$A5$!@&T#>!0;!!1&?U#4!$T#5!&z#k#$*;!!-+]#:/!!/+$!)*!!&0#)4M!+2$#:1!!1&2X##8/#&7)/M!%+!!/6!!,)D%)!!/0!$4)$&@@!09!&5+^$C$,)!!%/!#7,#!%)u$D!&,!!03$!+)*J4!!,&!!(1!+6J.!!(2#!%)!#%;!)/o#!23!$/%$!$+$/!72!#*&!!%%!!,)-H!%7!$30#!,&!L$23!!3&0>!05$!/+I1.!$:($$,/!!+&!-9q#5!!)+$!+*!!),!!2*!&g#L2!!.3!+!c#,!#8-#$/&!$+(!)m#%!,+!!()!!3&.C!.3!!/&4T#-!#7*#-S#d#!-#!!&*!!%*%$0-$!)-7!,$!%%!!(#!!(7!!&%!&[#D$GX$$#H&d#y#6!&_#7!)_#T)0!!),#)47#&Z%P$0!!01#):d#!29!!5.$!#+d#V#)!!&&!!-4$!,+#)6H+!$32$!:)!+s$p$#41#!)&#$-.!$)+9W#!21!!+&!!&%!!&)^&9)/,)#%(&%(&!?.&(.-()M1&)4-(,1*$)),:)#$)8/%,3*)E:(,-%$&)%)+)I5,)#%,&#%7.))J#%*&#(5,)-+*;(,1*$&&#&-,)%%)R#@&#)-2+,21()d#&##/(-50)*0)1|#$#&)2+(,1*)d#%($!#3,-7.))]#;1./;(&*0*&)d#$.)%,(&%,5*+[$*(0)#$$3(%(+%+5&}$f#.*&,1+&S#d#,!$4-$&I*#7,!$8&G0*!$8-$&R#U#$2-!#5):!4#$0)!!#/$+R#(#36#$%(#$(*!!*)M1$4@(!!%&A!.#$4-$+K,+!!;4#$*$!$%$!&KI$.9$!-)3Q$!&*!!,9#!)&&W$!43!!5&S&|#1+*/0.)EJ3.+1.)#%%&&b#f#%*9.&+&X#E8+*:9*&9,9*+;8+&8b#7*-;8+&V#%7*-98+&Cv#9*+98+&+P#8+*87*&J@9*+96+&:_#9*+98+&^#P#7*-98+&~!4(6L2+7&T#g#6+,89*&!c#7*-98+&)39,-;8+&HE*6N2+7,c#0#,+,/#+&&)!/*+.$+6s$@k#=-=f#*&(09,&-3Z$,Z#%%%!%1:Y#)1(FMD)#)T#^#,}#C/((!%3l#&s%N&-g&w#%.&Q(:,8}#V#1;&p#}#F4Jm#E3+NT##$*.&!Ed#9.Y#V$:1&7^#0=F41>&4@;.Lo#:/&k$l#F2~!u#E5)d#W#Mp#~!:>Y#&!/;&6g%!41$#3&Z$Z$*&.4-()T$i#1()-4-#*$!)B-1*/B,&*4%$&s#4(./()/&+6-(+3,)&;n#1*)/0+&Q#m$(0-(+1+Q$,&)23*,-,%(&,/1+O4,(%&*(-.&)&(/-):O%/*%$%*%&**P&y$,47*)-)%$)8-++/&#)/?1,4-($&1()9%&+*&,8-%)/+!S#(.%$%(3,&&+#+1)(N.:1($&)#+7-+))-($&-)#)+6-.8-(%(&^#T#8/4C9.&/T#_#k$J6c#l$+^#e#CDCC&#**-,++76&U$Z&*0/*+3-;Q#$)($$&*&###!*.>.$)&+3-50+.4)/N#%)%%*/(+1)*~!=1*0/*)-/*&b#8(.7.)/)^$X&.85.&+(&-/)Ac#,&%(*&#(5,)+7)/*)#(,)%(&~!,(.3*)-(e#-+5(&,0!%&v#o//;8),6&*40+(01*&Mf#8-*49.&8b#f#H0=g#G-}#h#$##%H6$$)%&+(&e#l$I9&Ox%K7_#o$L6&-_#.)(./(&]#r#*2J4)3/d#)a#n$K72A%$(,)%Kp#%$%.B2)/&^#V%6-(27*)q$2k#U%K7f#y$B2%*&y${#2-:O3*+/i#(,;.5Dp#N8K;0-3&$p#]#D.8^#C&:6089019&n#-2/V#_#30&{#)17G;061$x#?#G)(D.30.-?!25##,D(D$D)(7)Ei$0/.2$#%(-(*B0-+#%&%/-4522)@E3+*380&*)$)+8*#!0;&!32!)#I((&%9$!16#&)=$03$#1&,C6#$:7$)O+!%2#&4;&(9&X#0&45$%7)b#.&63&!1%!!&+A=%9*#$%.#!(&$$.&5M4#$25!&D>4!$43#)3-7!#50$$#*!&(l#8#$29$+1&5$#3*!!&*!$%%!&U#b#!03!!1&$D!32!!2&J2$:B$#;&2T#$27!#3&)G8#$49!(2=#%&03$#5&&K2#!05$)%6!&.#$83!#7&_#C!/2#$,&;I#34!$4&W#)9!#78!&@T#Q$*$6R$+&)X##/=%!,+-E!(-$!&+$#36!$4&T#)$45!!5&4;#-6#!,&s#k$!87$#9&&O6#&?7$&!24!$45!&$:4#$65!&!06#$87$&V#/6#!69&&44$45$!5)4M$(%!!.9$!3+S#+2#$6*#!(1$!)-!&!H!32!!2&g#/;$#3:#&#/>$#3:#&!-9$!3:#&#/;$!3=#&#@$2>$#3&%@:#$2;$&+S#?#$6>$&=@;$#3:#&k#&$29$!3,(;#>Y$*$=/!!&~!&D$!%&5T#:#$09$&&.8#!2;$&D7$6;&:;$2;$#3&%>:#$0;$&s#)#18#!0&>,:#!0;$&$?!1:#$0&;.:#$0;$&8?;$#/8#&>M#58#!2&>=!3:#$2&;*:#$4;$&$=#3:#$2,;=.#!%O%C#!&.#$=Z$+-W#Y#$!!3%!!)2!!8$!$*1$&![#8#!29$&#@!38#!2&7@!3:#$2&7B#38#$0&5~!8#$29$&#@#38#$2&5~!8#$09$&#>#38#!2&u#%$2;$#3&$?:#$09$&).?%$2>$&F);!#3:#&&?!0;$#1&6O>$#3=%&$=$2;$!3&Z#%?#$4>$&!*?#$4@$&F$;$#3:#&$?$0;$#1&8A!2>$#3&6G$?3$#@+f#!!%p#(!&.#$=Z$+#>&?U#$4>$#5&C}#$0;$#1&?;$2>$#3&B^#$09!!3+A9&!!(7$#1#!#)6%&$D;$#3:#&!-;$#3:#,G*[$*$=1!!&~!&D$!%/$&&::#$2;$,X%@#>[$*$?1$!&~!&B$!%+S$P$%#$4i#+#7%!!)b#(+t#4%!$4i#)#9%#!+b#()8)*S#8#)d#9$#3&[#i#$?{#+#@&l%@@$*d$A#&X%O$:7!#>+8w#$!!#-!!&&!#52#)25>$#-(!!+6#&^$q#5$#54#&G!!67!!9+f#C)!#>6#$((!$C5$&4U#5$#74#&,6#54#$4+4e#%9(!!&*#!%#!&6)Q#>(##$2#&6;&&Q#@8%&47&-;>!)*#$((!!0$$$*5&%7&/b#2!$:3$)%Y%$!$(5$#76%&G,&23)T#36($*&!$(3&,)~!)%+$05(%#).*-0-+)K#%#()0*-05/&K62#$.3$&O7#5=%&2&$6!:7$#;&-M=#!0>$+6X#$45$!5%!#)*#!(&{#P$6%&67&&|#T$!5:#$4*L[##$(%!%163/07+GJ,12.%&(%&%#!-2+FU#*-%#+.(%/21-.3&H!.10,-0+@L%&,*-0/+%&&$%)).H(2/($)+%&/-f#%#$%*5($&&#&+($$&0)-h#+*2N4)3%!&-:1##*$%*&272).?3(,O11(-;.+*##*%$*4+%)@p##&((/43/,1+G=#&*%143/%&##(-&M08C-(7D&j#F.)(,/*&%l#2.1211)E6(%(+,2-.55&;K2./23/&K%0,/21-)A8,30,&(%#-*)]#M73054.&(##+E,$%##/651.5%#%&&::0./23-&I#:2/293)IF&$*+4:/,35&430/221.)6Q#&)2/4:B8/5&l#Q#04@6/5+a#]$,2B8-1%&$&63#%&.74/.65,&>w#.47./5&_#D*03,+3&T#J,:9./;&&w#0+*41(&;~!2+*05*&Y#,,21(+3&E8,43,-7&W#K4/,03.&,00-,01.+H=)#%(&#&&&%-10-&%T#2-*.1,)J,&&*+26-*/1&72.+../,-).;:73#$$$*-*(*+)&()&V#P#0/.0/,&!4*+8:+(&$w#02-,13&43.+24-*)}#a%%&%%*),01,/S#c#-(&+,)#%(&##%$$$*)8G9.&Hk#4+*25*&Kc#8-*29,&3L+76+,4&6X#*05,+1&4=0+,23*&v#v$,:>,+;&I3=-,=>,&8V$:-,=;*&>e#:-,=;,&D+,=>,+>&Gg#0)*61(&Fe#4+*65*&W#!4+,:5*&;30=9.1>&;K-56/,2&Q#K370/46+i#82-%*%$#%$#2G5,+Hd$3,)+$#&)%!)+21&0+2-.63,&G;+(J[#*)/OA(&$$(&#%#$*01*$&&#&)%$-89%)$&*&#%#$.61*)+&#+CS#*&2A5*/1%$&-*&&O3R#9,8Q#8&([#3*-92+&i%|#E9(,F6&V$Z%/;.).:)F#*.1*/9.)%*0e#2%$!&,&!#($$$.&.?~!4->!&,&&1I5*-76+*Y#T#/#-9I1#%%$(4)k##$)($.=;,+7))A>,+72)$&*&+J4,8;,&-#!$+,&$))@4*45*&-)%&-+[#>01**%&,,$#**12)m#d$)1&!)92&.G&,Z(,87*+;&M.->6+,=&.E2./23/*EW#%)&$*-8*&,-,+5L$.+(-!)+!/*),!)p#]#141/#)$$*-)4I05*((+((5=&c#(,*3:/+&q#F8+*69*&L)2+,=3()Hi#$34)(63(&)+/{$%3.##),#!(*#&4)P#1&49!!&)!%7*X$y$%+(!!#?#$8H$&>&$67$!5&$E4#$65!&m#I2#$21$&&O0#!23$6w#;-!-a$W#)#;4#*V$$!!+!)%!({#$!#+3$#;V#%+a$,!&Q%,A#)Q$D&&MX&+x#;$(y#&G;D$*Z$C%+M=%!!+b#*$*%!$4i#)&g$HA#-c$@&-9c(K30EQ#4(,@.;Y#&#)/K5&Y%V.+W$F&*X$1y#+!%P##+U$o#)#;*!!&P#(#~!W#&#;,#!&3^#$!&4#!%,!$:W#&&OO!!%*#$:o#)*V$4!!%-z$R%G%!%*!!,#!&:-!!#H$-$=G%!#*#!,#!&:-!!#H$&R*R$&Er&5#F&^)u)!4;$!5&:A$2;$#3&6A$2;$#3&6?!4>$#5&8R#;$#3:#&@::#$2;$,b#%0#!%M%C#!&0!$?]$-&?U#;$!3:#&%@$2>$#3&%>:#$4;$&C~!$4@$#5&=>$2;$#3+s&T#,!$87$!7#!!),!&CR#0#$M3!-.k%.!!$p#*!$C#$A[%/#B=#/z#Q#!#g#&!&-$!%D$%BX%.$A>$!&&h#=?#$:@$&(^##56#$4+M-!:3$!&)$!)&!%/)V#E>$!90!!).!&;M8#$69$&&E:#$6;$/M3#+*#!(#!!)*!!*%!$8>$#9&5E$69$#7&d#($6;$#7&&X#8#$69$&$2:#$6;$&J98#$69$);B!+.!!47$!-+!8$%*#!(+#!%9$#5/Z#~!#!#-*#!(#!!),#$(%!$8>$/e#H%!!+6#!%(!$,)!!%1!!$+$&(U#=#$4>#*=i#&$$,3!#52#%#&i$B!6;$#7/%H!+*!!(%!!&*!!(%!$8>$#7)%y#!%:#$=U#&#B&%LX#%$6W#&&B=$63!!9)F&,#!&*!$:3$)0}#$%4#!2@$#7+8@$27$#3(!!&.#$%+*7&$!%3$!34#!%%!&!J$45$!5-#3#32#!%%!!*.#!*5!#)&*B9$!78!)n#_##3C#$81!!)&JIR#%$:S#&&R#=$:U#&#;&y$Q$2!!.3!+F2!(5$!56#!%%!!,*+l#9!#98#!%%!$2)$E>!!98#!%(!&BI4#!67$+EE)$!%@$#7?#!%(!&,l#$8D&~#{#8#$89$&%o#6#&C7$/LW#!+&!!/(!!&4!!,%!!*&!!(&K>$89&h#%8#$89$&,=$E7&#D&p#L$85$#7&R#S#%FC#&EJq#c#%!!%&V#/$!(5$#[#(+U#&%*)Z#3!!&/$(q#,!!+$)%U#A%$T#$%+$!,]#%#++$$&%~!#&A!$V#)%!*.!$49$)_(R&$.5$!9:%!*)*S#$.-!!.5$#;&#F6#!89!&=^#!89$#7-4;!#+!!&+!#7,!!)0#$=&?-!34#$0&)v$:01691&=D210210):T)($$)4+,6;.&4e(*:;,->&,U#*:;*+;&p$J=+*:>,&}#2*27.-57}#-.8(&.8+%2C(&,8)#,89.-9#$&-&#>[#%$&+&#/;&Y#S)16@707)?R#4;(($#((16)A/((&%,(/43/&V$i#*10.+.-J>1-%&$!.3%#%&(%&(%#+b&w+/!!))$%36#!4)!*/A&!$1#$4#!21#),?!%7!#5:%!,8z$P(BK$#@4#*V$-$!&)$!+#)(!!).#*V$7$%@4##9A#&&r*0!$E1$(*q+4$#,$07$.P#2/$#/*!!54$$#%!$6-!$*+[(t#+$$%/!#;.#!&,!+5B!D%!!+?#$2&$!=&Y#1$87$#9&#H8!$89$&$_#4#&=1$&g#Dk#)#Jl#(&1x#!16#!0&g#)#16#!0)Q#$-#!$)!#52!&Dl#1#$;0$&J?$90$#:+e#X$!#1!!>~#!!=1!!$+l$9!:1!!$c#!!#/!$;&/X#8$#09#&#.6$%A7#&NB#0;#!1&8/;#!38$&9-$38&@L8$#29#S#X?s4$,C(&j#S$($?L$!)D$$,5$!*>$!+&!({#1!!(-!$(/$!)-!!&@$)]#0!!((!$P#;!!&3!!53$$l#;$%H)!(q#K#(c#L:##;8#$8)l&]9R$G9^#z#D%*($/t&,=-.E%$#*$!4R#>*3N&#)1%$&e#^#P$G3J~#H-->-%)3N2#*F0&+&#-@~#H&l$d#F0-;G1&V#{$;*Bs#8-)Oe$)%$&B*+3G1&.Z#(05()1&n#7%0@,)/+M8?n#@,HR$?/(0.&#(7j&@1FJ6%*>05D~#S#a$a&P$R#3B?3#(G5Lg#%$+1$%/7%$+3&H4P#|#@0Q#}#&#R+?3j#w$@2)a#w%~!{#5,5F^$Y#b#m$)=Y$(,)%2C/(9N)k)c0$23$$-*#!)/j.d2%0P#5,=w#C)1t$T#)1~!4->^$L%.)yCd##4/!!+#!&-&_+u(=!!:>!&n+i+&a#?$%_#){#;A&!8)!#E>#\"],kl12:[1,\"+R%X$/V%z$$&_#z$10e%6Mu$c#\"],kl36:[1,\"*a$j$P$,]$R#e%n)]%{#Ov#$%\"],h_hallen:[1,\")[$w*K7f#y$B2%*-(/w#w(Kp#%$%.B2)//(a#n$K72A%$(,&}#c#a#p$K7_#o$&R&m(I9d#m$J6&^%X)K7_#k$J6+P$^%BDCDCC&#**-,++\"],h_halle3:[1,\"&D{2J6e#l$I9\"],h_museum:[1,\"+r(?P#50EQ#4(,@.;Y#?/\"],h_kolonie:[2,\"e#ca#m*$*Z)i$&**C_+3H.n$Z#P$h#3+;2NNi#^#P/x+(y#Z#R)8~!j(b+Y)f%=,h#*h#$T%D*T#-?-&)#/E>+7#9M#(2,1?OE),#*0%K?+%!*A]#(#0)X#_#x#IC9Ko#%*A06F$+D35CX#p$R$e%0B!)Q#>8J&1O-X(v*j%u-\"],h_garnison:[2,\"/U%Mo#c2t#)r#R%.*T#z#T#>b%^)6Cl#z#l$T#R#n#\"],h_gartenstadt:[2,\"4U&l#a#t2u%0}#t1j#w#s#+o#c2t#)r#R%.*T#z#T#>b%^)6Cl#z#l$T#R#n#\"],h_rennbahn:[2,\"Mg;a63S#Z$U#Q#>599Q#)Dc(W.^#a##+~!U##Hj#y#6g#V#e#P#?8$W$j%CCCV#_#n#6GMG04I:X#f#%?EV#E6b#l#2,KK70DP#(4>OU#d#HZ#BX#5)-.\"]},C$=[{id:\"sbahn\",name:\"S-Bahnhof Karlshorst\",short:\"S-Bahn Karlshorst\",entrance:\"Zugang Treskowallee (Westende des Bahnsteigs)\",foot:[18,1383,1108],bike:[8,1399,473],end:[-1061,563],g:\"7!!p(Z$K2I602,)E#,*.=h.v&C3]#Fo$P$_#F^$NX4t)6$?(d#[*k#U#\"},{id:\"tierpark\",name:\"Tierpark Berlin\",short:\"Tierpark\",entrance:\"Haupteingang B\\xE4renschaufenster (Am Tierpark)\",foot:[29,2151,1720],bike:[10,2137,625],end:[-1213,-1354],g:\"D!!p(Z$K2I602,)E#,*.=i&{#]0],+,j.~*%%x#w&*,(v#2_#f#x%*AY+_8Er#V#y$#,)*IU$,(?n#.R#2O@,-;\"},{id:\"wuhlheide\",name:\"Volkspark Wuhlheide\",short:\"Wuhlheide\",entrance:\"Waldrand hinter der Bahnunterf\\xFChrung Am Carlsgarten / Verl\\xE4ngerte Waldowallee\",foot:[23,1749,1400],bike:[7,1710,449],end:[-339,1119],g:\"=!!p(Z$K2I602,)E#,*.=h.v&~#U#o$P$_#F^$Ng%Q,}(z1s#h&>[#7Bo#V$*)p$g%3&y$g%+)\"},{id:\"trabrennbahn\",name:\"Trabrennbahn Karlshorst\",short:\"Trabrennbahn\",entrance:\"Eingang Treskowallee (Ecke Ehrlichstra\\xDFe)\",foot:[23,1714,1373],bike:[10,1728,621],end:[-1099,879],g:\"C!!p(Z$K2I602,)E#,*.=h.v&C3]#Fo$P$_#F^$NX4t)6$?(]#n)0{#&9(Q%%F(),a#e#/!5)u%(o#4Q#8Q#\"},{id:\"biesenhorst\",name:\"Biesenhorster Sand\",short:\"Biesenhorster Sand\",entrance:\"Zugang am Nordende der Regener Stra\\xDFe\",foot:[6,454,363],bike:[2,464,149],end:[101,-378],g:\")!!f$//e$1![#m1-!\"},{id:\"supermarkt\",name:\"Supermarkt\",short:\"Supermarkt\",entrance:\"im Bau\",foot:[5,0,300],bike:[0,0,0],end:[-124,-3],planned:1,g:\"$!!h((\"}],M={tierpark:[\"Tierpark Berlin\",-753,-1956],wuhlheide:[\"Wuhlheide\",-530,2245],trabrennbahn:[\"Trabrennbahn\",-1076,1187],biesenhorst:[\"Biesenhorster Sand\",450,-53],museum:[\"Museum Berlin-Karlshorst\",-135,-22],sbahn:[\"S-Bahnhof Karlshorst\",-972,628]},S$=[[\"Steglitz-Zehlendorf\",-17924,5045],[\"Spandau\",-23749,-6762],[\"Charlottenburg-Wilmersdorf\",-18203,-1406],[\"Reinickendorf\",-17608,-11690],[\"Mitte\",-11906,-4938],[\"Tempelhof-Sch\\xF6neberg\",-10629,2465],[\"Pankow\",-7444,-12800],[\"Friedrichshain-Kreuzberg\",-6244,-2604],[\"Neuk\\xF6lln\",-6732,5498],[\"Treptow-K\\xF6penick\",7080,6859],[\"Lichtenberg\",-1786,-9823],[\"Marzahn-Hellersdorf\",2916,-3304]],b$=[[\"H\\xF6nower Stra\\xDFe\",-1232,-320,-.122,389],[\"Treskowallee\",-1355,1219,-.993,655],[\"Andernacher Stra\\xDFe\",-668,469,-.413,203],[\"Am Tierpark\",-1200,-1228,1.203,631],[\"Ehrlichstra\\xDFe\",-1533,573,.617,942],[\"Blockdammweg\",-2223,197,.053,306],[\"Zwieseler Stra\\xDFe\",-128,-742,-1.483,1095],[\"Am Carlsgarten\",-625,951,.658,616],[\"K\\xF6penicker Allee\",-567,-122,.608,737],[\"Waldowallee\",-654,220,1.199,1303],[\"Rheinsteinstra\\xDFe\",-821,290,-.374,471],[\"D\\xF6nhoffstra\\xDFe\",-1401,222,.633,623],[\"Stolzenfelsstra\\xDFe\",-806,704,.616,737],[\"Hentigstra\\xDFe\",-1238,-14,-1.373,635],[\"Patersdorfer Stra\\xDFe\",-62,-61,.091,251],[\"Regener Stra\\xDFe\",76,-210,-1.49,323]],v={kolonie:[\"Villenkolonie Carlshorst (Prinzenviertel)\",-1600,741,[-2837,-68,-1013,1445],\"h_kolonie\",\"area\"],luftschiff:[\"Drehbare Luftschiffhalle (1909)\",375,-33,[137,-203,612,272],null,\"circle\",67.5,375,34],hallen:[\"Flugzeughallen der Fliegerstation (1917-18)\",-78,106,[-214,-4,248,645],\"h_hallen\",\"bld\"],versuchsanstalt:[\"Versuchsanstalt f\\xFCr Wasserbau (Halle 3, ab 1934)\",42,348,[-154,178,237,587],\"h_halle3\",\"bld\"],museum:[\"Offizierskasino, heute Museum Berlin-Karlshorst\",-136,-42,[-289,-172,17,125],\"h_museum\",\"bld\"],garnison:[\"Kasernengel\\xE4nde (Pionierschule, sowjetische Garnison)\",-22,127,[-390,-166,305,746],\"h_garnison\",\"area\"],gartenstadt:[\"Gartenstadt Karlshorst\",-28,114,[-390,-887,305,746],\"h_gartenstadt\",\"area\"],rennbahn:[\"Rennbahn Karlshorst (1894)\",-1076,1187,[-1445,771,-452,2064],\"h_rennbahn\",\"area\"],quartier:[\"Karls Living I & II\",0,-51,[-179,-161,230,330],\"kl12\",\"bld\"]},r$=\"!#$%&()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_abcdefghijklmnopqrstuvwxyz{|}~\",o$=new Int8Array(128).fill(-1);for(let h=0;h{let B=0,T=1;for(;;){const P=o$[h.charCodeAt(D++)];if(P<44)return B+P*T;B+=(P-44)*T,T*=45}},b=()=>{const B=S();return B&1?-(B+1)/2:B/2};for(;D{const r=new Path2D;for(const D of h){r.moveTo(D[0],D[1]);for(let $=2;${const A=$$(L[h][1],L[h][0])[0],r=[];for(let D=0;D{const A=$$(h.g,1)[0],r=A.length/2,D=new Float32Array(r);for(let $=1;$Math.min(A,Math.max(h,r)),s$={},Z=h=>s$[h]||(s$[h]=[1,3,5].map(A=>parseInt(h.slice(A,A+2),16)).join(\",\")),F=(h,A,r)=>{const D=C(0,1,(r-h)/(A-h));return D*D*(3-2*D)};function P$(h,A){R$(),A=A||{};const r=Object.assign({},h$.light,h$[A.theme]||{}),D=h.getContext(\"2d\");let $=D,p=h,S=1,b=1,B=1,T=null;const P=\"letterSpacing\"in $,u$=A.maxDpr||2,e$=A.font||'\"Inter Tight\", \"Inter\", system-ui, -apple-system, \"Segoe UI\", sans-serif';function Q$(e,a,n){S=Math.max(1,e),b=Math.max(1,a),B=Math.min(n||window.devicePixelRatio||1,u$);const t=Math.round(S*B),l=Math.round(b*B);(h.width!==t||h.height!==l)&&(h.width=t,h.height=l),j=V=\"\",T&&q(T)}function G$(e,a){const n=typeof a==\"number\"?{t:a,r:a,b:a,l:a}:Object.assign({t:0,r:0,b:0,l:0},a||{}),t=(f,u,G)=>{const I=G*.35,Y=f+u;return Y>0&&G-Y=e.zoom){const o=(1-n)*e.zoom/t;l=a.cx-(a.cx-e.cx)*o,i=a.cy-(a.cy-e.cy)*o}else{const o=n*a.zoom/t;l=e.cx+(a.cx-e.cx)*o,i=e.cy+(a.cy-e.cy)*o}return Object.assign({},a,{cx:l,cy:i,zoom:t})}const k$=(e,a)=>({x:(e-Q.origin[1])*Q.origin[2],y:-(a-Q.origin[0])*Q.origin[3]}),X=(e,a,n)=>(n=n||T||{cx:0,cy:0,zoom:1},{x:(e-n.cx)*n.zoom+S/2,y:(a-n.cy)*n.zoom+b/2});let m=null,j=\"\",V=\"\";const K$=9e5,c$=140;let k=null,d$=null,t$=0;function q(e){T=e,clearTimeout(t$);const a=e.zoom,n=a*B,t=h.width,l=h.height,i=t/2-e.cx*n,o=l/2-e.cy*n,s=d=>d/a,c=[e.cx,e.cy,a,e.labels,e.areaLabels,e.quarter,e.photoKey,t,l].join(\"|\"),g=e.fast?C(.3,1,Math.sqrt(K$/(t*l))):1;if(m&&c===j)$.setTransform(1,0,0,1,0,0),$.globalAlpha=1,$.drawImage(m,0,0),V=c;else if(g<.97){const d=Math.round(t*g),f=Math.round(l*g),u=B,G=a*u*g;k||(k=document.createElement(\"canvas\"),d$=k.getContext(\"2d\")),(k.width!==d||k.height!==f)&&(k.width=d,k.height=f),$=d$,p=k,B=u*g;try{A$(e,a,G,d/2-e.cx*G,f/2-e.cy*G,s)}finally{$=D,p=h,B=u}$.setTransform(1,0,0,1,0,0),$.globalAlpha=1,$.imageSmoothingEnabled=!0,$.imageSmoothingQuality=\"medium\",$.drawImage(k,0,0,t,l),V=\"\";const I=()=>{if(T===e){if(A.busy&&A.busy()){t$=setTimeout(I,c$);return}q(Object.assign({},e,{fast:!1}))}};t$=setTimeout(I,c$)}else{if(A$(e,a,n,i,o,s),c===V){m||(m=document.createElement(\"canvas\")),(m.width!==t||m.height!==l)&&(m.width=t,m.height=l);const d=m.getContext(\"2d\");d.setTransform(1,0,0,1,0,0),d.clearRect(0,0,t,l),d.drawImage(h,0,0),j=c}V=c}$.setTransform(n,0,0,n,i,o),$.lineJoin=\"round\",$.lineCap=\"round\",W$(e,s),p$(e,a,s)}function A$(e,a,n,t,l,i){const o=Math.log2(a),s=p.width,c=p.height,g=o-Math.log2(Math.sqrt(S*b)/1138),d=1-F(-3.4,-2.4,g),f=1-F(-5.1,-4.4,g),u=F(-5.3,-4.4,o),G=F(-3.6,-2.6,o),I=F(-1.4,-.5,o),Y=(.85-.79*F(-3.5,-2.3,g))*(1-F(-1.4,-.2,g)),D$=F(-3.4,-2.5,g),L$=1-.7*F(-3.5,-2.5,g),M$=F(-4.6,-3.2,o),B$=F(-1.25,-.6,o)*(e.labels==null?1:e.labels),f$=F(-2.8,-2.1,g)*(e.areaLabels==null?1:e.areaLabels);$.setTransform(1,0,0,1,0,0),$.globalAlpha=1,$.fillStyle=r.out,$.fillRect(0,0,s,c),$.setTransform(n,0,0,n,t,l),$.lineJoin=\"round\",$.lineCap=\"round\";const U=(R,z,K)=>{K<=.003||($.globalAlpha=K,$.fillStyle=z,$.fill(E[R]))},H=(R,z,K,_)=>{_<=.003||($.globalAlpha=_,$.strokeStyle=z,$.lineWidth=K,$.stroke(E[R]))};U(\"land\",r.land,1);const n$=F(-4.9,-4.2,o);U(\"wat0\",r.water,1-n$),U(\"wat1\",r.water,n$),H(\"riv0\",r.water,i(C(1.4,3.2,70*a)),1-n$*.6),H(\"mid\",r.road0,i(C(1,1.6,6*a)),.8*u),H(\"mot0\",r.road0,i(C(1.3,2.4,60*a)),.95),H(\"rail0\",r.rail0,i(1.1),.9);const W=e.cx-S/2/a,J=e.cy-b/2/a;if(!($.isPointInPath(E.land,0,0)&&$.isPointInPath(E.land,s,0)&&$.isPointInPath(E.land,0,c)&&$.isPointInPath(E.land,s,c))){const R=new Path2D;R.rect(W-10,J-10,S/a+20,b/a+20),R.addPath(E.land),$.globalAlpha=.55,$.fillStyle=r.out,$.fill(R,\"evenodd\"),$.globalAlpha=1}const w=Q.local[2],y=Q.local[0],O=Q.local[1];if(G>.003){const R=$.createRadialGradient(y,O,w*.78,y,O,w);R.addColorStop(0,\"rgba(\"+Z(r.land)+\",\"+G+\")\"),R.addColorStop(1,\"rgba(\"+Z(r.land)+\",0)\"),$.fillStyle=R,$.fillRect(W-10,J-10,S/a+20,b/a+20)}if(U(\"lich\",r.lich,L$),U(\"kh\",r.red,Y*r.khA),G>.003){let R=!1;for(const[K,_]of[[W,J],[W+S/a,J],[W,J+b/a],[W+S/a,J+b/a]])Math.hypot(K-y,_-O)>w*.78&&(R=!0);U$(a,i,I,G,K=>{if(!R)return K;const _=Z(K),l$=$.createRadialGradient(y,O,w*.78,y,O,w);return l$.addColorStop(0,\"rgba(\"+_+\",1)\"),l$.addColorStop(1,\"rgba(\"+_+\",0)\"),l$},U,H)}e.photos&&e.photos.length&&g$(e,i,!1),d>.003&&($.setLineDash([i(4),i(3)]),H(\"bez\",r.bez,i(1),d),$.setLineDash([])),$.globalAlpha=1,$.strokeStyle=r.edge,$.lineWidth=i(1.5),$.stroke(E.land),D$>.003&&($.setLineDash([i(5),i(4)]),H(\"kh\",r.red,i(1.4),.75*D$*r.khLineA),$.setLineDash([]));const x=M$*(e.quarter==null?1:C(0,1,e.quarter));x>.003&&(U(\"kl36\",r.red,.28*x),H(\"kl36\",r.red,i(1.2),.7*x),U(\"kl12\",r.red,.95*x)),e.photos&&e.photos.length&&g$(e,i,!0),$.setTransform(B,0,0,B,0,0),f>.003&&I$(f,e),f$>.003&&_$(f$,e),B$>.003&&V$(B$,e),$.globalAlpha=1,P&&($.letterSpacing=\"0px\")}function g$(e,a,n){$.imageSmoothingEnabled=!0,$.imageSmoothingQuality=\"high\";for(const t of e.photos){if(!(t.a>.003)||!!t.clip!==n)continue;if($.globalAlpha=Math.min(1,t.a),!t.clip){$.drawImage(t.img,t.b[0],t.b[1],t.b[2]-t.b[0],t.b[3]-t.b[1]);continue}const l=t.clip;if(!(l.r>0))continue;$.save(),$.beginPath(),$.arc(l.x,l.y,l.r,0,Math.PI*2),$.clip(),$.drawImage(t.img,t.b[0],t.b[1],t.b[2]-t.b[0],t.b[3]-t.b[1]);const i=$.createRadialGradient(l.x,l.y,l.r*.7,l.x,l.y,l.r);i.addColorStop(0,\"rgba(\"+Z(r.land)+\",0)\"),i.addColorStop(1,\"rgba(\"+Z(r.land)+\",.5)\"),$.fillStyle=i,$.fillRect(l.x-l.r,l.y-l.r,2*l.r,2*l.r),$.restore(),$.globalAlpha=Math.min(1,t.a)*.9,$.strokeStyle=r.lens,$.lineWidth=a(1.5),$.beginPath(),$.arc(l.x,l.y,l.r,0,Math.PI*2),$.stroke()}$.globalAlpha=1}function U$(e,a,n,t,l,i,o){i(\"allot\",l(r.allot),t),i(\"park\",l(r.park),t),i(\"sport\",l(r.sport),t),i(\"wood\",l(r.wood),t),o(\"wood\",l(r.wood),a(.6),t),o(\"park\",l(r.park),a(.6),t),o(\"track\",l(r.track),a(C(.6,1.4,1.6*e)),r.trackA*t),i(\"water\",l(r.water),t),o(\"water\",l(r.waterEdge),a(.7),.7*t),o(\"stream\",l(r.water),a(C(.8,2,3*e)),t);const s=C(1,17,7.5*e),c=C(1.6,21,10*e),g=C(2.2,27,13*e),d=l(r.casing),f=l(r.street);o(\"r4\",d,a(s+1.3),t),o(\"r3\",d,a(c+1.4),t),o(\"r2\",d,a(g+1.5),t),o(\"r4\",f,a(s),t),o(\"r3\",f,a(c),t),o(\"r2\",f,a(g),t),o(\"tram\",l(r.tram),a(.8),r.tramA*t);const u=C(1.3,3.4,3.2*e);o(\"rail\",l(r.rail),a(u),.75*t),e>.35&&($.setLineDash([a(5),a(5)]),o(\"rail\",l(r.land),a(u*.45),.9*F(.35,.6,e)*t),$.setLineDash([])),n>.003&&(i(\"bld\",l(r.bld),n*t),o(\"bld\",l(r.bldEdge),a(.6),n*t)),$.globalAlpha=1}function H$(e,a){const n=e.length*a,t=e.pts,l=e.cum,i=new Path2D;i.moveTo(t[0],t[1]);let o=t[0],s=t[1];for(let c=1;c=.999,c=o.r,g=s?c.pts[c.pts.length-2]:o.part.hx,d=s?c.pts[c.pts.length-1]:o.part.hy;$.globalAlpha=1,$.beginPath(),$.arc(g,d,n(s?9:7.5),0,Math.PI*2),$.fillStyle=r.routeCasing,$.fill(),$.beginPath(),$.arc(g,d,n(s?6.5:5),0,Math.PI*2),$.fillStyle=s?r.route:r.red,$.fill(),s&&($.beginPath(),$.arc(g,d,n(2.6),0,Math.PI*2),$.fillStyle=r.routeCasing,$.fill())}$.globalAlpha=1}function a$(e,a,n,t,l,i,o,s,c){$.globalAlpha=o,$.font=l+\" \"+t+\"px \"+e$,P&&($.letterSpacing=s+\"px\"),c&&($.lineWidth=3,$.strokeStyle=r.halo,$.strokeText(e,a,n)),$.fillStyle=i,$.fillText(e,a,n)}function I$(e,a){$.textAlign=\"center\",$.textBaseline=\"middle\";for(const[n,t,l]of S$){const i=X(t,l,a);if(i.x<-80||i.y<-20||i.x>S+80||i.y>b+20)continue;const o=n===\"Lichtenberg\",s=n.split(\"-\"),c=s.length>1?[s[0]+\"-\",s.slice(1).join(\"-\")]:[n];c.forEach((g,d)=>a$(g.toUpperCase(),i.x,i.y+(d-(c.length-1)/2)*12,9.5,o?700:600,o?r.bezLabelHi:r.bezLabel,e,1.2,!0))}}function _$(e,a){$.textAlign=\"center\",$.textBaseline=\"middle\",$.font=\"700 9.5px \"+e$,P&&($.letterSpacing=\"1.6px\");for(const n of[\"tierpark\",\"wuhlheide\",\"trabrennbahn\",\"biesenhorst\"]){const t=M[n],l=t[0].toUpperCase(),i=X(t[1],t[2],a),o=$.measureText(l).width/2+6;i.x-o<0||i.x+o>S||i.y<10||i.y>b-10||a$(l,i.x,i.y,9.5,700,r.areaLabel,e*.9,1.6,!0)}}function V$(e,a){$.textAlign=\"center\",$.textBaseline=\"middle\",$.font=\"600 9.5px \"+e$,P&&($.letterSpacing=\"0.8px\");for(const[n,t,l,i,o]of b$){const s=X(t,l,a);if(s.x<-60||s.y<-30||s.x>S+60||s.y>b+30)continue;const c=$.measureText(n.toUpperCase()).width;o*a.zoom.003&&($.globalAlpha=t*l,$.strokeStyle=r.hlLine,$.lineWidth=a(2.6),$.stroke(E[n[4]]),e.highlight===\"quartier\"&&($.globalAlpha=t*l*.9,$.lineWidth=a(1.8),$.setLineDash([a(6),a(4)]),$.stroke(E.kl36),$.setLineDash([]))),$.globalAlpha=t,$.strokeStyle=r.hlEdge,$.lineWidth=a(1),$.stroke(E[n[4]])}$.globalAlpha=1}}function J$(e,a,n,t){const l=N.find(f=>f.id===e);if(t=t||T,!l||!t)return[];const i=[],o=l.pts,s=l.cum,c=l.length*(n??1),g=(a||24)/t.zoom;let d=1;for(let f=0;f<=c;f+=g){for(;d{j=V=\"\",T&&q(T)},get view(){return T},plot:{x:0,y:0,name:\"Karls Living I & II\",bounds:Q.bounds.quartier,outline:i$(\"kl12\"),outlineSouth:i$(\"kl36\")},routes:N.map(e=>({id:e.id,name:e.name,short:e.short,entrance:e.entrance,foot:e.foot,bike:e.bike,end:e.end,length:e.length})),history:Object.keys(v).reduce((e,a)=>{const n=v[a];return e[a]={id:a,name:n[0],x:n[1],y:n[2],bounds:n[3],kind:n[5]},n[5]===\"circle\"&&Object.assign(e[a],{r:n[6],cx:n[7],cy:n[8]}),e},{}),places:Object.keys(M).reduce((e,a)=>(e[a]={name:M[a][0],x:M[a][1],y:M[a][2]},e),{}),bounds:Q.bounds,local:{x:Q.local[0],y:Q.local[1],r:Q.local[2]}}}E$.lageMap={create:P$,attribution:\"\\xA9 OpenStreetMap-Mitwirkende\",attributionUrl:\"https://www.openstreetmap.org/copyright\"}})();\n"},{"name":"chat.js","code":"(()=>{\"use strict\";const A=window.KL=window.KL||{};if(A.chat||new URLSearchParams(location.search).get(\"chat\")===\"aus\")return;const c=Object.assign({phone:\"493062930576\",name:\"Karls Living\",status:\"Antwortet meist innerhalb eines Tages\",greeting:\"Hallo \\u{1F44B} Wir helfen Ihnen gern bei allen Fragen rund um unser Bauprojekt Karls Living.\",privacy:\"/datenschutz#chat\",readyClass:\"is-loading\",delay:900,avoid:\"\"},window.KL_CHAT||{}),g=document.documentElement,w=matchMedia(\"(hover: none), (pointer: coarse)\").matches,I=()=>innerWidth<761,K='a[href],button,input,select,textarea,label,summary,iframe,video[controls],[role=\"button\"],[role=\"link\"],[role=\"tab\"],[tabindex]:not([tabindex=\"-1\"]),.w-webflow-badge',M=\"html.menu-open, html.lightbox-open, html.alb-open\",O=[\".hero__meta\",\".secnav\",\"[data-chat-avoid]\"].concat(c.avoid?[c.avoid]:[]).join(\",\"),C='',B='',x=t=>String(t).replace(/[&<>\"]/g,e=>({\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"})[e]),j=`\n.klc { position: fixed; inset: 0; z-index: 76; pointer-events: none; font-family: \"Inter Tight\", \"Inter\", system-ui, -apple-system, \"Segoe UI\", sans-serif; }\n.klc__btn, .klc__card { pointer-events: auto; }\n.klc__btn { position: absolute; right: var(--klc-r); bottom: var(--klc-b); width: var(--klc-s); height: var(--klc-s); display: grid; place-items: center;\n border: 0; border-radius: 50%; padding: 0; cursor: pointer; background: #003049; color: #FAF5ED;\n box-shadow: 0 0 0 1.5px rgba(250, 245, 237, .55), 0 14px 32px rgba(0, 20, 35, .32);\n transform: translateY(calc(-1 * var(--klc-shift, 0px))) scale(.4); opacity: 0; visibility: hidden;\n transition: transform .55s cubic-bezier(.16, 1, .3, 1), opacity .3s ease, visibility 0s linear .55s, background .3s ease; }\n.klc__btn > svg { width: 46%; height: auto; transition: transform .45s cubic-bezier(.76, 0, .24, 1), opacity .25s ease; }\n.klc__btn::after { content: \"\"; position: absolute; right: 3px; top: 3px; width: 11px; height: 11px; border-radius: 50%; background: #25D366; box-shadow: 0 0 0 2px #003049; transition: opacity .25s ease, box-shadow .3s ease; }\n.klc__x { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; transform: rotate(-45deg); transition: transform .45s cubic-bezier(.76, 0, .24, 1), opacity .25s ease; }\n.klc__x::before, .klc__x::after { content: \"\"; position: absolute; width: 34%; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); }\n.klc__x::after { transform: rotate(-45deg); }\n.klc.is-on .klc__btn { transform: translateY(calc(-1 * var(--klc-shift, 0px))); opacity: 1; visibility: visible; transition-delay: 0s; }\n.klc.is-away .klc__btn { transform: translateY(calc(-1 * var(--klc-shift, 0px))) scale(.4); opacity: 0; visibility: hidden; transition-delay: 0s, 0s, .55s, 0s; }\n.klc.is-open .klc__btn > svg { transform: rotate(45deg) scale(.4); opacity: 0; }\n.klc.is-open .klc__btn::after { opacity: 0; }\n.klc.is-open .klc__x { opacity: 1; transform: none; }\n@media (hover: hover) { .klc__btn:hover { background: #C1111F; } .klc__btn:hover::after { box-shadow: 0 0 0 2px #C1111F; } }\n.klc__btn:focus-visible { outline: 2px solid #C1111F; outline-offset: 4px; }\n.klc__card { position: absolute; right: var(--klc-r); bottom: calc(var(--klc-b) + var(--klc-s) + 14px + var(--klc-shift, 0px)); width: min(360px, calc(100vw - 2 * var(--klc-r)));\n max-height: calc(100vh - var(--klc-b) - var(--klc-s) - 40px - var(--klc-shift, 0px)); overflow: auto; overscroll-behavior: contain;\n box-sizing: border-box; border-radius: 22px; background: #FAF5ED; color: #003049;\n box-shadow: 0 24px 60px rgba(0, 20, 35, .3), 0 0 0 1px rgba(0, 48, 73, .08);\n font-size: 14px; line-height: 1.5; text-align: left;\n transform-origin: calc(100% - var(--klc-s) / 2) 100%; transform: translateY(10px) scale(.96); opacity: 0; visibility: hidden;\n transition: transform .45s cubic-bezier(.16, 1, .3, 1), opacity .25s ease, visibility 0s linear .45s; }\n.klc.is-open .klc__card { transform: none; opacity: 1; visibility: visible; transition-delay: 0s; }\n.klc__card :where(p) { margin: 0; }\n.klc__card a { color: inherit; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(0, 48, 73, .35); }\n.klc__card :focus-visible { outline: 2px solid #C1111F; outline-offset: 3px; }\n.klc__head { display: flex; align-items: center; gap: 12px; padding: 16px 16px 16px 18px; border-radius: 22px 22px 0 0; background: #003049; color: #FAF5ED; }\n.klc__av { position: relative; width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 50%; background: #C1111F; color: #FAF5ED; }\n.klc__av svg { width: 52%; height: auto; }\n.klc__av::after { content: \"\"; position: absolute; right: 0; bottom: 1px; width: 10px; height: 10px; border-radius: 50%; background: #25D366; box-shadow: 0 0 0 2px #003049; }\n.klc__who b { display: block; font-size: 15px; line-height: 1.2; }\n.klc__who span { display: block; font-size: 12px; opacity: .72; }\n.klc__close { margin-left: auto; width: 32px; height: 32px; flex: none; position: relative; border: 0; border-radius: 50%; background: rgba(250, 245, 237, .12); color: inherit; cursor: pointer; }\n.klc__close::before, .klc__close::after { content: \"\"; position: absolute; left: 30%; right: 30%; top: 50%; height: 2px; margin-top: -1px; border-radius: 2px; background: currentColor; transform: rotate(45deg); }\n.klc__close::after { transform: rotate(-45deg); }\n@media (hover: hover) { .klc__close:hover { background: rgba(250, 245, 237, .24); } }\n.klc__body { padding: 18px 18px 16px; background: #F5EDD6; }\n.klc__msg { position: relative; max-width: 88%; padding: 11px 14px; border-radius: 4px 16px 16px 16px; background: #fff; color: #003049; box-shadow: 0 1px 1px rgba(0, 48, 73, .08); }\n/* WhatsApp-Gr\\xFCn mit Navy-Schrift (Kontrast 7 : 1; Wei\\xDF auf Gr\\xFCn h\\xE4tte nur 2 : 1) */\n.klc__card .klc__start { box-sizing: border-box; width: 100%; margin-top: 14px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 13px 18px; border-radius: 99px;\n background: #25D366; color: #003049; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: background .3s ease, color .3s ease; }\n.klc__start svg { width: 16px; height: 16px; flex: none; }\n@media (hover: hover) { .klc__card .klc__start:hover { background: #003049; color: #FAF5ED; } }\n.klc__form { display: flex; align-items: flex-end; gap: 8px; margin: 0; padding: 12px 12px 12px 16px; background: #FAF5ED; }\n.klc__form textarea { flex: 1; min-width: 0; min-height: 42px; max-height: 120px; resize: none; box-sizing: border-box; padding: 10px 14px; border: 1px solid rgba(0, 48, 73, .2); border-radius: 21px;\n background: #fff; color: #003049; font: inherit; font-size: 14px; line-height: 1.4; outline: none; }\n.klc__form textarea:focus { border-color: #003049; }\n.klc__send { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border: 0; border-radius: 50%; background: #25D366; color: #003049; cursor: pointer; transition: background .3s ease, color .3s ease; }\n.klc__send svg { width: 19px; height: 19px; margin-left: 2px; }\n@media (hover: hover) { .klc__send:hover { background: #003049; color: #FAF5ED; } }\n.klc__fine { padding: 0 16px 14px; background: #FAF5ED; border-radius: 0 0 22px 22px; font-size: 11.5px; line-height: 1.45; color: rgba(0, 48, 73, .62); }\n/* Touch: nur der gro\\xDFe Knopf (kein Textfeld, sonst schiebt die Bildschirmtastatur das Fenster weg); Maus: Textfeld */\n.klc.is-touch .klc__form { display: none; }\n.klc:not(.is-touch) .klc__start { display: none; }\n`,o=document.createElement(\"div\");o.className=\"klc\",o.setAttribute(\"data-kl\",\"WhatsApp-Chat (assets/js/chat.js)\");const H=document.getElementById(\"s-logo\")?'':C;o.innerHTML='',w&&o.classList.add(\"is-touch\");const d=o.querySelector(\".klc__btn\"),L=o.querySelector(\".klc__card\"),z=o.querySelector(\".klc__form\"),p=z.querySelector(\"textarea\"),i={on:!1,open:!1,shift:0,away:!1,why:\"\",sent:0};function h(t,e){i.open!==t&&(i.open=t,o.classList.toggle(\"is-open\",t),d.setAttribute(\"aria-expanded\",t?\"true\":\"false\"),d.setAttribute(\"aria-label\",t?\"Chat schlie\\xDFen\":\"WhatsApp-Chat \\xF6ffnen\"),t?(L.hidden=!1,requestAnimationFrame(()=>{const n=L.querySelector(w?\".klc__start\":\"textarea\");n&&n.focus({preventScroll:!0})})):(setTimeout(()=>{i.open||(L.hidden=!0)},450),e&&d.focus({preventScroll:!0}),f()))}d.addEventListener(\"click\",()=>h(!i.open)),o.querySelector(\".klc__close\").addEventListener(\"click\",()=>h(!1,!0));const D=()=>{const t=p.value.trim();window.open(\"https://wa.me/\"+c.phone+(t?\"?text=\"+encodeURIComponent(t):\"\"),\"_blank\",\"noopener\"),i.sent++,p.value=\"\",p.style.height=\"\",h(!1)};z.addEventListener(\"submit\",t=>{t.preventDefault(),D()}),p.addEventListener(\"keydown\",t=>{t.key===\"Enter\"&&!t.shiftKey&&!t.isComposing&&(t.preventDefault(),D())}),p.addEventListener(\"input\",()=>{p.style.height=\"auto\",p.style.height=Math.min(120,p.scrollHeight+2)+\"px\"}),o.querySelector(\".klc__start\").addEventListener(\"click\",()=>{i.sent++,setTimeout(()=>h(!1),200)}),document.addEventListener(\"keydown\",t=>{t.key===\"Escape\"&&i.open&&h(!1,!0)}),document.addEventListener(\"pointerdown\",t=>{i.open&&!o.contains(t.target)&&h(!1)},!0);const S=()=>{const t=I(),e=t?54:58,n=t?14:Math.round(Math.min(32,Math.max(20,innerWidth*.018)));return{s:e,r:n,b:n,gap:t?10:14,max:t?130:160}};let s=S();const T=()=>{s=S(),o.style.setProperty(\"--klc-s\",s.s+\"px\"),o.style.setProperty(\"--klc-r\",`calc(${s.r}px + env(safe-area-inset-right, 0px))`),o.style.setProperty(\"--klc-b\",`calc(${s.b}px + env(safe-area-inset-bottom, 0px))`)};function P(t,e){for(const n of document.elementsFromPoint(t,e))if(!o.contains(n))return n;return null}function R(t){const e=[],n=r=>r.width&&r.height&&r.right>t.l&&r.leftt.t&&r.topinnerWidth*.6||a.height>innerHeight*.45)continue;const l=a.width>=240||a.height>=160?{left:a.left+a.width*.2,right:a.right-a.width*.2,top:a.top+a.height*.2,bottom:a.bottom-a.height*.2,width:a.width*.6,height:a.height*.6}:a;if(!n(l))continue;const v=Math.min(innerWidth-1,Math.max(0,(Math.max(l.left,t.l)+Math.min(l.right,t.r))/2)),F=Math.min(innerHeight-1,Math.max(0,(Math.max(l.top,t.t)+Math.min(l.bottom,t.b))/2)),b=P(v,F);!b||!(b===r||r.contains(b))||e.push(l)}for(const r of document.querySelectorAll(O)){const a=r.getBoundingClientRect();if(!n(a))continue;const m=getComputedStyle(r);m.visibility===\"hidden\"||+m.opacity<.1||e.push(a)}return e}function N(){const t=d.offsetTop,e=d.offsetLeft,n=d.offsetWidth||s.s,r=e-s.gap,a=e+n+s.gap,m=R({l:r,r:a,t:t-s.max-s.gap,b:t+n+s.gap});let l=0;for(let v=0;v<8;v++){const F=t-l-s.gap,b=t-l+n+s.gap;let y=0;for(const k of m)k.leftr&&k.topF&&(y=Math.max(y,b-k.top));if(y<=.5)return{shift:l,blocked:!1};if(l+=y,l>s.max)return{shift:0,blocked:!0}}return{shift:0,blocked:!0}}function U(){if(g.classList.contains(c.readyClass))return\"laden\";if(g.matches(M))return\"vollbild\";const t=document.activeElement;return w&&t&&!o.contains(t)&&t.matches('input:not([type=\"checkbox\"]):not([type=\"radio\"]), textarea, select')?\"tastatur\":\"\"}function u(){if(!i.on)return;if(i.open){if(!g.matches(M))return;h(!1)}let t=U(),e=0;if(!t){const r=N();r.blocked?t=\"hindernis\":e=r.shift}i.why=t;const n=!!t;n!==i.away&&(i.away=n,o.classList.toggle(\"is-away\",n),d.tabIndex=n?-1:0),!n&&Math.abs(e-i.shift)>3?(i.shift=Math.round(e),o.style.setProperty(\"--klc-shift\",i.shift+\"px\")):!n&&e===0&&i.shift&&(i.shift=0,o.style.setProperty(\"--klc-shift\",\"0px\"))}let E=0,W=[],_=0;function f(){const t=performance.now();W.forEach(clearTimeout),W=[180,650,1300].map(e=>setTimeout(u,e)),t-_>120?(_=t,requestAnimationFrame(u)):E||(E=setTimeout(()=>{E=0,_=performance.now(),u()},120-(t-_)))}function q(){const t=document.createElement(\"style\");t.id=\"klc-style\",t.textContent=j,document.head.appendChild(t),T(),document.body.appendChild(o),addEventListener(\"scroll\",f,{passive:!0}),addEventListener(\"resize\",()=>{T(),f()}),addEventListener(\"focusin\",f),addEventListener(\"focusout\",()=>setTimeout(f,60)),new MutationObserver(f).observe(g,{attributes:!0,attributeFilter:[\"class\"]}),setInterval(()=>{document.hidden||u()},1500);const e=()=>{if(g.classList.contains(c.readyClass)){setTimeout(e,400);return}setTimeout(()=>{i.on=!0,o.classList.add(\"is-on\"),u()},c.delay)};e()}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",q):q(),A.chat={state:()=>Object.assign({},i),check:u,open:()=>h(!0),config:c}})();\n"},{"name":"main.js","code":"(()=>{\"use strict\";window.__kl=!0,window.__klBoot=Date.now();const p=(t,e=document)=>e.querySelector(t),Y=(t,e=document)=>Array.from(e.querySelectorAll(t)),Z=document.documentElement,U=!1;U&&Z.classList.add(\"reduced\");const J=matchMedia(\"(hover: none), (pointer: coarse)\").matches,st=()=>innerWidth<761,Te=new URLSearchParams(location.search).has(\"skip\"),G=st();if(G&&Z.classList.add(\"lite\"),typeof gsap>\"u\"){Z.classList.remove(\"is-loading\",\"is-locked\");return}gsap.registerPlugin(ScrollTrigger,SplitText,DrawSVGPlugin,ScrambleTextPlugin,CustomEase),CustomEase.create(\"kl\",\"0.76,0,0.24,1\"),gsap.defaults({ease:\"expo.out\",duration:1.2}),ScrollTrigger.config({ignoreMobileResize:!0,autoRefreshEvents:\"visibilitychange,DOMContentLoaded,resize\"}),ScrollTrigger.clearScrollMemory(\"manual\");const V=gsap.utils.random,Q=gsap.utils.clamp,vt={logo:[85,92],\"flower-big\":[590,758],tulip:[641,707],snail:[97,114],leaf:[124,114],\"tulip-sm\":[186,205],vase:[132,223],flower:[195,192],leaf2:[225,206],bloom:[356,391],sprout:[176,465]},Xt=t=>``,et=\"https://cdn.prod.website-files.com/6a97e2884291c0c32e3b2095/\",Me=[\"6ab7dc59af1f33cb5f8d372c_kl-rendering-01-960.webp\",\"6ab7dc852418910eb456eefb_kl-rendering-04-960.webp\",\"6ab7dc5b3064e8572721e51f_kl-rendering-03-960.webp\",\"6ab7dcb3104b8364dcc203b7_kl-rendering-10-960.webp\",\"6ab7dcb4faa1e1f58a136813_kl-rendering-14-960.webp\",\"6ab7dc852d8ae8136cc1e980_kl-rendering-07-960.webp\",\"6ab7dc59af1f33cb5f8d3754_kl-rendering-02-960.webp\",\"6ab7dc85af1f33cb5f8d4e09_kl-rendering-06-960.webp\",\"6ab7dcb4b8684bdee1259cee_kl-rendering-13-960.webp\",\"6ab7dc858a6ac06f5fb90a81_kl-rendering-09-960.webp\",\"6ab7dcb43064e857272204e2_kl-rendering-12-960.webp\",\"6ab7dc85af1f33cb5f8d4de4_kl-rendering-05-960.webp\",\"6ab7dcb3e5d9f17124f5b59a_kl-rendering-11-960.webp\"].map(t=>et+t),Vt={\"6a97e2884291c0c32e3b20d9\":et+\"6ab8dadb2dd40080e1dc8a0e_kl-nachhaltigkeit-01-1200.webp\",\"6a97e2884291c0c32e3b20e2\":et+\"6ab8dadc54a31c2411a39006_kl-neuigkeiten-01-1200.webp\"};function $e(){const t=e=>{if(e.dataset.webp)return;const o=Object.keys(Vt).find(r=>(e.getAttribute(\"src\")||\"\").includes(r)||(e.getAttribute(\"srcset\")||\"\").includes(r));o&&(e.dataset.webp=\"1\",e.removeAttribute(\"srcset\"),e.removeAttribute(\"sizes\"),e.src=Vt[o])};Y(\"img\").forEach(e=>{/\\.avif/i.test((e.getAttribute(\"src\")||\"\")+(e.getAttribute(\"srcset\")||\"\"))&&(e.complete&&e.getAttribute(\"src\")&&!e.naturalWidth?t(e):e.addEventListener(\"error\",()=>t(e),{once:!0}))})}const X=window.KL||{};let jt=()=>{},ut=0,Ct=0,pt=null;const ct=(t,e)=>{try{return e()}catch(o){console.warn(\"[Karls Living] \"+t,o)}},wt=(t,e)=>{let o=0,r=!1;const n=()=>{r=!1,o=performance.now(),t()};return()=>{if(r)return;r=!0;const s=e-(performance.now()-o);s<=0?requestAnimationFrame(n):setTimeout(()=>requestAnimationFrame(n),s)}},lt=(t,e,o={})=>SplitText.create(t,{type:e,...o});let K=null;const Ot=()=>!!K&&Math.abs(K.velocity||0)>.3;function Se(){U||typeof Lenis>\"u\"||(K=new Lenis({lerp:.085,smoothWheel:!0,wheelMultiplier:.95,touchMultiplier:1.3,respectReducedMotion:U}),K.on(\"scroll\",ScrollTrigger.update),gsap.ticker.add(t=>K.raf(t*1e3)),gsap.ticker.lagSmoothing(0))}const Pt=t=>K?K.on(\"scroll\",t):addEventListener(\"scroll\",t,{passive:!0});function Dt(t,e={}){if(K){K.scrollTo(t,{duration:1.9,easing:o=>1-Math.pow(1-o,4),...e});return}if(e.onComplete&&setTimeout(e.onComplete,U?0:900),typeof t==\"number\"){scrollTo({top:t,behavior:U?\"auto\":\"smooth\"});return}(typeof t==\"string\"?p(t):t)?.scrollIntoView({behavior:U?\"auto\":\"smooth\"})}function gt(t){!t||!t.isConnected||(t.matches(\"a[href], button, input, select, textarea, [tabindex]\")||t.setAttribute(\"tabindex\",\"-1\"),t.focus({preventScroll:!0}))}function Ce(...t){const e=[],o=r=>{for(const n of r.children)if(!(t.includes(n)||/^(SCRIPT|STYLE|LINK|TEMPLATE)$/.test(n.tagName))){if(t.some(s=>n.contains(s))){o(n);continue}n.inert||(n.inert=!0,e.push(n))}};return o(document.body),()=>e.forEach(r=>{r.inert=!1})}const Pe='a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), iframe, [tabindex]:not([tabindex=\"-1\"])',Ut=t=>Y(Pe,t).filter(e=>e.getClientRects().length&&getComputedStyle(e).visibility!==\"hidden\");function Kt(t){const e=document.createElement(\"span\");e.className=\"odo__strip\";let o=\"\";for(let r=0;r${r%10}`;return e.innerHTML=o,e}function Bt(t,e=1){const o=(t.dataset.odo||t.textContent).trim();t.textContent=\"\",t.classList.add(\"odo\"),t.setAttribute(\"aria-hidden\",\"true\");const r=[];for(const s of o){const h=document.createElement(\"span\");if(h.className=\"odo__col\",/\\d/.test(s)){const g=10*(e+1),d=Kt(g);h.appendChild(d),r.push({strip:d,target:+s+10*e,total:g})}else h.textContent=s,h.classList.add(\"odo__static\");t.appendChild(h)}const n=r.map(s=>s.strip);return{roll:(s={})=>gsap.to(n,{yPercent:h=>-(r[h].target/r[h].total)*100,duration:2.4,ease:\"expo.out\",stagger:.1,overwrite:!0,...s}),reset:()=>gsap.set(n,{yPercent:0,overwrite:!0})}}function Ae(t,e=3){t.classList.add(\"odo\"),t.textContent=\"\";const o=[];for(let n=0;n{const d=+s[g];r[g]!==d&&(r[g]=d,gsap.to(h,{yPercent:-d*10,duration:.32,ease:\"power2.out\",overwrite:!0}))})}}}function mt(t,e,o=.45){if(!t)return;if(!(\"IntersectionObserver\"in window)){e();return}const r=new IntersectionObserver(n=>{n.some(s=>s.isIntersecting)&&(r.disconnect(),e())},{threshold:o});r.observe(t)}function Zt(t,e,o){const r=()=>parseFloat(getComputedStyle(t).paddingLeft)||0,n=()=>{const s=t.scrollWidth-t.clientWidth,h=t.scrollLeft;let g=0,d=1/0;e.forEach((a,c)=>{const u=Math.abs(a.offsetLeft-r()-h);u0?h/s:0,g)};return t.addEventListener(\"scroll\",n,{passive:!0}),{update:n,go:s=>t.scrollTo({left:e[s].offsetLeft-r(),behavior:U?\"auto\":\"smooth\"})}}function At(t,e=\"top 85%\",o=\"bottom 50%\"){const r=lt(t,\"words\");r.words.forEach(n=>{n.style.display=\"inline\"}),gsap.fromTo(r.words,{opacity:.13},{opacity:1,duration:1,ease:\"none\",stagger:.1,scrollTrigger:{trigger:t,start:e,end:o,scrub:!0}})}function kt(t,e={},o=\"top 82%\"){const r=lt(t,\"words,chars\");return gsap.from(r.chars,{yPercent:90,rotate:()=>V(-18,18),opacity:0,duration:1.3,ease:\"expo.out\",stagger:{each:.028,from:\"start\"},scrollTrigger:{trigger:t,start:o},...e}),r}function Gt(t,e=18){X.sound?.pop();const o=t.getBoundingClientRect(),r=o.left+o.width/2,n=o.top+o.height/2,s=[\"flower\",\"leaf\",\"logo\",\"tulip-sm\",\"bloom\",\"leaf2\",\"snail\"],h=[\"#FAF5ED\",\"#669BBC\",\"#003049\",\"#F5EDD6\",\"#C1111F\"];for(let g=0;gd.remove()}).to(d,{scale:1,duration:.35,ease:\"back.out(3)\"},0).to(d,{x:r+Math.cos(a)*c,duration:1.7,ease:\"power2.out\"},0).to(d,{y:n+Math.sin(a)*c-130,duration:.7,ease:\"power2.out\"},0).to(d,{y:`+=${V(320,620)}`,duration:1,ease:\"power2.in\"},.7).to(d,{rotate:`+=${V(-360,360)}`,duration:1.7,ease:\"none\"},0).to(d,{autoAlpha:0,duration:.4},1.3)}}const Qt=\".stats__title, .retreat__title, .green__title, .card__title, .projekt__title, .kiez__title, .trail__title, .news__title, .news__h, .nrow__title, .ncard__title, .kontakt__title, .lage__title, .film__title\";function Jt(t,e){const o=/[\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc]/;Y(t).forEach(r=>{const n=document.createTreeWalker(r,NodeFilter.SHOW_TEXT),s=[];for(;n.nextNode();)o.test(n.currentNode.nodeValue)&&s.push(n.currentNode);s.forEach(h=>{const g=document.createDocumentFragment();h.nodeValue.split(/(\\s+)/).forEach(d=>{if(!d)return;if(!o.test(d)){g.appendChild(document.createTextNode(d));return}const a=document.createElement(\"span\");a.className=e,a.textContent=d,g.appendChild(a)}),h.parentNode.replaceChild(g,h)})})}function Fe(){Jt(Qt,\"uml\")}function He(){Jt(Qt+\", .hero__claim, .intro__title, .band__group\",\"dots\")}function Oe(){Y(\"[data-roll]\").forEach(t=>{const e=t.textContent.trim();t.textContent=\"\",t.classList.add(\"roll\");const o=n=>{const s=document.createElement(\"span\");return s.className=n,s.setAttribute(\"aria-hidden\",\"true\"),[...e].forEach((h,g)=>{const d=document.createElement(\"span\");d.className=\"c\",d.style.setProperty(\"--i\",g),d.textContent=h,s.appendChild(d)}),s},r=document.createElement(\"span\");r.className=\"sr-only\",r.textContent=e,t.append(r,o(\"roll__a\"),o(\"roll__b\"))})}function De(){if(J||U)return;const t=p(\".cursor\");if(!t)return;Z.classList.add(\"has-cursor\");const e=p(\".cursor__dot\"),o=p(\".cursor__ring\"),r=p(\".cursor__label\"),n=gsap.quickTo(e,\"x\",{duration:.08,ease:\"power3\"}),s=gsap.quickTo(e,\"y\",{duration:.08,ease:\"power3\"}),h=gsap.quickTo(o,\"x\",{duration:.5,ease:\"power3\"}),g=gsap.quickTo(o,\"y\",{duration:.5,ease:\"power3\"});let d=!1;addEventListener(\"pointermove\",a=>{a.pointerType!==\"touch\"&&(d||(d=!0,gsap.set([e,o],{x:a.clientX,y:a.clientY})),t.classList.add(\"is-on\"),n(a.clientX),s(a.clientY),h(a.clientX),g(a.clientY))},{passive:!0}),document.addEventListener(\"pointerover\",a=>{const c=a.target;if(!(c instanceof Element))return;const u=c.closest(\"[data-cursor]\"),i=c.closest(\"a, button, label, [data-magnetic]\"),m=!!u&&(!i||i===u);t.classList.toggle(\"is-label\",m),t.classList.toggle(\"is-link\",!!i),t.classList.toggle(\"is-text\",!!c.closest(\"input, textarea, .secnav\")),m&&(r.textContent=u.dataset.cursor);const l=c.closest(\"[data-accent]\");t.dataset.accent=l?l.dataset.accent:\"\"}),addEventListener(\"pointerdown\",()=>t.classList.add(\"is-down\")),addEventListener(\"pointerup\",()=>t.classList.remove(\"is-down\")),document.addEventListener(\"pointerleave\",()=>t.classList.remove(\"is-on\")),Z.addEventListener(\"mouseleave\",()=>t.classList.remove(\"is-on\"))}function Be(){J||U||Y(\"[data-magnetic]\").forEach(t=>{const e=gsap.quickTo(t,\"x\",{duration:.8,ease:\"elastic.out(1, 0.4)\"}),o=gsap.quickTo(t,\"y\",{duration:.8,ease:\"elastic.out(1, 0.4)\"}),r=t.classList.contains(\"biglink\")?.18:.35;t.addEventListener(\"pointermove\",n=>{const s=t.getBoundingClientRect();e((n.clientX-(s.left+s.width/2))*r),o((n.clientY-(s.top+s.height/2))*r)}),t.addEventListener(\"pointerleave\",()=>{e(0),o(0)})})}let te=()=>Promise.resolve();function Re(){const t=p(\".nav__btn\"),e=p(\"#menu\"),o=p(\".menu__panel\");if(!t||!e)return;const r=Y(\".menu__txt\").flatMap(i=>lt(i,\"words,chars\").chars);let n=!1,s=null;const h=()=>{const i=t.getBoundingClientRect();return{x:i.left+i.width/2,y:i.top+i.height/2}},g=t.closest(\"header\")||t;let d=null;const a=i=>{if(!n||i.key!==\"Tab\")return;const m=[...Ut(g),...Ut(e)];if(!m.length)return;const l=m.indexOf(document.activeElement);(l<0||(i.shiftKey?l===0:l===m.length-1))&&(i.preventDefault(),m[i.shiftKey?l<=0?m.length-1:l-1:0].focus())};addEventListener(\"keydown\",a),e.addEventListener(\"touchmove\",i=>{n&&i.preventDefault()},{passive:!1});const c=()=>{n=!0,Z.classList.add(\"menu-open\"),t.setAttribute(\"aria-expanded\",\"true\"),e.setAttribute(\"aria-hidden\",\"false\"),d?.(),d=Ce(e,g),K?.stop(),X.sound?.whoosh({dur:1.1});const i=h(),m=Math.hypot(Math.max(i.x,innerWidth-i.x),Math.max(i.y,innerHeight-i.y))+40;s?.kill(),gsap.set(o,{clipPath:`circle(0px at ${i.x}px ${i.y}px)`}),gsap.set(e,{visibility:\"visible\"}),s=gsap.timeline().fromTo(o,{clipPath:`circle(0px at ${i.x}px ${i.y}px)`},{clipPath:`circle(${m}px at ${i.x}px ${i.y}px)`,duration:1.1,ease:\"kl\"},0).fromTo(r,{yPercent:115},{yPercent:0,duration:1.1,stagger:.012,ease:\"expo.out\"},.35).fromTo(\".menu__idx\",{opacity:0},{opacity:1,duration:.6,stagger:.05},.6).fromTo(\".menu__aside > *\",{y:30,opacity:0},{y:0,opacity:1,duration:1,stagger:.08},.6).fromTo(\".menu__shape\",{scale:0,rotate:-120},{scale:1,rotate:0,duration:1.6,stagger:.08,ease:\"elastic.out(1, 0.6)\"},.45),setTimeout(()=>{n&&p(\".menu__link\")?.focus({preventScroll:!0})},400)},u=()=>new Promise(i=>{if(!n){i();return}n=!1,t.setAttribute(\"aria-expanded\",\"false\"),e.setAttribute(\"aria-hidden\",\"true\"),d?.(),d=null,X.sound?.whoosh({dur:.8,from:2200,peak:900,to:220});const m=h();s?.kill(),s=gsap.timeline({onComplete:()=>{gsap.set(e,{visibility:\"hidden\"}),Z.classList.remove(\"menu-open\"),K?.start(),i()}}).to(r,{yPercent:-115,duration:.5,stagger:.005,ease:\"expo.in\"},0).to(\".menu__shape\",{scale:0,duration:.5,ease:\"expo.in\"},0).to(o,{clipPath:`circle(0px at ${m.x}px ${m.y}px)`,duration:.9,ease:\"kl\"},.2)});t.addEventListener(\"click\",()=>{Z.classList.contains(\"is-loading\")||(n?u():c())}),addEventListener(\"keydown\",i=>{i.key===\"Escape\"&&n&&u().then(()=>t.focus())}),te=u}const xt=t=>t.id===\"top\"?0:(t.parentElement&&t.parentElement.classList.contains(\"pin-spacer\")?t.parentElement:t).getBoundingClientRect().top+scrollY,_t=(t,e)=>{const o=e??xt(t);K?(K.resize?.(),K.scrollTo(o,{immediate:!0,force:!0})):scrollTo(0,o),ScrollTrigger.update()};let bt=!1;function ee(t,e,o){const r=p(\".curtain\");if(!r||U){_t(t,o),gt(t);return}bt=!0,X.sound?.whoosh({dur:1.4,peak:2800}),p(\".curtain__label span\").textContent=e||\"\",gsap.timeline({onComplete:()=>{bt=!1}}).set(r,{display:\"grid\"}).fromTo(r,{clipPath:\"inset(100% 0% 0% 0%)\"},{clipPath:\"inset(0% 0% 0% 0%)\",duration:.75,ease:\"kl\"}).fromTo(\".curtain__logo\",{scale:0,rotate:-120},{scale:1,rotate:0,duration:.8,ease:\"back.out(2)\"},.3).fromTo(\".curtain__label span\",{yPercent:110},{yPercent:0,duration:.7},.4).add(()=>{_t(t,o),gt(t)},.9).to(\".curtain__label span\",{yPercent:-110,duration:.5,ease:\"expo.in\"},1.15).to(r,{clipPath:\"inset(0% 0% 100% 0%)\",duration:.85,ease:\"kl\"},1.3).set(r,{display:\"none\"})}function qe(){document.addEventListener(\"click\",t=>{const e=t.target.closest('a[href^=\"#\"]');if(!e)return;const o=e.getAttribute(\"href\");if(o.length<2)return;const r=p(o);if(!r||(t.preventDefault(),bt))return;if(e.classList.contains(\"nav__logo\")&&scrollY<50){Gt(e,14);return}const n=r.dataset.label||e.textContent.trim();if(Z.classList.contains(\"menu-open\")){_t(r),te().then(()=>gt(r));return}ne(r,n)}),addEventListener(\"hashchange\",()=>{const t=re();t&&!Z.classList.contains(\"is-loading\")&&(_t(t),gt(t))})}function re(){let t=\"\";try{t=decodeURIComponent(location.hash.slice(1))}catch{return null}const e=t&&t!==\"top\"?document.getElementById(t):null;return e&&e.closest(\"main, footer\")?e:null}function ne(t,e){if(bt)return;Math.abs(xt(t)-scrollY)>innerHeight*2.5?ee(t,e===\"Start\"?\"Karls Living\":e):Dt(xt(t),{onComplete:()=>gt(t)})}function Ie(){const t=p(\".hero\"),e=Y(\".petal\");e.forEach(l=>gsap.set(l,{rotate:+l.dataset.r||0})),U||e.forEach((l,f)=>gsap.to(l,{y:()=>V(-22,22),x:()=>V(-12,12),rotate:`+=${V(-14,14)}`,duration:V(4.8,8),ease:\"sine.inOut\",yoyo:!0,repeat:-1,delay:f*.2})),gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"bottom top\",scrub:!0,pin:!0,pinSpacing:!1}}).to(\".hero__sky\",{yPercent:16,scale:1.12,ease:\"none\"},0).to(\".hero__build\",{yPercent:-3,scale:1.12,transformOrigin:\"50% 100%\",ease:\"none\"},0).to(\".hero__petals\",{yPercent:-45,ease:\"none\"},0).to(\".hero__ui\",{yPercent:-30,autoAlpha:0,ease:\"none\"},0).to(\".hero__dim\",{\"--dim\":.55,ease:\"none\"},0);const o=[[\".hero__sky .hero__m\",14],[\".hero__build .hero__m\",46],[\".hero__petals .hero__m\",90]];if(!J&&!U){const l=o.map(([f,_])=>({d:_,x:gsap.quickTo(f,\"x\",{duration:1.3,ease:\"power3\"}),y:gsap.quickTo(f,\"y\",{duration:1.3,ease:\"power3\"})}));t.addEventListener(\"pointermove\",f=>{const _=f.clientX/innerWidth-.5,T=f.clientY/innerHeight-.5;l.forEach(w=>{w.x(-_*w.d),w.y(-T*w.d*.55)})})}if(J&&!U&&\"DeviceOrientationEvent\"in window){const l=o.map(([M,k])=>({d:k,x:gsap.quickTo(M,\"x\",{duration:.9,ease:\"power3\"}),y:gsap.quickTo(M,\"y\",{duration:.9,ease:\"power3\"})}));let f=null,_=!1,T=!0;ScrollTrigger.create({trigger:t,start:\"top bottom\",end:\"bottom top\",onToggle:M=>{T=M.isActive}});const w=M=>{if(M.beta==null||M.gamma==null||!T)return;const k=screen.orientation&&screen.orientation.angle||+window.orientation||0;let E=M.gamma,D=M.beta;k===90?(E=M.beta,D=-M.gamma):(k===270||k===-90)&&(E=-M.beta,D=M.gamma),f||(f={x:E,y:D}),f.x+=(E-f.x)*.006,f.y+=(D-f.y)*.006;const $=Q(-1,1,(E-f.x)/16),R=Q(-1,1,(D-f.y)/16);l.forEach(I=>{I.x(-$*I.d*.55),I.y(-R*I.d*.35)})},L=()=>{_||(_=!0,addEventListener(\"deviceorientation\",w,{passive:!0}))},C=window.DeviceOrientationEvent;if(typeof C.requestPermission==\"function\"){const M=()=>C.requestPermission().then(k=>{t.removeEventListener(\"click\",M),k===\"granted\"&&L()}).catch(()=>{});C.requestPermission().then(k=>k===\"granted\"?L():t.addEventListener(\"click\",M)).catch(()=>t.addEventListener(\"click\",M))}else L()}const r=()=>Z.classList.contains(\"is-loading\");let n=0,s=0,h=0;t.addEventListener(\"pointerdown\",l=>{n=l.clientX,s=l.clientY,h=performance.now()},{passive:!0}),t.addEventListener(\"pointerup\",l=>{if(l.button!==0||!nt||r()||l.target instanceof Element&&l.target.closest(\"a, button\")||Math.hypot(l.clientX-n,l.clientY-s)>12||performance.now()-h>700)return;if(nt.shipAt?.(l.clientX,l.clientY)){const T=p(\".history\");T&&!bt&&(X.sound?.whoosh({dur:1.4,peak:2200}),ee(T,\"Zeitreise 1909\",zt?.(1))),J||m(-1);return}const f=nt.windowAt(l.clientX,l.clientY);if(f<0)return;const _=nt.toggleWindow(f);X.sound?.lightSwitch(_),J||m(f)});const g=p(\".cursor\"),d=p(\".cursor__label\");let a=-1,c=0,u=0,i=0;const m=l=>{a=l,g&&(g.classList.toggle(\"is-label\",l>=0||l===-2),l>=0?d.textContent=nt.windowOn(l)?\"Licht aus\":\"Licht an\":l===-2&&(d.textContent=\"Zeitreise 1909\"))};J||(t.addEventListener(\"pointermove\",l=>{c=l.clientX,u=l.clientY,!i&&(i=requestAnimationFrame(()=>{i=0;const _=nt&&!r()&&!document.elementFromPoint(c,u)?.closest(\"a, button\")?nt.shipAt?.(c,u)?-2:nt.windowAt(c,u):-1;_!==a&&m(_)}))},{passive:!0}),t.addEventListener(\"pointerleave\",()=>{a!==-1&&m(-1)}))}const oe=(location.search.match(/[?&]hero=(live|start|zeitraffer)\\b/)||[])[1]||\"start\";let nt=null;function ze(){const t=p(\".hero\"),e=p(\".hero__meta span\");if(!X.heroSky||!t)return;const o=e?e.textContent:\"\";nt=X.heroSky.create({hero:t,img:p(\".hero__build img\"),reduced:U,mobile:J||st(),mode:oe,onChange:r=>{const n=r.dark?\"light\":\"dark\";t.dataset.nav!==n&&(t.dataset.nav=n,jt()),e&&(e.classList.toggle(\"is-live\",r.live),e.textContent=r.live?`Karlshorst \\xB7 ${r.clock}`:o)},onFlash:r=>X.sound?.thunder(r)}),nt&&(ScrollTrigger.create({trigger:t,start:\"top bottom\",end:\"bottom top\",onToggle:r=>nt.setActive(r.isActive)}),X.sound&&(X.sound.scene(()=>nt.state),ScrollTrigger.create({trigger:t,start:\"top top\",end:\"bottom top\",onUpdate:r=>X.sound.hero(1-r.progress)})))}function We(){return gsap.timeline({paused:!0}).from(\".petal\",{scale:0,duration:1.4,ease:\"back.out(2.2)\",stagger:.07},.4).from(\".hero__claim .line > span\",{yPercent:110,duration:1.2,stagger:.09},.6).from(\".hero__badge\",{scale:0,rotate:-120,duration:1.4,ease:\"back.out(1.7)\"},.75).from(\".hero__meta span\",{yPercent:110,duration:1.1,stagger:.08},.75).fromTo(\".nav\",{yPercent:-140},{yPercent:0,duration:1.3},.7).fromTo(\".secnav__list\",{autoAlpha:0,x:24},{autoAlpha:1,x:0,duration:1.2},1.1)}let Et=null;function Ne(t){const e=p(\".loader\"),o=p(\".hero\"),r=p(\".hero__stage\"),n=Y(\".hero__flip img\"),s=!Z.classList.contains(\"is-loading\"),h=()=>{if(Z.classList.remove(\"is-loading\",\"is-locked\"),s){K?.start();return}K?(K.start(),K.scrollTo(0,{immediate:!0,force:!0})):scrollTo(0,0)};if(U||Te||Et||s||!e||!t)return t?.progress(1),e?.remove(),p(\".hero__flip\")?.remove(),h(),Promise.resolve();e.removeAttribute(\"aria-hidden\"),[...e.children].forEach(B=>{B.classList.contains(\"loader__skip\")||B.setAttribute(\"aria-hidden\",\"true\")});const g=Ae(p(\".loader__odo\"),3);g.set(0);const d=p(\".loader__bar i\"),a=p(\".loader__logo path\"),c=Z.classList.contains(\"kl-early\")?p(\".hero__flip\")?.getBoundingClientRect():null,u=c&&c.width>8?c.width-4:Math.min(innerWidth*(st()?.58:.21),400),i=c&&c.height>8?c.height-4:Math.min(u*1.3,innerHeight*.5),m=((o.clientWidth||innerWidth)-u)/2,l=(innerHeight-i)/2,f=`inset(${l}px ${m}px ${l}px ${m}px round 18px)`;gsap.set(\".hero__flip\",{width:u+4,height:i+4}),gsap.set(o,{clipPath:f});const _=1.32;gsap.set(r,{scale:_});const T=()=>{const B=(p(\".hero__build .build__gl\")||p(\".hero__build img\"))?.getBoundingClientRect();if(!B||!B.width||!B.height)return;const W=r.getBoundingClientRect(),S=W.left+W.width/2,H=W.top+W.height/2,P=W.width*(1-1/_)/2-6,b=W.height*(1-1/_)/2-6,v=S+(B.left+B.width*.445-S)/_,A=H+(B.top+B.height*.45-H)/_;gsap.set(r,{x:gsap.utils.clamp(-P,P,-_*(v-S)),y:gsap.utils.clamp(-b,b,-_*(A-H))})},w=gsap.timeline({paused:!0}).fromTo(a,{drawSVG:\"0%\"},{drawSVG:\"100%\",duration:2.4,ease:\"power2.inOut\"},0).from(\".loader__corner--tr span\",{yPercent:110,duration:1.1,stagger:.1},.2).from(\".loader__label span\",{yPercent:110,duration:1.1,stagger:.08},.3).from(\".loader__odo\",{yPercent:100,duration:1.2},.1);Z.classList.add(\"loader-on\");const L=[...n,p(\".hero__sky img\"),p(\".hero__build img\")].filter(Boolean);let C=0;L.forEach(B=>{if(B.complete){C++;return}const W=()=>{C++};B.addEventListener(\"load\",W,{once:!0}),B.addEventListener(\"error\",W,{once:!0})});const M=150;let k=0,E=0,D=0,$=!1;const R=p(\".loader__skip\"),I=()=>{$=!0};R?.addEventListener(\"click\",I);const x=B=>{[\"Escape\",\"Enter\",\" \"].includes(B.key)&&(B.preventDefault(),I())};return addEventListener(\"keydown\",x),Promise.race([Promise.all([...n.map(B=>B.decode?B.decode().catch(()=>{}):null),nt&&nt.ready]),new Promise(B=>setTimeout(B,2500))]).then(()=>(T(),Ye())).then(()=>new Promise(B=>{nt?.cover(!0),w.play(),D=performance.now(),E=setInterval(()=>{n[k].style.opacity=0,k=(k+1)%n.length,n[k].style.opacity=1,D=performance.now()},M);const W=performance.now(),S=2400,H=5500;let P=0;const b=(A,y)=>{const F=performance.now()-W,q=$||F>H?1:Math.min(C/L.length,F/S);P+=(q-P)*(1-Math.pow($?.7:.93,Math.min(y,100)/16.67)),q===1&&P>.997&&(P=1),g.set(Math.round(P*142)),d.style.transform=`scaleX(${P})`,P===1&&(gsap.ticker.remove(b),clearInterval(E),removeEventListener(\"keydown\",x),v())};gsap.ticker.add(b);function v(){nt?.cover(!1),Z.classList.add(\"kl-outro\"),R?.blur(),gsap.to(R,{autoAlpha:0,duration:.3});const A=Math.max(0,M-(performance.now()-D))/1e3,y=A+.35;gsap.timeline({onComplete:()=>{e.remove(),gsap.set(o,{clearProps:\"clipPath\"}),h(),B()}}).timeScale($?1.6:1).to(a,{fill:\"#FAF5ED\",strokeWidth:0,duration:.5,ease:\"power2.out\"},0).to(\".loader__odo\",{yPercent:-105,duration:.9,ease:\"expo.in\"},.1).to(\".loader__label span\",{yPercent:-220,duration:.7,ease:\"expo.in\",stagger:.05},.1).to([\".loader__corner\",\".loader__bar\"],{autoAlpha:0,duration:.6,ease:\"power2.out\"},.35).set(\".hero__flip\",{display:\"none\"},A).fromTo(o,{clipPath:f},{clipPath:\"inset(0px 0px 0px 0px round 0px)\",duration:1.7,ease:\"kl\",immediateRender:!1},y).to(r,{scale:1,x:0,y:0,duration:2.1,ease:\"expo.inOut\"},y).add(()=>t.play(),y+.6)}}))}function Ye(t=900){return new Promise(e=>{const o=performance.now();let r=o,n=0,s=!1;const h=()=>{s||(s=!0,e())},g=d=>{n=d-r<24?n+1:0,r=d,n>=3||d-o>t?h():requestAnimationFrame(g)};requestAnimationFrame(g),setTimeout(h,t+200)})}function Xe(){const t=p(\".intro__title\"),e=()=>({trigger:t,start:\"top 78%\"});gsap.from(\".intro__title .ln__i\",{yPercent:112,duration:1.5,stagger:.12,scrollTrigger:e()}),Y(\".intro .pill\").forEach((s,h)=>{gsap.from(s,{width:0,duration:1.5,ease:\"expo.inOut\",delay:.4+h*.2,scrollTrigger:e()}),gsap.from(s.querySelector(\"img\"),{scale:1.7,duration:2,delay:.4+h*.2,scrollTrigger:e()})}),gsap.from(\".intro__root path\",{drawSVG:\"0%\",duration:1.4,ease:\"power2.inOut\",delay:.9,scrollTrigger:e()}),At(p(\".intro__big\"),\"top 82%\",\"bottom 45%\"),gsap.from(\".intro__small\",{y:50,opacity:0,duration:1.4,scrollTrigger:{trigger:\".intro__small\",start:\"top 92%\"}});const o=Y(\".plant\");if(gsap.from(o,{scaleY:0,scaleX:.3,duration:2.2,ease:\"elastic.out(1, 0.45)\",stagger:{each:.09,from:\"random\"},scrollTrigger:{trigger:\".garden\",start:\"top 95%\"}}),U||(o.forEach(s=>gsap.to(s.querySelector(\"svg\"),{rotate:V(-5,5),duration:V(2.2,3.8),ease:\"sine.inOut\",yoyo:!0,repeat:-1})),J))return;const r=o.map(s=>gsap.quickTo(s,\"rotation\",{duration:1.1,ease:\"elastic.out(1, 0.35)\"})),n=p(\".intro\");n.addEventListener(\"pointermove\",s=>{o.forEach((h,g)=>{const d=h.getBoundingClientRect(),a=s.clientX-(d.left+d.width/2),c=s.clientY-(d.top+d.height*.35),u=Math.max(0,1-Math.hypot(a,c)/420);r[g](-Math.sign(a)*u*20)})}),n.addEventListener(\"pointerleave\",()=>r.forEach(s=>s(0)))}function Ve(){const t=p(\".stats__title\"),e=lt(t,\"words,chars\");gsap.from(e.chars,{yPercent:70,rotateX:-95,opacity:0,transformOrigin:\"50% 100%\",transformPerspective:600,duration:1.3,stagger:.022,scrollTrigger:{trigger:t,start:\"top 80%\"}}),gsap.from(\".stat__line\",{scaleX:0,duration:1.7,ease:\"expo.inOut\",stagger:.12,scrollTrigger:{trigger:\".stats__grid\",start:\"top 86%\"}}),gsap.from(\".stat__label, .stat__pre, .stat__unit\",{y:20,opacity:0,duration:1,stagger:.05,scrollTrigger:{trigger:\".stats__grid\",start:\"top 80%\"}});const o=Y(\".stats [data-odo]\").map(r=>Bt(r,2));ScrollTrigger.create({trigger:\".stats__grid\",start:\"top 80%\",once:!0,onEnter:()=>{o.forEach((r,n)=>r.roll({delay:n*.18,duration:2.8})),X.sound?.roll(22,2.9)}}),At(p(\".stats__text\"),\"top 85%\",\"bottom 55%\")}function je(){if(U)return;const t=Y(\".band__track\"),e=t.map(n=>{const s=+n.dataset.dir||1;return n.innerHTML+=n.innerHTML,gsap.fromTo(n,{xPercent:s>0?0:-50},{xPercent:s>0?-50:0,duration:42,ease:\"none\",repeat:-1})}),o=J?[]:t.map(n=>gsap.quickTo(n,\"skewX\",{duration:.5,ease:\"power3\"}));let r;ScrollTrigger.create({trigger:\".bands\",start:\"top bottom\",end:\"bottom top\",onUpdate(n){const s=n.getVelocity();if(!Number.isFinite(s))return;const h=J?1:n.direction,g=1+Math.min(Math.abs(s)/220,8);e.forEach(d=>gsap.to(d,{timeScale:h*g,duration:.2,overwrite:!0,onComplete:()=>gsap.to(d,{timeScale:h,duration:1.4,ease:\"power2.out\"})})),o.length&&(o.forEach(d=>d(Q(-12,12,s/-160))),clearTimeout(r),r=setTimeout(()=>o.forEach(d=>d(0)),140))}})}const Rt=[{src:et+\"6ab7dc313064e8572721d46c_kl-rendering-14-3072.webp\",focus:[.57,.6],z0:1,z1:2.3,aim:1},{src:et+\"6aba40b71908726a86072f10_kl-rueckzug-luftbild-3072.webp\",focus:[.56,.55],z0:1.04,z1:2.5,aim:1},{src:et+\"6aba40b853752ac7a762be4f_kl-raum-garten-3072.webp\",focus:[.56,.38],z0:1.04,z1:2.1,aim:.9},{src:et+\"6ab855eb35b7f14765ce08e6_kl-rendering-10-3072.webp\",focus:[.8,.4],z0:1,z1:2.4,aim:.8},{src:et+\"6ab7dc593df629b7afb9576e_kl-rendering-06-3072.webp\",focus:[.62,.42],z0:1.03,z1:1.3,aim:.5}];let it=null;function Ue(){const t=p(\".retreat\"),e=p(\".retreat__media\"),o=p(\".retreat__media img\"),r=p(\".dive__canvas\"),n=p(\".dive__zoom b\"),s=p(\".dive__meter i\"),h=Y(\".dive__caption span\");if(G){gsap.fromTo(e,{clipPath:\"inset(10% 7% 10% 7% round 24px)\"},{clipPath:\"inset(0% 0% 0% 0% round 24px)\",ease:\"none\",scrollTrigger:{trigger:e,start:\"top 95%\",end:\"top 35%\",scrub:!0}}),gsap.fromTo(o,{scale:1.3},{scale:1,ease:\"none\",scrollTrigger:{trigger:e,start:\"top bottom\",end:\"bottom top\",scrub:!0}}),gsap.from([\".retreat__l\",\".retreat__r\"],{yPercent:70,opacity:0,stagger:.12,duration:1.2,scrollTrigger:{trigger:t,start:\"top 75%\"}}),gsap.from(\".retreat__copy p, .retreat__tags .tag\",{y:30,opacity:0,stagger:.07,duration:1.1,scrollTrigger:{trigger:\".retreat__copy\",start:\"top 90%\"}});return}const g=()=>st()?\"inset(30% 9% 30% 9% round 24px)\":\"inset(29% 33% 29% 33% round 32px)\",d=Rt.length-.45,a=1.35,c=d*1.333,u=Math.round((a+c+.35)*108);it=!U&&X.gl?X.gl.createDive(r,Rt,{mobile:J||st()}):null,it&&ScrollTrigger.create({trigger:t,start:\"top bottom+=150%\",once:!0,onEnter:()=>it.prepare()});const i=()=>Rt.slice(1).map(C=>{const M=document.createElement(\"img\");return M.className=\"dive__img\",M.src=C.src,M.alt=\"\",M.decoding=\"async\",M.loading=\"lazy\",r.before(M),M});let m=!it&&!U?i():null;const l=(C,M,k)=>{const E=Q(0,1,(k-C)/(M-C));return E*E*(3-2*E)},f={pos:0};let _=-2,T=0,w=!1;const L=()=>{const C=f.pos;n.textContent=(1+C*2.4).toFixed(1),s.style.transform=`scaleX(${C/d})`;const M=C<.02?-1:Math.min(h.length-1,Math.floor(C+.15));M!==_&&(_=M,h.forEach((E,D)=>gsap.to(E,{autoAlpha:D===M?1:0,yPercent:D===M?0:D.1&&X.sound?.whoosh({dur:1.1})),it&&it.lost&&!m&&(m=i(),r.style.opacity=\"0\",w=!1),it&&!it.lost){const E=C>.001&&it.render(C,Math.min(.35,Math.abs(ut)*.5));E!==w&&(r.style.opacity=E?\"1\":\"0\",w=E)}else m&&(gsap.set(o,{scale:1+Math.min(1,C)*.7}),m.forEach((E,D)=>{E.style.opacity=l(D+.72,D+1,C),E.style.transform=`scale(${1+Math.max(0,C-(D+.72))*.4})`}))};gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=\"+u+\"%\",pin:!0,scrub:1,invalidateOnRefresh:!0,onUpdate:C=>{t.dataset.nav=C.progress>.12?\"light\":\"dark\"},onEnter:()=>it?.prepare()}}).fromTo(e,{clipPath:g},{clipPath:\"inset(0% 0% 0% 0% round 0px)\",ease:\"power1.inOut\",duration:1},0).fromTo(o,{scale:1.45},{scale:1,ease:\"power1.inOut\",duration:1},0).to(\".retreat__l\",{yPercent:-280,ease:\"power1.in\",duration:.8},0).to(\".retreat__r\",{yPercent:280,ease:\"power1.in\",duration:.8},0).to(e,{\"--shade\":1,duration:.3,ease:\"none\"},.7).from(\".retreat__copy p\",{yPercent:40,autoAlpha:0,duration:.3,ease:\"power2.out\"},.8).from(\".retreat__tags .tag\",{y:30,autoAlpha:0,stagger:.05,duration:.25,ease:\"power2.out\"},.86).to([\".retreat__copy\",\".retreat__tags\"],{autoAlpha:0,y:-40,duration:.2,ease:\"power2.in\"},a-.12).to(e,{\"--shade\":.4,duration:.25,ease:\"none\"},a-.12).fromTo(\".dive\",{autoAlpha:0},{autoAlpha:1,duration:.15,ease:\"none\"},a).fromTo(f,{pos:0},{pos:d,duration:c,ease:\"none\",onUpdate:L},a).to({},{duration:.35})}function Ke(){const t=p(\".raum\"),e=p(\".raum__track\"),o=()=>Math.max(0,e.scrollWidth-innerWidth),r=p(\".raum__progress i\");if(ScrollTrigger.create({trigger:t,start:\"top bottom+=150%\",once:!0,onEnter:()=>Y('img[loading=\"lazy\"]',t).forEach(a=>{a.loading=\"eager\"})}),G){const a=p(\".rp--intro\");t.insertBefore(a,e);const c=p(\".raum__hint span\",a);c&&(c.textContent=\"Zum Wischen\"),Zt(e,Array.from(e.children),m=>gsap.set(r,{scaleX:m})).update(),gsap.to(\".raum__big .outline\",{backgroundPosition:\"0% 0\",ease:\"none\",scrollTrigger:{trigger:t,start:\"top 85%\",end:\"top 20%\",scrub:!0}});const u=lt(\".raum__big .solid\",\"chars\");gsap.from(u.chars,{yPercent:100,rotate:()=>V(-25,25),opacity:0,duration:1.2,stagger:.04,ease:\"back.out(2)\",scrollTrigger:{trigger:t,start:\"top 65%\"}}),gsap.from(e.children,{x:70,opacity:0,duration:1.1,stagger:.08,scrollTrigger:{trigger:e,start:\"top 88%\"}});const i=Y(\".rp__rooms [data-odo]\").map(m=>Bt(m,2));mt(p(\".rp--type\"),()=>{i.forEach((m,l)=>m.roll({delay:l*.25,duration:2.6})),X.sound?.roll(14,2.4)},.6),mt(p(\".rp--features\"),()=>gsap.from(\".feat\",{y:60,rotate:m=>[5,-4,4,-6][m%4],opacity:0,duration:1.1,stagger:.08,ease:\"expo.out\"}),.35);return}const n=gsap.to(e,{x:()=>-o(),ease:\"none\",scrollTrigger:{trigger:t,start:\"top top\",end:()=>\"+=\"+o(),pin:!0,scrub:1,invalidateOnRefresh:!0,onUpdate:a=>gsap.set(r,{scaleX:a.progress})}});gsap.to(\".raum__big .outline\",{backgroundPosition:\"0% 0\",ease:\"none\",scrollTrigger:{trigger:t,start:\"top 75%\",end:\"top 5%\",scrub:!0}});const s=lt(\".raum__big .solid\",\"chars\");gsap.from(s.chars,{yPercent:100,rotate:()=>V(-25,25),opacity:0,duration:1.2,stagger:.04,ease:\"back.out(2)\",scrollTrigger:{trigger:t,start:\"top 55%\"}}),Y(\".rp__img\").forEach(a=>{const c=a.querySelector(\"img\");gsap.fromTo(a,{clipPath:\"inset(10% 0% 10% 100% round 32px)\"},{clipPath:\"inset(0% 0% 0% 0% round 32px)\",ease:\"none\",scrollTrigger:{trigger:a,containerAnimation:n,start:\"left 100%\",end:\"left 45%\",scrub:!0}}),gsap.fromTo(c,{xPercent:-8,scale:1.18},{xPercent:8,scale:1,ease:\"none\",scrollTrigger:{trigger:a,containerAnimation:n,start:\"left right\",end:\"right left\",scrub:!0}})}),Y(\".rp figcaption\").forEach(a=>{gsap.from(a.children,{y:40,opacity:0,duration:1,stagger:.08,scrollTrigger:{trigger:a,containerAnimation:n,start:\"left 88%\",toggleActions:\"play none none reverse\"}})});const h=Y(\".rp__rooms [data-odo]\").map(a=>Bt(a,2));if(ScrollTrigger.create({trigger:\".rp--type\",containerAnimation:n,start:\"left 80%\",onEnter:()=>{h.forEach((a,c)=>a.roll({delay:c*.25,duration:2.6})),X.sound?.roll(14,2.4)},onLeaveBack:()=>h.forEach(a=>a.reset())}),gsap.from(\".rp__rooms-label, .rp__rooms-sub\",{y:40,opacity:0,stagger:.1,scrollTrigger:{trigger:\".rp--type\",containerAnimation:n,start:\"left 70%\",toggleActions:\"play none none reverse\"}}),gsap.from(\".feat\",{y:140,rotate:a=>[7,-6,5,-8][a%4],opacity:0,duration:1.3,stagger:.1,ease:\"expo.out\",scrollTrigger:{trigger:\".rp--features\",containerAnimation:n,start:\"left 72%\",toggleActions:\"play none none reverse\"}}),gsap.from(\".rp__ftitle\",{x:80,opacity:0,scrollTrigger:{trigger:\".rp--features\",containerAnimation:n,start:\"left 80%\",toggleActions:\"play none none reverse\"}}),U||pt)return;const g=Y(\".rp__img\").map(a=>gsap.quickTo(a,\"skewX\",{duration:.6,ease:\"power3\"}));let d;ScrollTrigger.create({trigger:t,start:\"top top\",end:()=>\"+=\"+o(),onUpdate:a=>{const c=Q(-7,7,a.getVelocity()/-320);g.forEach(u=>u(c)),clearTimeout(d),d=setTimeout(()=>g.forEach(u=>u(0)),150)}})}function ae(){const t=p(\".card__visual--charge\");if(!t)return null;const e=p(\".charge__car\",t),o=p(\".car__body\",t),r=Y(\".car__wheel\",t),n=p(\".charge__cable\",t),s=p(\".charge__plug\",t),h=p(\".charge__bolt\",t),g=p(\".car__light\",t),d=Y(\".battery i\",t),a=p(\".charge__val\",t);if(!e||!n)return null;const c=440,u=c/(2*Math.PI*19)*360,i={v:0},m=()=>{a.textContent=Math.round(i.v)},l=()=>{gsap.set(e,{x:-c}),gsap.set(r,{rotation:0,transformOrigin:\"50% 50%\"}),gsap.set(o,{rotation:0,transformOrigin:\"22% 100%\"}),gsap.set(n,{drawSVG:\"0%\"}),gsap.set(s,{scale:0,transformOrigin:\"50% 50%\"}),gsap.set(h,{opacity:.3}),gsap.set(d,{scaleX:0,backgroundColor:\"#FAF5ED\"}),i.v=0,m()};l();const f=gsap.timeline({paused:!0}).to(e,{x:0,duration:2.1,ease:\"power3.out\"},0).to(r,{rotation:u,duration:2.1,ease:\"power3.out\"},0).to(o,{rotation:1.6,duration:.24,ease:\"power2.out\"},1.3).to(o,{rotation:0,duration:.9,ease:\"elastic.out(1, 0.35)\"},1.54).to(n,{drawSVG:\"100%\",duration:.75,ease:\"power2.inOut\"},2.05).to(s,{scale:1,duration:.45,ease:\"back.out(3)\"},2.72).add(()=>X.sound?.pop(),2.72).to(h,{opacity:1,duration:.24,repeat:7,yoyo:!0,ease:\"sine.inOut\"},2.9).to(d,{scaleX:1,duration:.3,stagger:.16,ease:\"power2.out\"},2.95).to(i,{v:100,duration:1.75,ease:\"none\",onUpdate:m},2.95).to(h,{opacity:1,duration:.2},4.85).to(g,{opacity:.15,duration:.12,repeat:3,yoyo:!0,ease:\"none\"},4.95).to(d,{backgroundColor:\"#F5EDD6\",duration:.3,stagger:.04,repeat:1,yoyo:!0},4.95);return U&&f.progress(1),{play:()=>{U||f.restart()},reset:()=>{U||(f.pause(0),l())}}}function se(){const t=p(\".card__visual--energy\");if(!t)return null;const e=G?2:4,o=G?250:330,r=o-14,n=r-38-e*30-14,s=300,h=G?n-60:n-70,g=[64,120,176],d=n-2,a=d-18,c=v=>`M${v} ${d}H${v+48}L${v+36} ${a}H${v-12}Z`,u=v=>`M${v-6} ${d-9}H${v+42}M${v+16} ${d}L${v+4} ${a}M${v+32} ${d}L${v+20} ${a}`,i=v=>{const A=v+12-s,y=d-9-h,F=Math.hypot(A,y),q=A/F,N=y/F,z=j=>`${(s+q*j).toFixed(1)} ${(h+N*j).toFixed(1)}`;return``},m=[];for(let v=0;v<=e;v++){const A=n+14+v*30,y=v===e;for(const F of[53,91,129,167,205])y&&F===129||m.push(``)}const l=\"M0 0C1.5-6.5 7.5-13 12.5-10.5C16-8.5 10-2 0 0Z\",f=`M224 ${n-3}H246Q252 ${n-3} 252 ${n+3}V${r-46}Q252 ${r-40} 258 ${r-40}H272`,_=r-52;t.innerHTML=`\n \n \n \n \n \n \n \n \n ${g.map(i).join(\"\")}\n \n \n ${m.join(\"\")}\n \n ${g.map(v=>``).join(\"\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SonneStromW\\xE4rme
`;const T=v=>p(v,t),w=v=>Y(v,t),L=T(\".en__sun\"),C=w(\".en__ray\"),M=w(\".en__panel\"),k=T(\".en__glint\"),E=T(\".en__cable\"),D=T(\".en__unit\"),$=T(\".en__fan\"),R=T(\".en__led\"),I=w(\".en__win\"),x=w(\".en__step\"),O=w(\".en__steps i\"),B=gsap.to($,{rotation:360,transformOrigin:\"50% 50%\",duration:.7,ease:\"none\",repeat:-1,paused:!0});let W=!1;const S=v=>{t.classList.toggle(\"s1\",v>=1),t.classList.toggle(\"s2\",v>=2),t.classList.toggle(\"s3\",v>=3)},H=v=>x[v].classList.add(\"is-on\"),P=()=>{gsap.set(L,{scale:0,rotation:-180,transformOrigin:\"50% 50%\"}),gsap.set(C,{opacity:0}),gsap.set(M,{fill:\"#00243a\"}),gsap.set(k,{attr:{x:-60}}),gsap.set(E,{drawSVG:\"0%\"}),gsap.set(R,{fill:\"#003049\",opacity:.35}),gsap.set(D,{rotation:0,transformOrigin:\"50% 100%\"}),gsap.set(I,{fill:\"rgba(250, 245, 237, 0.14)\"}),gsap.set(O,{\"--p\":0}),x.forEach(v=>v.classList.remove(\"is-on\")),B.pause(0),W=!1,S(0)};P();const b=gsap.timeline({paused:!0}).to(L,{scale:1,rotation:0,duration:1.6,ease:\"elastic.out(1, 0.5)\"},0).add(()=>{H(0),S(1)},.45).to(C,{opacity:1,duration:.4,stagger:.12},.7).to(O[0],{\"--p\":1,duration:1.1,ease:\"power1.inOut\"},.8).to(k,{attr:{x:330},duration:1.2,ease:\"power2.inOut\"},1.2).to(M,{fill:\"#2E6F8E\",duration:.4,stagger:.14},1.3).add(()=>H(1),1.9).to(E,{drawSVG:\"100%\",duration:.7,ease:\"power2.inOut\"},1.9).add(()=>S(2),2.5).to(O[1],{\"--p\":1,duration:1.1,ease:\"power1.inOut\"},2.4).add(()=>X.sound?.pop(),2.7).to(R,{fill:\"#C1111F\",opacity:1,duration:.12},2.7).to(D,{rotation:-2.5,duration:.14,ease:\"power2.out\"},2.7).to(D,{rotation:0,duration:.9,ease:\"elastic.out(1, 0.35)\"},2.84).add(()=>{W=!0,B.play(),gsap.fromTo(B,{timeScale:.05},{timeScale:1,duration:1.6,ease:\"power2.in\"})},2.72).add(()=>S(3),3.4).to(I,{fill:\"#F5EDD6\",duration:.35,stagger:{amount:1.4,from:\"random\"}},3.5).add(()=>H(2),3.6).to(I,{fill:\"#FAF5ED\",duration:.22,stagger:.025,repeat:1,yoyo:!0},5.3);return U&&(b.progress(1),S(3)),new IntersectionObserver(([v])=>{t.classList.toggle(\"is-live\",v.isIntersecting),W&&B.paused(!v.isIntersecting)}).observe(t),{play:()=>{U||b.restart()},reset:()=>{U||(b.pause(0),P())}}}const Ze={kfw:'',dekra:''},Ge=()=>Y(\"[data-logo]\").forEach(t=>{t.firstChild||(t.innerHTML=Ze[t.dataset.logo]||\"\")});function Qe(){Ge();const t=p(\".green__pin\"),e=lt(\".green__title\",\"words,chars\");if(G){gsap.timeline({scrollTrigger:{trigger:t,start:\"top 85%\",end:\"bottom 70%\",scrub:!0}}).fromTo(\".green__eye\",{clipPath:\"circle(18% at 50% 50%)\"},{clipPath:\"circle(75% at 50% 50%)\",ease:\"none\",duration:1},0).fromTo(\".green__eye img\",{scale:1.4,rotate:-12},{scale:1.05,rotate:4,ease:\"none\",duration:1},0),gsap.from(e.chars,{yPercent:80,rotate:()=>V(-30,30),opacity:0,duration:1.1,stagger:{each:.012,from:\"random\"},scrollTrigger:{trigger:t,start:\"top 45%\"}}),gsap.from(\".green__head .kicker, .green__sub\",{y:30,opacity:0,duration:1,stagger:.08,scrollTrigger:{trigger:t,start:\"top 35%\"}}),At(p(\".green__text p\"),\"top 90%\",\"bottom 60%\"),gsap.from(\".card\",{x:70,opacity:0,duration:1.1,stagger:.08,scrollTrigger:{trigger:\".stack\",start:\"top 88%\"}});const g=se();g&&mt(p(\".card--blue\"),()=>g.play(),.6);const d=ae();d&&mt(p(\".card--red\"),()=>d.play(),.6),mt(p(\".card--navy\"),()=>gsap.from(\".stamp\",{scale:0,rotate:()=>V(-200,200),duration:1.6,stagger:.15,ease:\"elastic.out(1, 0.55)\"}));return}gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=140%\",pin:!0,scrub:1}}).fromTo(\".green__eye\",{clipPath:\"circle(16% at 50% 50%)\"},{clipPath:\"circle(75% at 50% 50%)\",ease:\"power1.inOut\",duration:1},0).fromTo(\".green__eye img\",{scale:1.5,rotate:-18},{scale:1.05,rotate:6,ease:\"none\",duration:1},0).from(e.chars,{x:()=>V(-45,45)+\"vw\",y:()=>V(-40,40)+\"vh\",rotate:()=>V(-140,140),scale:()=>V(.3,2.4),opacity:0,ease:\"power2.out\",duration:.62,stagger:{each:.005,from:\"random\"}},0).from(\".green__head .kicker, .green__sub\",{y:30,opacity:0,duration:.2,stagger:.05},.66).to({},{duration:.15}),At(p(\".green__text p\"),\"top 85%\",\"bottom 55%\");const o=Y(\".card\"),r=()=>st()?70:Math.round(innerHeight*.11);o.forEach((g,d)=>{ScrollTrigger.create({trigger:g,start:()=>`top ${r()+d*16}px`,endTrigger:\".stack\",end:\"bottom bottom\",pin:!0,pinSpacing:!1,invalidateOnRefresh:!0});const a=o[d+1];if(a){const c={trigger:a,start:\"top bottom\",end:()=>`top ${r()+(d+1)*16}px`,scrub:!0,invalidateOnRefresh:!0};gsap.to(g.querySelector(\".card__inner\"),{scale:.9,ease:\"none\",scrollTrigger:{...c}}),gsap.to(g.querySelector(\".card__shade\"),{opacity:.55,ease:\"none\",scrollTrigger:{...c}})}gsap.from(g.querySelectorAll(\".card__title, .card__body > p, .chips li\"),{y:50,opacity:0,duration:1.1,stagger:.06,scrollTrigger:{trigger:g,start:\"top 70%\"}})});const n=p(\".card__visual--img img\");n&&gsap.fromTo(n,{yPercent:-12},{yPercent:0,ease:\"none\",scrollTrigger:{trigger:n.closest(\".card\"),start:\"top bottom\",end:\"top top\",scrub:!0}});const s=se();s&&ScrollTrigger.create({trigger:\".card--blue\",start:\"top 55%\",onEnter:()=>s.play(),onLeaveBack:()=>s.reset()});const h=ae();h&&ScrollTrigger.create({trigger:\".card--red\",start:\"top 55%\",onEnter:()=>h.play(),onLeaveBack:()=>h.reset()}),gsap.from(\".stamp\",{scale:0,rotate:()=>V(-200,200),duration:1.6,stagger:.15,ease:\"elastic.out(1, 0.55)\",scrollTrigger:{trigger:\".card--navy\",start:\"top 60%\"}})}const qt=\"https://cdn.prod.website-files.com/6a97e2884291c0c32e3b2095/6abbe63574eccc2c0e77fe1b_karls-quartier3d-v51.txt\";let ie=null;function le(){return X.quartier3d?Promise.resolve(X.quartier3d):new Promise((t,e)=>{const o=()=>X.quartier3d?t(X.quartier3d):e(new Error(\"quartier3d fehlt\"));if(/\\.txt(\\?|$)/.test(qt))fetch(qt).then(r=>r.ok?r.text():Promise.reject(new Error(\"HTTP \"+r.status))).then(r=>{const n=document.createElement(\"script\");n.text=r+`\n//# sourceURL=quartier3d.js`,document.body.appendChild(n),o()},e);else{const r=document.createElement(\"script\");r.src=qt,r.async=!0,r.onload=o,r.onerror=()=>e(new Error(\"quartier3d nicht geladen\")),document.head.appendChild(r)}})}function Je(){const t=p(\".projekt\"),e=Y(\".phase\"),o=Y(\".plan__steps li\"),r=S=>Array.from(S.children);Y(\".sum > span:not(.sum__eq)\").forEach((S,H)=>{const P=S.textContent.match(/^(\\D*)(\\d+)\\s*$/);if(!P)return;S.textContent=P[1];const b=document.createElement(\"span\");b.className=\"sum__n sum__n--\"+H,b.textContent=P[2],S.appendChild(b)});const n=p(\".plan__visual\"),s=p('.plan__img[data-plan=\"base\"]'),h=()=>{const S=n?.clientWidth,H=n?.clientHeight;!S||!H||!s||(s.sizes=Math.ceil(Math.max(S,H*(5e3/3253))*1.25)+\"px\")};h(),ScrollTrigger.addEventListener(\"refreshInit\",h);const g=[p(\".phase--0 .phase__status\"),p(\".phase--out .phase__status\"),p(\".phase--out .phase__status\")].map(S=>S?S.textContent.trim():\"\"),d=[\"2aN\",\"2aS\",\"2b\"],a=S=>S?d.indexOf(S.id):-1,c=Y(\".phase__houses li\"),u=S=>c.forEach((H,P)=>H.classList.toggle(\"is-active\",P===S)),i=p(\".q3d-host\"),m=p(\".q3d-hint\");let l=null,f=-1,_=null;const T=S=>{f=S,l&&l.setStep(S)},w=()=>n?.classList.add(\"q3d--failed\");let L=!1;const C=()=>{L||(L=!0,le().then(S=>{l=S.create(i,{lite:G,step:f,status:g,onPick:(P,b)=>_&&_(P,b),onFail:w}),ie=l,l.failed&&w();const H=()=>{i.removeEventListener(\"pointerdown\",H),setTimeout(()=>m?.classList.add(\"is-gone\"),400)};i.addEventListener(\"pointerdown\",H)}).catch(S=>{console.warn(\"[Karls Living] 3D-Modell\",S),w()}))},M=S=>{const H=()=>Ot()?setTimeout(H,150):window.requestIdleCallback?requestIdleCallback(S,{timeout:700}):setTimeout(S,50);H()};if(i?(ScrollTrigger.create({trigger:t,start:\"top bottom+=250%\",once:!0,onEnter:()=>le().then(S=>{S.loadThree?.(),M(C)},()=>{})}),ScrollTrigger.create({trigger:t,start:\"top bottom+=40%\",once:!0,onEnter:C})):w(),G){const S=p(\".plan__info\"),H=[0,4,5];let P=-1,b=!1,v=-1,A=0;const y=z=>o.forEach((j,tt)=>j.classList.toggle(\"is-active\",tt===z)),F=z=>{if(v>=0){if(z!==0)return;P=0,y(0),T(v+1),u(v),v=-1,clearTimeout(A);return}z!==P&&(P=z,y(z),T(H[z]??0),u(-1),z===e.length-1&&gsap.fromTo(\".sum > span\",{scale:.4,opacity:0,rotate:-8},{scale:1,opacity:1,rotate:0,duration:.5,stagger:.12,ease:\"back.out(2.2)\",overwrite:!0}),X.sound?.click())},q=Zt(S,e,(z,j)=>{b&&F(j)}),N=z=>{if(P===0){T(z+1),u(z);return}v=z,clearTimeout(A),A=setTimeout(()=>{v=-1,q.update()},1600),q.go(0)};S.addEventListener(\"pointerdown\",()=>{v>=0&&(v=-1,clearTimeout(A))},{passive:!0}),o.forEach((z,j)=>z.addEventListener(\"click\",()=>q.go(j))),c.forEach((z,j)=>z.addEventListener(\"click\",()=>N(j))),_=(z,j)=>{const tt=z===0?a(j):-1;tt>=0?N(tt):q.go(z===0?0:1)},mt(n,()=>{b=!0,q.update()},.4),gsap.from(\".phase\",{x:70,opacity:0,duration:1.1,stagger:.08,scrollTrigger:{trigger:S,start:\"top 90%\"}});return}const k={p0:1.1,h0:2.3,h1:3.5,h2:4.7,out:6.3,p3:8.1},E=[\"p0\",\"out\",\"p3\"],D=[[0,-1],[1.1,0],[1.5,0],[2.3,1],[2.7,1],[3.5,2],[3.9,2],[4.7,3],[5.1,3],[6.3,4],[6.7,4],[8.1,5]],$=S=>{if(S<=D[0][0])return D[0][1];for(let H=1;H{const S=x.time(),H=$(S);T(H);const P=Math.round(H),b=P>=1&&P<=3&&Math.abs(H-P)<.45?P-1:-1;b!==I&&(I=b,u(b));let v=0;E.forEach((A,y)=>{S>=x.labels[A]-.55&&(v=y)}),v!==R&&(R=v,o.forEach((A,y)=>A.classList.toggle(\"is-active\",y===v)),X.sound?.click())},scrollTrigger:{trigger:t,start:\"top top\",end:\"+=560%\",pin:!0,scrub:1,snap:{snapTo:\"labelsDirectional\",duration:{min:.4,max:1},delay:.15,ease:\"power2.inOut\",inertia:!1},onLeaveBack:()=>T(-1)}}),O=(S,H)=>{x.set(S,{visibility:\"visible\"},H).fromTo(r(S),{yPercent:45,opacity:0},{yPercent:0,opacity:1,duration:.55,stagger:.07,ease:\"power3.out\"},H)},B=(S,H)=>{x.fromTo(r(S),{yPercent:0,opacity:1},{yPercent:-35,opacity:0,duration:.4,stagger:.04,ease:\"power2.in\",immediateRender:!1},H).set(S,{visibility:\"hidden\"},H+.6)};x.to({},{duration:.05},0),[[.25,5.1],[5.6,6.7],[7.2,null]].forEach(([S,H],P)=>{e[P]&&(O(e[P],S),H!==null&&B(e[P],H))}),x.fromTo(\".sum > span\",{scale:.4,opacity:0,rotate:-8},{scale:1,opacity:1,rotate:0,duration:.35,stagger:.14,ease:\"back.out(2.2)\"},7.35),Object.entries(k).forEach(([S,H])=>x.addLabel(S,H)),x.to({},{duration:.4});const W=S=>{const H=x.scrollTrigger;Dt(H.start+(H.end-H.start)*(x.labels[S]/x.duration()),{duration:1.2})};_=(S,H)=>{const P=S===0?a(H):-1;W(P>=0?\"h\"+P:S===0?\"p0\":\"out\")},o.forEach((S,H)=>{S.style.cursor=\"pointer\",S.addEventListener(\"click\",()=>W(E[H]))}),c.forEach((S,H)=>S.addEventListener(\"click\",()=>W(\"h\"+H)))}let It=null;function tr(){const t=p(\".lage\"),e=p(\".lage__map\"),o=p(\".lage__cv\");if(!t||!e||!o||!X.lageMap)return;const r=lt(\".lage__title\",\"words,chars\");gsap.from(r.chars,{yPercent:100,opacity:0,rotate:()=>V(-20,20),duration:1.2,stagger:.04,scrollTrigger:{trigger:t,start:G?\"top 80%\":\"top 60%\"}});const n=X.lageMap.create(o,{busy:Ot}),s=p(\".lage__marker\"),h=p(\".lage__marker-in\"),g=p(\".lage__dests\"),d=p(\".lage__list\"),a=[\"sbahn\",\"tierpark\",\"wuhlheide\"],c=[\"trabrennbahn\",\"biesenhorst\",\"supermarkt\"],u={};n.routes.forEach(b=>{u[b.id]=b});const i={sbahn:\"S-Bahn Karlshorst\",tierpark:\"Tierpark\",wuhlheide:\"Wuhlheide\",trabrennbahn:\"Trabrennbahn\",biesenhorst:\"Biesenhorster Sand\",supermarkt:\"Supermarkt\"},m={};[...a,...c].forEach(b=>{const v=u[b],A=document.createElement(\"div\");A.className=\"lage__dest\"+(c.includes(b)?\" lage__dest--minor\":\"\"),A.innerHTML='
'+(v.bike.min?G?`${i[b]}${v.foot.min} Min. \\xB7 Rad ${v.bike.min}`:`${i[b]}${v.foot.min} Min. zu Fu\\xDF \\xB7 ${v.bike.min} Min. mit dem Rad`:`${i[b]}${v.foot.min} Min. zu Fu\\xDF`)+\"
\",g.appendChild(A);const y=v.end.x,F=v.end.y,q=Math.abs(y)>Math.abs(F)*1.1?y<0?\"l\":\"r\":F<0?\"t\":\"b\";m[b]={el:A,card:A.firstChild,r:v,pref:q,side:q,w:0,h:0}}),d&&(d.innerHTML='
  • Ab Karls Living
  • '+[...a,...c].map(b=>{const v=u[b];return`
  • ${i[b]}${v.foot.min} Min.zu Fu\\xDF`+(v.bike.min?`${v.bike.min} Min.Rad`:\"\")+\"
  • \"}).join(\"\"));const l=[],f={p:0,sbahn:0,tierpark:0,wuhlheide:0,trabrennbahn:0,biesenhorst:0,supermarkt:0,labels:1},_=()=>{Object.values(m).forEach(b=>{b.w=b.card.offsetWidth,b.h=b.card.offsetHeight}),D=!1},T=()=>{const b=e.clientWidth,v=e.clientHeight,A=parseFloat(getComputedStyle(Z).getPropertyValue(\"--nav-h\"))||84,y=n.bounds;G?(l[0]=n.fit(y.berlin,{t:A+10,r:12,b:20,l:12}),l[1]=n.fit(y.karlshorst,{t:A+30,r:26,b:40,l:26}),l[2]=n.fit(y.routesAll,{t:A+70,r:18,b:70,l:18})):(l[0]=n.fit(y.berlin,{t:A+24,r:b*.05,b:40,l:b*.3}),l[1]=n.fit(y.lichtenberg,{t:A+40,r:b*.22,b:60,l:b*.22}),l[2]=n.fit(y.karlshorst,{t:A+70,r:b*.24,b:110,l:b*.24}),l[3]=n.fit(y.quartier,{t:A+110,r:b*.3,b:120,l:b*.3}),l[4]=n.fit(y.routesAll,{t:A+120,r:b*.2,b:150,l:b*.24}))},w=b=>b*b*(3-2*b),L=b=>{const v=Math.min(l.length-2,Math.floor(b));return n.lerp(l[v],l[v+1],w(Q(0,1,b-v)))},C=[\"l\",\"r\",\"t\",\"b\",\"tl\",\"tr\",\"bl\",\"br\"],M={l:\"100% 50%\",r:\"0% 50%\",t:\"50% 100%\",b:\"50% 0%\",tl:\"100% 100%\",tr:\"0% 100%\",bl:\"100% 0%\",br:\"0% 0%\"},k=(b,v,A)=>{const q={l:A.x-b.w-16,r:A.x+16,t:A.x-b.w/2,b:A.x-b.w/2,tl:A.x-b.w-10,tr:A.x+10,bl:A.x-b.w-10,br:A.x+10}[v],N={l:A.y-b.h/2,r:A.y-b.h/2,t:A.y-b.h-16,b:A.y+16,tl:A.y-b.h-10,tr:A.y-b.h-10,bl:A.y+10,br:A.y+10}[v];return{x:q,y:N,w:b.w,h:b.h}},E=(b,v)=>Math.max(0,Math.min(b.x+b.w,v.x+v.w)-Math.max(b.x,v.x))*Math.max(0,Math.min(b.y+b.h,v.y+v.h)-Math.max(b.y,v.y));let D=!1;const $=()=>{const b=e.clientWidth,v=e.clientHeight,A=G?70:90,y=l[l.length-1],F=[],q=[],N=p(\".lage__pin\",h);if(N){const z=n.toScreen(0,0,y),j=N.offsetWidth,tt=N.offsetHeight;F.push({x:z.x+N.offsetLeft-j/2-6,y:z.y+N.offsetTop-6,w:j+12,h:tt+18})}for(const z in m){const j=n.toScreen(m[z].r.end.x,m[z].r.end.y,y);F.push({x:j.x-12,y:j.y-12,w:24,h:24,id:z}),n.sample(z,22,1,y).forEach(tt=>q.push({x:tt.x-6,y:tt.y-6,w:12,h:12}))}for(const z of[...a,...c]){const j=m[z],tt=n.toScreen(j.r.end.x,j.r.end.y,y);let at=null;for(const ft of[j.pref,...C.filter(ot=>ot!==j.pref)]){const ot=k(j,ft,tt);let dt=ft===j.pref?0:ft.length===1?300:600;for(const Ht of F)Ht.id!==z&&(dt+=E(ot,Ht)*4);for(const Ht of q)dt+=E(ot,Ht)*1.5;dt+=1e5*(Math.max(0,8-ot.x)+Math.max(0,ot.x+ot.w-b+8)+Math.max(0,A-ot.y)+Math.max(0,ot.y+ot.h-v+30)),(!at||dt{let b=!1;for(const v in m)f[v]>0&&(b=!0);if(b){D||$();for(const v of[...a,...c]){const A=m[v];if(f[v]<=0)continue;const y=k(A,A.side,n.toScreen(A.r.end.x,A.r.end.y));A.el.style.transform=`translate3d(${Math.round(y.x)}px, ${Math.round(y.y)}px, 0)`}}},I=()=>{for(const b of[...a,...c])if(f[b]>0&&f[b]<1)return b;return null};let x=!1;const O=()=>{x||(x=!0,queueMicrotask(()=>{x=!1,B()}))},B=()=>{if(!l.length)return;const b=L(f.p);b.routes={sbahn:f.sbahn,tierpark:f.tierpark,wuhlheide:f.wuhlheide,trabrennbahn:f.trabrennbahn,biesenhorst:f.biesenhorst,supermarkt:f.supermarkt},b.focus=I(),b.areaLabels=f.labels,b.fast=Math.abs(f.p-Math.round(f.p))>1e-4,n.draw(b);const v=n.toScreen(0,0);s.style.transform=`translate3d(${v.x}px, ${v.y}px, 0)`,R()},W=()=>{n.resize(e.clientWidth,e.clientHeight),_(),T(),O()};W(),ScrollTrigger.addEventListener(\"refreshInit\",W),ScrollTrigger.addEventListener(\"refresh\",O),document.fonts&&document.fonts.ready.then(()=>{_(),O()});const S=(b,v,A)=>b.fromTo(m[v].card,{autoAlpha:0,scale:.86},{autoAlpha:1,scale:1,duration:.18,ease:\"back.out(2)\"},A);if(G){gsap.timeline({scrollTrigger:{trigger:e,start:\"top 75%\",end:\"top 16%\",scrub:1,invalidateOnRefresh:!0}}).fromTo(f,{p:0},{p:l.length-1,ease:\"none\",duration:1,onUpdate:O},0).fromTo(h,{scale:0,y:-40,autoAlpha:0},{scale:1,y:0,autoAlpha:1,duration:.18,ease:\"back.out(3)\"},.72).call(()=>X.sound?.pop(),null,.73);const b=gsap.timeline({paused:!0,defaults:{ease:\"power2.inOut\"},onUpdate:O});b.to(f,{labels:0,duration:.4,ease:\"none\"},0),[...a,...c].forEach((v,A)=>{const y=A*.9;b.fromTo(f,{[v]:0},{[v]:1,duration:c.includes(v)?.9:1.1},y),S(b,v,y+(c.includes(v)?.8:1))}),ScrollTrigger.create({trigger:e,start:\"top 12%\",once:!0,onEnter:()=>b.play()}),It={map:n,st:f,run:b,apply:O};return}const H=gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=400%\",pin:!0,scrub:1,invalidateOnRefresh:!0}});H.to(f,{p:1,duration:1,ease:\"none\",onUpdate:O},.15).to(\".lage__copy\",{yPercent:-25,autoAlpha:0,duration:.35,ease:\"power2.in\"},.3).to(\".lage__veil\",{autoAlpha:0,duration:.35},.35).to(\".lage__ticker\",{yPercent:-33.333,duration:.16,ease:\"power3.inOut\"},.65).to(f,{p:2,duration:.9,ease:\"none\",onUpdate:O},1.15).to(\".lage__ticker\",{yPercent:-66.666,duration:.16,ease:\"power3.inOut\"},1.55).to(f,{p:3,duration:.8,ease:\"none\",onUpdate:O},2.05).fromTo(h,{scale:0,y:-60,autoAlpha:0},{scale:1,y:0,autoAlpha:1,duration:.22,ease:\"back.out(3)\"},2.55).call(()=>X.sound?.pop(),null,2.56).to(f,{p:4,duration:.6,ease:\"none\",onUpdate:O},3.1).to(\".lage__labels\",{autoAlpha:0,duration:.25},3.3).to(f,{labels:0,duration:.3,ease:\"none\",onUpdate:O},3.55);let P=3.75;a.forEach(b=>{H.fromTo(f,{[b]:0},{[b]:1,duration:.6,ease:\"power1.inOut\",onUpdate:O},P),S(H,b,P+.55),P+=.72}),c.forEach(b=>{H.fromTo(f,{[b]:0},{[b]:1,duration:.45,ease:\"power1.inOut\",onUpdate:O},P),S(H,b,P+.42)}),H.to({},{duration:1.3},P+.45),It={map:n,st:f,tl:H,apply:O}}function er(){kt(p(\".kiez__title\")),gsap.from(\".kiez__lead, .kiez__text\",{y:40,opacity:0,duration:1.2,stagger:.1,scrollTrigger:{trigger:\".kiez__head\",start:\"top 75%\"}}),gsap.from(\".place\",{yPercent:50,opacity:0,duration:1.1,stagger:.07,scrollTrigger:{trigger:\".places\",start:\"top 85%\"}}),!J&&ce(p(\".kiez\"),p(\".places\"),Y(\".place\"),p(\".places__float\"))}function ce(t,e,o,r){const n=Y(\".pslide\",r);ScrollTrigger.create({trigger:t,start:\"top bottom+=100%\",once:!0,onEnter:()=>r.classList.add(\"is-ready\")}),gsap.set(r,{xPercent:-50,yPercent:-50,scale:0});const s=gsap.quickTo(r,\"x\",{duration:.7,ease:\"power3\"}),h=gsap.quickTo(r,\"y\",{duration:.7,ease:\"power3\"}),g=gsap.quickTo(r,\"rotation\",{duration:.9,ease:\"power3\"});let d=0,a=-1,c=1,u=!1,i=-1,m=-1;addEventListener(\"pointermove\",f=>{i=f.clientX,m=f.clientY},{passive:!0});const l=(f,_)=>{u=!0,d=f,s(f,f),h(_,_),g(0,0)};e.addEventListener(\"pointermove\",f=>{u||l(f.clientX,f.clientY),s(f.clientX),h(f.clientY),g(Q(-14,14,(f.clientX-d)*.9)),d=f.clientX}),o.forEach((f,_)=>f.addEventListener(\"pointerenter\",T=>{if(!u){let L=T.clientX,C=T.clientY;if(!L&&!C&&i>=0&&(L=i,C=m),!L&&!C){const M=f.getBoundingClientRect();L=M.left+M.width/2,C=M.top+M.height/2}l(L,C)}if(a===_)return;a=_;const w=n[_];w&&(w.style.zIndex=++c,gsap.fromTo(w,{clipPath:\"inset(100% 0% 0% 0%)\"},{clipPath:\"inset(0% 0% 0% 0%)\",duration:.8,ease:\"expo.out\",overwrite:!0}),gsap.fromTo(w.firstElementChild,{scale:1.4},{scale:1,duration:1.1,ease:\"expo.out\",overwrite:!0}),gsap.to(r,{scale:1,duration:.6,ease:\"expo.out\",overwrite:\"auto\"}))})),e.addEventListener(\"pointerleave\",()=>{a=-1,u=!1,gsap.to(r,{scale:0,duration:.5,ease:\"expo.in\",overwrite:\"auto\"})})}const de=(location.search.match(/[?&]geschichte=(jahr|zeitstrahl|karte)\\b/)||[])[1]||\"karte\",ue=!/[?&]luftbild=aus\\b/.test(location.search),pe=!/[?&]luftbild=plan\\b/.test(location.search),rr=[{place:\"luftschiff\",year:1928,src:et+\"6ab9437cea0e1f450c8d39f0_kl-luftbild-1928-fenster-duo.webp\",b:[55,-286,695,354],c:[368,56],k:1},...pe?[{place:\"quartier\",year:2026,label:\"Baustelle\",src:et+\"6abb9a7651e24061cfa99379_kl-drohne-2026-fenster-duo.webp\",b:[-205,-145,255,315],c:[25,85],k:1.1}]:[]];let Lt=null,zt=null;const nr={kolonie:{src:et+\"6ab8335f520e05a190543f90_kl-geschichte-kolonie-960.webp\",sm:et+\"6ab8335fd513fb650cf98137_kl-geschichte-kolonie-480.webp\",alt:\"Postkarte mit dem Hotel F\\xFCrstenhaus an der Rennbahn Karlshorst\",cap:\"Gru\\xDF aus dem F\\xFCrstenhaus an der Rennbahn, Postkarte von 1899\",by:\"Postkarte: R. Hanow, Berlin\",url:\"https://commons.wikimedia.org/wiki/File:BPK00257-_F%C3%BCrstenhof_an_der_Rennbahn_Karlshorst.jpg\",lic:\"gemeinfrei\",licUrl:\"\",mod:\"\"},luftschiff:{src:et+\"6ab8335fd8bd41f7f2e89cca_kl-geschichte-luftschiff-960.webp\",sm:et+\"6ab8335fd513fb650cf98178_kl-geschichte-luftschiff-480.webp\",alt:\"Die drehbare Luftschiffhalle in Biesdorf mit einem Luftschiff darin\",cap:\"Drehbare Luftschiffhalle in Biesdorf (1909\\u20131919)\",by:\"Foto: unbekannt\",url:\"https://commons.wikimedia.org/wiki/File:Luftschiffhalle-Biesdorf.jpg\",lic:\"gemeinfrei\",licUrl:\"\",mod:\"\"},museum:{src:et+\"6ab83360d513fb650cf981ef_kl-geschichte-museum-960.webp\",sm:et+\"6ab83360d513fb650cf981b5_kl-geschichte-museum-480.webp\",alt:\"Generalfeldmarschall Keitel unterzeichnet die Kapitulationsurkunde\",cap:\"Keitel unterzeichnet die Kapitulation in Karlshorst, 8. Mai 1945\",by:\"Foto: U.S. Army (Lt. Moore), restauriert von Adam Cuerden\",url:\"https://commons.wikimedia.org/wiki/File:Field_Marshal_Keitel_signs_German_surrender_terms_in_Berlin_8_May_1945_-_Restoration.jpg\",lic:\"gemeinfrei\",licUrl:\"\",mod:\"\"},garnison:{src:et+\"6ab8335ed2b39298b206d24d_kl-geschichte-garnison-960.webp\",sm:et+\"6ab8335ed2b39298b206d236_kl-geschichte-garnison-480.webp\",alt:\"Bus der Sowjetarmee vor dem Museum in Karlshorst, 1991\",cap:\"Bus der Sowjetarmee vor dem Kapitulationsmuseum, 1991\",by:\"Foto: Bundesarchiv, B 145 Bild-F088847-0004 / Joachim F. Thurn\",url:\"https://commons.wikimedia.org/wiki/File:Bundesarchiv_B_145_Bild-F088847-0004,_Berlin-Karlshorst,_Bus_der_Sowjetarmee.jpg\",lic:\"CC BY-SA 3.0 DE\",licUrl:\"https://creativecommons.org/licenses/by-sa/3.0/de/deed.en\",mod:\"zugeschnitten, eingef\\xE4rbt\"},gartenstadt:{src:et+\"6ab8335f274b9663fab7cd24_kl-geschichte-gartenstadt-960.webp\",sm:et+\"6ab8335f35b7f14765c65348_kl-geschichte-gartenstadt-480.webp\",alt:\"Neubauten an der Patersdorfer Stra\\xDFe in der Gartenstadt Karlshorst\",cap:\"Patersdorfer Stra\\xDFe in der Gartenstadt Karlshorst, 2018\",by:\"Foto: GodeNehler\",url:\"https://commons.wikimedia.org/wiki/File:PatersdorferStra%C3%9Fe.jpg\",lic:\"CC BY-SA 4.0\",licUrl:\"https://creativecommons.org/licenses/by-sa/4.0\",mod:\"zugeschnitten, eingef\\xE4rbt\"},quartier:{src:et+\"6ab83360e5e7add3865d9387_kl-geschichte-quartier-960.webp\",sm:et+\"6ab83360d513fb650cf98210_kl-geschichte-quartier-480.webp\",alt:\"Visualisierung von Karls Living aus der Luft, dahinter Berlin\",cap:\"Karls Living aus der Luft, dahinter Berlin\",by:\"Visualisierung: Karls Living\",url:\"\",lic:\"\",licUrl:\"\",mod:\"\"}},rt=t=>String(t).replace(/[&<>\"]/g,e=>({\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\"})[e]),or=t=>nr[t.dataset.place]||null,ge=(t,e,o)=>t?e?`${rt(t)}`:rt(t):\"\",he=(t,e)=>t?[ge(t.by,t.url,e),ge(t.lic,t.licUrl,e),rt(t.mod)].filter(Boolean).join(\", \"):\"\",Tt=(t,e,o,{tab:r=!1,cap:n=!0}={})=>t?`
    \"${rt(t.alt)}\"`+(n?`
    ${rt(t.cap)}${he(t,r)}
    `:\"\")+\"
    \":\"\";function ar(){const t=p(\".history\");if(!t)return;const e=de===\"karte\"&&!(X.lageMap&&X.lageMap.create)?\"jahr\":de;Z.dataset.history=e;const o=Y(\".hstep\",t).map(n=>({el:n,word:n.dataset.word,place:n.dataset.place,title:p(\"b\",n).textContent,text:n.lastChild.textContent.trim(),pic:or(n)})),r=()=>gsap.fromTo(\".history__shape\",{rotate:-35,scale:.8},{rotate:40,scale:1.1,ease:\"none\",scrollTrigger:{trigger:t,start:\"top bottom\",end:\"bottom top\",scrub:!0}});e===\"zeitstrahl\"?ir(t,o,r):e===\"karte\"?lr(t,o,r):sr(t,o,r),ScrollTrigger.create({trigger:t,start:\"top bottom+=120%\",once:!0,onEnter:()=>Y(\".hpic img\",t).forEach(n=>{n.loading=\"eager\"})})}function sr(t,e,o){const r=p(\".history__word\",t),n=p(\".history__dots\",t);n.innerHTML=e.map(()=>\"\").join(\"\");const s=e.map(l=>l.el),h=Y(\"i\",n),g=e.map(l=>l.word);if(G){e.forEach(l=>l.pic&&l.el.insertAdjacentHTML(\"afterbegin\",Tt(l.pic,\"hpic--inline\",\"calc(100vw - 32px)\"))),s.forEach(l=>gsap.from(l,{y:40,opacity:0,duration:1.1,scrollTrigger:{trigger:l,start:\"top 88%\"}})),o();return}const d=[-3.2,2.6,-1.8,3.2,-2.6,1.6,-3.4,2.4];let a=[],c=null;e.some(l=>l.pic)&&(c=document.createElement(\"div\"),c.className=\"hpics\",c.innerHTML='
    '+e.map(l=>Tt(l.pic,\"hpic--print\",\"clamp(280px, 30vw, 520px)\")||\"\").join(\"\")+\"
    \",p(\".history__inner\",t).appendChild(c),a=[...c.firstChild.children].map(l=>l.tagName===\"FIGURE\"?l:null),a.forEach((l,f)=>l&&gsap.set(l,{zIndex:f+1,y:innerHeight,x:60,rotation:d[f%d.length]+10,autoAlpha:0})),gsap.from(c,{y:90,rotation:5,autoAlpha:0,duration:1.3,ease:\"power3.out\",scrollTrigger:{trigger:t,start:\"top 55%\"}}));const u=l=>{c&&c.classList.toggle(\"is-empty\",!a[l]),a.forEach((f,_)=>{f&&(f.classList.toggle(\"is-under\",_{if(l!==i){if(i=l,s.forEach((f,_)=>f.classList.toggle(\"is-active\",_===l)),h.forEach((f,_)=>f.classList.toggle(\"is-active\",_<=l)),u(l),U){r.textContent=g[l];return}[0,90,180].forEach(f=>setTimeout(()=>X.sound?.tick(),f)),gsap.to(r,{duration:1.1,ease:\"none\",overwrite:!0,scrambleText:{text:g[l],chars:\"ABCDEFGHKLMNPRSTUVWXYZ0123456789\",speed:.6,revealDelay:.25}})}};m(0),gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=\"+Math.round(e.length*50)+\"%\",pin:!0,scrub:1,onUpdate:l=>m(Math.min(g.length-1,Math.floor(l.progress*g.length*.999)))}}).fromTo(\".history__rail i\",{scaleY:0},{scaleY:1,ease:\"none\",duration:1},0).fromTo(\".history__shape\",{rotate:-35,scale:.8},{rotate:55,scale:1.12,ease:\"none\",duration:1},0).fromTo(\".history__big\",{xPercent:2},{xPercent:-2,ease:\"none\",duration:1},0)}function ir(t,e,o){const r=p(\".history__inner\",t),n=e.length,s=document.createElement(\"div\");s.className=\"hline\",s.setAttribute(\"aria-hidden\",\"true\"),s.style.setProperty(\"--n\",n),s.innerHTML='
    '+e.map((m,l)=>`
    5?\" hline__st--long\":\"\"}\" style=\"--i:${l}\">5?\" hline__year--long\":\"\"}\">${m.word}`+Tt(m.pic,\"hline__pic\",G?\"calc(100vw - 72px)\":\"clamp(190px, 30vw, 520px)\",{tab:!0,cap:!1})+`

    ${m.title}${m.text}${m.pic?`${he(m.pic,!0)}`:\"\"}

    `).join(\"\")+\"
    \",r.appendChild(s);const h=p(\".hline__track\",s),g=p(\".hline__fill\",s),d=Y(\".hline__st\",s);let a=-1;const c=m=>{m!==a&&(a=m,d.forEach((l,f)=>{l.classList.toggle(\"is-on\",f===m),l.classList.toggle(\"is-past\",fScrollTrigger.create({trigger:m,start:\"top 72%\",onEnter:()=>c(l),onLeaveBack:()=>c(l-1)})),o(),Lt={mode:\"zeitstrahl\"};return}c(0);const u=()=>d.length>1?d[1].offsetLeft-d[0].offsetLeft:0,i=gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=\"+Math.round(n*45)+\"%\",pin:!0,scrub:1,invalidateOnRefresh:!0,onUpdate:m=>c(Math.min(n-1,Math.floor(m.progress*i.duration()+.25)))}});i.set(g,{scaleX:0},0);for(let m=1;m-u()*m,duration:.42,ease:\"power2.inOut\"},m-.42).to(g,{scaleX:m/(n-1),duration:.42,ease:\"power2.inOut\"},m-.42);i.to({},{duration:.6},n-1).fromTo(\".history__shape\",{rotate:-35,scale:.8},{rotate:55,scale:1.12,ease:\"none\",duration:n-.4},0),Lt={mode:\"zeitstrahl\",tl:i}}function lr(t,e,o){const r=p(\".history__inner\",t),n=e.length,s=document.createElement(\"div\");s.className=\"hmap\";const h=!G&&e.some(y=>y.pic);s.innerHTML='

    '+(h?'
    '+e.map(y=>Tt(y.pic,\"hmap__pic\",\"clamp(220px, 21vw, 380px)\",{tab:!0})||\"\").join(\"\")+\"
    \":\"\")+'
    '+e.map((y,F)=>`

    5?\" hmap__year--long\":\"\"}\">${y.word}

    ${y.title}${y.text}

    `+(G?Tt(y.pic,\"hpic--inline\",\"calc(100vw - 32px)\",{tab:!0}):\"\")+\"
    \").join(\"\")+'

    Karte: \\xA9 OpenStreetMap-Mitwirkende'+(ue?\" \\xB7 Luftbild 1928: Geoportal Berlin\"+(pe?\" \\xB7 Baustelle 2026: Drohnenaufnahme Karls Living\":\"\"):\"\")+\"

    \",r.appendChild(s);const g=p(\".hmap__view\",s),d=p(\".hmap__cv\",s),a=p(\".hmap__pin\",s),c=p(\".hmap__tag\",s),u=p(\".hmap__now\",s),i=Y(\".hmap__st\",s),m=h?[...p(\".hmap__pics\",s).children].map(y=>y.tagName===\"FIGURE\"?y:null):[],l=X.lageMap.create(d,{theme:\"dark\",busy:Ot}),f=ue?rr.map(y=>Object.assign({i:e.findIndex(F=>F.place===y.place),img:null},y)).filter(y=>y.i>=0):[],_=f.length?g.appendChild(Object.assign(document.createElement(\"p\"),{className:\"hmap__lb\"})):null;let T=0,w=0,L=1,C=1;const M=()=>f.forEach(y=>{if(y.img||y.loading)return;y.loading=!0;const F=()=>{const q=new Image;q.crossOrigin=\"anonymous\",q.src=y.src,(q.decode?q.decode():new Promise((N,z)=>{q.onload=N,q.onerror=z})).then(()=>{y.img=q,P()},()=>{})};(X.gl&&X.gl.decode?X.gl.decode(y.src):Promise.resolve(null)).then(q=>{q?(y.img=q,P()):F()})}),k=y=>{let F=null,q=0;for(const ft of f){const ot=Q(0,1,1-Math.abs(x.p-ft.i)*2.2),dt=ot*ot*(3-2*ot);dt>q&&(q=dt,F=ft)}const N=!!F&&q>.003&&!!F.img;if(T=N?q:0,_&&(_.style.opacity=N?q.toFixed(3):0),!N){y.photoKey=\"lens:0\";return}const z=(G?Q(64,.32*Math.min(L,C),120):Q(64,.17*Math.min(L,C),170))*F.k,j=Math.min(z/y.zoom,320)*(.55+.45*q);y.photos=[{img:F.img,b:F.b,a:q,clip:{x:F.c[0],y:F.c[1],r:j}}],y.photoKey=\"lens:\"+F.year+\":\"+q.toFixed(3)+\":\"+j.toFixed(1),F.outline?y.highlightOutline=q:y.highlightSoft=q;const tt=+(1-q).toFixed(2);y.labels=tt,y.areaLabels=tt;const at=l.toScreen(F.c[0],F.c[1]+j,y);w!==F.year&&(w=F.year,_.innerHTML=(F.label||\"Luftbild\")+\" \"+F.year+\"\"),_.style.transform=`translate3d(${at.x.toFixed(1)}px, ${at.y.toFixed(1)}px, 0) translate(-50%, -50%)`};f.length&&ScrollTrigger.create({trigger:t,start:\"top bottom+=150%\",once:!0,onEnter:M});const E=l.history||{},D={kolonie:\"Villenkolonie\",luftschiff:\"Luftschiffhalle\",hallen:\"Flugzeughallen\",versuchsanstalt:\"Halle 3\",museum:\"Museum Karlshorst\",garnison:\"Kasernengel\\xE4nde\",gartenstadt:\"Gartenstadt\",quartier:\"Karls Living\"},$=y=>{const F=E[y.place]||(y.place===\"quartier\"?{x:0,y:0,bounds:l.bounds.quartier}:null);return F&&Object.assign({},F,{name:D[y.place]||F.name})};let R=[];const I=()=>{const y=G?{t:36,r:24,b:30,l:24}:h?{t:130,r:90,b:320,l:150}:{t:150,r:90,b:120,l:150},F=q=>!G&&h&&q.place===\"gartenstadt\"?Object.assign({},y,{r:330}):y;R=e.map(q=>{const N=$(q);return l.fit(N?N.bounds||[N.x-250,N.y-250,N.x+250,N.y+250]:l.bounds.karlshorst,F(q))})},x={p:0};let O=-1;const B=e.map(()=>0);let W=-1;const S=()=>{const y=O>=0?B[O]:0;y!==W&&(W=y,u.style.opacity=y,u.style.transform=`translateY(${((1-y)*10).toFixed(1)}px)`)},H=y=>{y!==O&&(O=y,i.forEach((F,q)=>F.classList.toggle(\"is-on\",q===y)),m.forEach((F,q)=>F&&F.classList.toggle(\"is-on\",q===y)),G&&(gsap.to(u,{duration:.7,ease:\"none\",overwrite:\"auto\",scrambleText:{text:e[y].word,chars:\"0123456789\",speed:.6}}),S()),X.sound?.tick())},P=()=>{if(!R.length)return;const y=Math.max(0,Math.min(n-2,Math.floor(x.p))),F=Q(0,1,x.p-y),q=F*F*(3-2*F),N=n>1?l.lerp(R[y],R[y+1],q):R[0];N.zoom*=Math.pow(.7,Math.sin(Math.PI*F));const z=Math.round(x.p),j=e[z],tt=$(j);if(N.highlight=j.place,N.highlightAmount=Q(0,1,1-Math.abs(x.p-z)*2.2),N.quarter=j.place===\"quartier\"?.25+.75*N.highlightAmount:.25,N.fast=Math.abs(x.p-z)>1e-4,f.length&&k(N),l.draw(N),tt){const at=l.toScreen(tt.x,tt.y);a.style.transform=`translate3d(${at.x}px, ${at.y}px, 0)`,a.style.opacity=N.highlightAmount,a.classList.toggle(\"is-lens\",T>.4),c.textContent!==tt.name&&(c.textContent=tt.name)}else a.style.opacity=0},b=()=>{L=g.clientWidth,C=g.clientHeight,l.resize(L,C),I(),P()};if(b(),ScrollTrigger.addEventListener(\"refreshInit\",b),ScrollTrigger.addEventListener(\"refresh\",P),document.fonts&&document.fonts.ready.then(P),H(0),G){const y=N=>{H(N),gsap.to(x,{p:N,duration:1.3,ease:\"power2.inOut\",overwrite:!0,onUpdate:P})};i.forEach((N,z)=>ScrollTrigger.create({trigger:N,start:\"top 58%\",end:\"bottom 58%\",onEnter:()=>y(z),onEnterBack:()=>y(z)}));const F=()=>(parseFloat(getComputedStyle(g).top)||0)+g.offsetHeight,q=N=>z=>{B[N]=z.progress,S()};i.forEach((N,z)=>ScrollTrigger.create({trigger:p(\".hmap__year\",N),start:()=>\"top \"+Math.round(F()),end:()=>\"bottom \"+Math.round(F()),onUpdate:q(z),onRefresh:q(z)})),zt=N=>{const z=i[N];return z?z.getBoundingClientRect().top+scrollY-innerHeight*.5:null},Lt={mode:\"karte\",map:l,st:x,apply:P};return}const v=.8,A=gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=\"+Math.round(n*45)+\"%\",pin:!0,scrub:.6,invalidateOnRefresh:!0,onUpdate:y=>H(Math.min(n-1,Math.floor(y.progress*A.duration()+v/2)))}});A.set(x,{p:0,onComplete:P},0);for(let y=1;y{const F=A.scrollTrigger;return F?F.start+(F.end-F.start)*Math.min(1,(y+.02)/A.duration()):null},Lt={mode:\"karte\",map:l,st:x,tl:A,apply:P}}function cr(){const t=p(\".trail\"),e=p(\".trail__imgs\");kt(p(\".trail__title\"),{stagger:{each:.02,from:\"random\"}},\"top 70%\");const o=Me.map(u=>{const i=document.createElement(\"div\");return i.className=\"trail__img\",i.innerHTML=`\"\"`,e.appendChild(i),i});if(U){p(\".trail__hint\")?.remove(),[[.18,.2,-8],[.84,.24,6],[.2,.82,5],[.8,.78,-7]].forEach(([u,i,m],l)=>gsap.set(o[l],{left:u*100+\"%\",top:i*100+\"%\",xPercent:-50,yPercent:-50,rotate:m,autoAlpha:1}));return}let r=0,n=1,s=null,h=0;const g=(u,i)=>{const m=o[r++%o.length];gsap.killTweensOf(m),m.style.zIndex=++n,gsap.timeline().set(m,{x:u,y:i,xPercent:-50,yPercent:-50,scale:.2,rotate:V(-18,18),autoAlpha:1}).to(m,{scale:1,duration:.6,ease:\"back.out(1.8)\"}).to(m,{scale:.3,y:i+170,rotate:`+=${V(-30,30)}`,autoAlpha:0,duration:.95,ease:\"power3.in\"},.8)},d=(u,i)=>{if(!s){s={x:u,y:i};return}Math.hypot(u-s.x,i-s.y)>(st()?70:100)&&(s={x:u,y:i},g(u,i))};J||t.addEventListener(\"pointermove\",u=>{const i=t.getBoundingClientRect();h=performance.now(),d(u.clientX-i.left,u.clientY-i.top)});let a=0;const c=(u,i)=>{if(!J&&performance.now()-h<2200)return;a+=i/1e3;const m=t.clientWidth,l=t.clientHeight;d(m/2+Math.sin(a*1.05)*m*.36,l/2+Math.sin(a*1.9+1)*l*.3)};new IntersectionObserver(u=>u[u.length-1].isIntersecting?gsap.ticker.add(c):gsap.ticker.remove(c)).observe(t)}function dr(t,e,o){const r=t.getContext(\"2d\");if(!r)return null;const n=.86,s=a=>`400 ${a}px \"Daily Spark Sans\", \"Arial Black\", sans-serif`,h={p:-1};return{layout:()=>{const a=t.clientWidth||innerWidth,c=t.clientHeight||innerHeight,u=Math.min(window.devicePixelRatio||1,2);t.width=Math.round(a*u),t.height=Math.round(c*u),r.font=s(100);const i=(r.measureText(\"E\").actualBoundingBoxAscent||70)/100,m=Math.max(...e.map(W=>r.measureText(W).width))/100,l=Math.min(a*.84/m,c*.66/(i+n*(e.length-1)));r.font=s(l);const f=(c-l*(i+n*(e.length-1)))/2+c*.02,_=e.map((W,S)=>({text:W,x:(a-r.measureText(W).width)/2,y:f+l*(i+n*S)})),T=document.createElement(\"canvas\");T.width=Math.ceil(a),T.height=Math.ceil(c);const w=T.getContext(\"2d\",{willReadFrequently:!0}),L=_[o.line];w.font=s(l),w.fillText(L.text,L.x,L.y);const C=w.getImageData(0,0,T.width,T.height).data,M=(W,S)=>W>=0&&S>=0&&W127,k=Math.round(L.x+w.measureText(L.text.slice(0,o.char)).width+w.measureText(L.text[o.char]).width/2);let E=1/0,D=0,$=0;for(let W=Math.round(L.y-i*l*.92);W<=L.y-i*l*.08;W+=2){if(!M(k,W))continue;let S=k,H=k;for(;M(S-1,W);)S--;for(;M(H+1,W);)H++;E=Math.min(E,H-S+1),D+=(S+H)/2,$++}const R=$?D/$:k;let I=Math.round(L.y-i*l/2),x=I;for(;M(Math.round(R),I-1);)I--;for(;M(Math.round(R),x+1);)x++;const O=$?E:l*.15,B=Math.max(x-I,i*l*.8);T.width=T.height=0,Object.assign(h,{W:a,H:c,dpr:u,fs:l,rows:_,ax:R,ay:(I+x)/2,sEnd:Math.max(a/(O*.86),c/(B*.86))*1.06,p:-1})},zoom:a=>{if(a=Q(0,1,a),!h.rows||a===h.p)return;h.p=a;const{W:c,H:u,dpr:i}=h;if(r.setTransform(1,0,0,1,0,0),a>=1){r.clearRect(0,0,t.width,t.height),t.style.visibility=\"hidden\";return}t.style.visibility=\"\";const m=Math.exp(Math.log(h.sEnd)*a),l=a*a*(3-2*a),f=h.ax+(c/2-h.ax)*l,_=h.ay+(u/2-h.ay)*l;r.globalCompositeOperation=\"source-over\",r.fillStyle=\"#FAF5ED\",r.fillRect(0,0,t.width,t.height),r.globalCompositeOperation=\"destination-out\",r.setTransform(i*m,0,0,i*m,i*(f-m*h.ax),i*(_-m*h.ay)),r.font=s(h.fs),r.fillStyle=\"#000\",h.rows.forEach(T=>r.fillText(T.text,T.x,T.y)),r.globalCompositeOperation=\"source-over\"},get p(){return h.p},get info(){return{...h,rows:void 0}}}}let fe=null;function ur(){const t=p(\".film\");if(!t)return;const e=p(\".film__media\",t),o=p(\".film__video\",t),r=p(\".film__poster\",t),n=p(\".film__shade\",t),s=p(\".film__pause\",t),h=p(\".film__copy .kicker\",t),g=p(\".film__title\",t),d=p(\".film__btn\",t);let a=G?\"lite\":\"schrift\";const c=a===\"schrift\"?dr(p(\".film__mask\",t),[\"ES WIRD\",\"GEBAUT.\"],{line:0,char:4}):null;a===\"schrift\"&&!c&&(a=\"karte\"),Z.dataset.film=a;let u=!1,i=!1,m=!1;const l=()=>{if(!u||m||!i)return;const L=o.play();L&&L.catch&&L.catch(()=>{})},f=()=>{u||(u=!0,o.src=G?o.dataset.hoch:o.dataset.quer,o.preload=\"auto\",l())};if(o){o.muted=!0,o.addEventListener(\"playing\",()=>o.classList.add(\"is-playing\")),\"IntersectionObserver\"in window?(new IntersectionObserver(C=>{C.some(M=>M.isIntersecting)&&f()},{rootMargin:\"150% 0px\"}).observe(t),new IntersectionObserver(C=>{i=C[C.length-1].isIntersecting,i?l():o.pause()}).observe(t)):(i=!0,f());const L=()=>{s?.classList.toggle(\"is-paused\",o.paused),s?.setAttribute(\"aria-pressed\",String(o.paused)),s?.setAttribute(\"aria-label\",o.paused?\"Film abspielen\":\"Film anhalten\")};o.addEventListener(\"play\",L),o.addEventListener(\"pause\",L),L(),s?.addEventListener(\"click\",()=>{m=!o.paused,m?o.pause():l()})}const _=[r,o].filter(Boolean);if(a===\"lite\"){gsap.fromTo(e,{clipPath:\"inset(8% 7% 8% 7% round 24px)\"},{clipPath:\"inset(0% 0% 0% 0% round 24px)\",ease:\"none\",scrollTrigger:{trigger:e,start:\"top 95%\",end:\"top 30%\",scrub:!0}}),gsap.fromTo(_,{scale:1.25},{scale:1,ease:\"none\",scrollTrigger:{trigger:e,start:\"top bottom\",end:\"bottom 40%\",scrub:!0}}),kt(g,{},\"top 88%\"),gsap.from(h,{y:24,opacity:0,duration:1,scrollTrigger:{trigger:t,start:\"top 85%\"}}),gsap.from(d,{y:30,opacity:0,duration:1.1,scrollTrigger:{trigger:d,start:\"top 96%\"}});return}if(a===\"karte\"){t.dataset.nav=\"light\";const L={trigger:t,start:\"top bottom\",end:\"top top\",scrub:!0};gsap.fromTo(e,{clipPath:\"inset(14% 18% 14% 18% round 40px)\"},{clipPath:\"inset(0% 0% 0% 0% round 0px)\",ease:\"none\",scrollTrigger:{...L}}),gsap.fromTo(_,{scale:1.3},{scale:1,ease:\"none\",scrollTrigger:{...L}}),kt(g,{},\"top 35%\"),gsap.from([h,d,s],{y:30,opacity:0,stagger:.08,duration:1.1,scrollTrigger:{trigger:t,start:\"top 30%\"}});return}const T={p:0};c.layout(),c.zoom(0),ScrollTrigger.addEventListener(\"refreshInit\",()=>{c.layout(),c.zoom(T.p)});const w='400 100px \"Daily Spark Sans\"';document.fonts?.check&&!document.fonts.check(w)&&document.fonts.load(w).then(L=>{L.length&&(c.layout(),c.zoom(T.p))}).catch(()=>{}),gsap.set([h,d,s],{autoAlpha:0,y:30}),gsap.timeline({scrollTrigger:{trigger:t,start:\"top top\",end:\"+=150%\",pin:!0,scrub:1,invalidateOnRefresh:!0,onUpdate:L=>{const C=L.progress>.45?\"light\":\"dark\";t.dataset.nav!==C&&(t.dataset.nav=C)}}}).to(T,{p:1,duration:.62,ease:\"power1.in\",onUpdate:()=>c.zoom(T.p)},0).fromTo(_,{scale:1.18},{scale:1,duration:.72,ease:\"power1.out\"},0).call(()=>X.sound?.whoosh({dur:1.3,peak:2400}),null,.3).to(n,{opacity:1,duration:.2,ease:\"none\"},.6).to([h,d,s],{autoAlpha:1,y:0,stagger:.05,duration:.2,ease:\"power2.out\"},.64).to({},{duration:.25}),fe={mask:c,z:T}}const pr=\"https://player.vimeo.com/video/1199676005?h=112fa36252&autoplay=1&title=0&byline=0&portrait=0&dnt=1&color=C1111F\";function gr(){const t=Y('[data-lightbox=\"vimeo\"]');if(!t.length)return;let e=null,o=null,r=null;const n=c=>{if(e){if(c.key===\"Escape\")c.preventDefault(),c.stopPropagation(),d();else if(c.key===\"Tab\"){const u=[...e.querySelectorAll(\"button, iframe\")],i=u.indexOf(document.activeElement);(c.shiftKey?i<=0:i===u.length-1)&&(c.preventDefault(),u[c.shiftKey?u.length-1:0].focus())}}};let s=[],h=null,g=0;const d=()=>{if(!e)return;const c=e;e=null,removeEventListener(\"keydown\",n,!0),s.forEach(u=>{u.inert=!1}),s=[],c.classList.remove(\"is-open\"),h=c,setTimeout(()=>{c.remove(),h===c&&(h=null)},450),Z.classList.remove(\"lightbox-open\"),K?.start(),r&&(r.play().catch(()=>{}),r=null),o?.focus({preventScroll:!0})},a=c=>{if(e)return;h&&(h.remove(),h=null),o=c,g=performance.now();const u=p(\".film__video\");u&&!u.paused&&(u.pause(),r=u),e=document.createElement(\"div\"),e.className=\"lightbox\",e.setAttribute(\"role\",\"dialog\"),e.setAttribute(\"aria-modal\",\"true\"),e.setAttribute(\"aria-label\",\"Film: Karls Living \\u2013 Ein Quartier f\\xFCr alle Lebensformen\"),e.innerHTML=`
    `,document.body.appendChild(e),s=[...document.body.children].filter(i=>i!==e&&!i.inert),s.forEach(i=>{i.inert=!0}),e.addEventListener(\"touchmove\",i=>i.preventDefault(),{passive:!1}),e.addEventListener(\"click\",i=>{i.target.closest(\".lightbox__frame\")||(i.target.closest(\".lightbox__close\")||performance.now()-g>400)&&d()}),addEventListener(\"keydown\",n,!0),Z.classList.add(\"lightbox-open\"),K?.stop(),requestAnimationFrame(()=>e?.classList.add(\"is-open\")),p(\".lightbox__close\",e).focus({preventScroll:!0})};t.forEach(c=>c.addEventListener(\"click\",u=>{u.button!==0||u.metaKey||u.ctrlKey||u.shiftKey||u.altKey||(u.preventDefault(),a(c))}))}const Wt=(location.search.match(/[?&]news=(liste|karussell)\\b/)||[])[1]||\"karussell\",hr=7;let ht=null;const fr=[\"jan\",\"feb\",\"m(a|\\xE4|ae)r\",\"apr\",\"ma[iy]\",\"jun\",\"jul\",\"aug\",\"sep\",\"o[ck]t\",\"nov\",\"de[cz]\"];function mr(t){t=(t||\"\").trim();let e;const o=n=>fr.findIndex(s=>new RegExp(\"^\"+s,\"i\").test(n));if(e=t.match(/^(\\d{4})-(\\d{2})-(\\d{2})/))return new Date(+e[1],e[2]-1,+e[3]);if(e=t.match(/^(\\d{1,2})\\.\\s?(\\d{1,2})\\.\\s?(\\d{4})/))return new Date(+e[3],e[2]-1,+e[1]);if(e=t.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})/))return new Date(+e[3],e[1]-1,+e[2]);if((e=t.match(/^([a-z\u00e4A-Z\u00c4]+)\\.?\\s+(\\d{1,2}),?\\s+(\\d{4})/))&&o(e[1])>=0)return new Date(+e[3],o(e[1]),+e[2]);if((e=t.match(/^(\\d{1,2})\\.?\\s+([a-z\u00e4A-Z\u00c4]+)\\.?\\s+(\\d{4})/))&&o(e[2])>=0)return new Date(+e[3],o(e[2]),+e[1]);const r=Date.parse(t);return isNaN(r)?null:new Date(r)}const yt=t=>String(t).padStart(2,\"0\"),me=t=>t?`${yt(t.getDate())}.${yt(t.getMonth()+1)}.${t.getFullYear()}`:\"\",_e=t=>t?`${t.getFullYear()}-${yt(t.getMonth()+1)}-${yt(t.getDate())}`:\"\";function _r(){const t=p(\".kl-news-src\");return t?Y(\".kl-news-item\",t).map(e=>{const o=s=>(p(`[data-f=\"${s}\"]`,e)?.textContent||e.dataset[s]||\"\").trim(),r=p(\"img\",e),n=r&&!r.classList.contains(\"w-dyn-bind-empty\")&&r.getAttribute(\"src\")||\"\";return{slug:o(\"slug\"),title:o(\"title\"),date:mr(o(\"date\")),cat:o(\"cat\"),teaser:o(\"teaser\"),alt:o(\"alt\"),img:n&&!/placeholder|^data:/i.test(n)?{src:n,srcset:r.getAttribute(\"srcset\")||\"\"}:null}}).filter(e=>e.slug&&e.title).sort((e,o)=>(o.date?+o.date:0)-(e.date?+e.date:0)):null}const Mt=t=>\"/neuigkeiten/\"+encodeURIComponent(t.slug),$t='';function Nt(t,e,o=!1){if(!t.img)return\"\";const r=t.img.srcset?` ${o?\"data-srcset\":\"srcset\"}=\"${rt(t.img.srcset)}\" sizes=\"${e}\"`:\"\";return`\"${rt(t.alt)}\"`}const be=t=>`

    ${t.cat?`${rt(t.cat)}`:\"\"}${t.date?``:\"\"}

    `;function br(){const t=p(\".news\"),e=_r();if(!t||!e)return;if(ht=e.slice(0,hr),!ht.length){t.remove(),Y('a[href=\"#neuigkeiten\"]').forEach(r=>r.remove());return}Y(\".news__card\",t).forEach(r=>r.remove()),t.classList.add(\"news--\"+Wt);let o;if(Wt===\"karussell\"){const r=ht.length;o=`
    ${ht.map((n,s)=>`
    \n
    ${Nt(n,\"(max-width: 760px) 86vw, 38vw\")}
    \n
    ${be(n)}

    ${rt(n.title)}

    ${n.teaser?`

    ${rt(n.teaser)}

    `:\"\"}\n Mehr erfahren${$t}
    \n
    `).join(\"\")}
    \n
    01 / ${yt(r)}
    `}else{const[r,...n]=ht;o=``+(n.length?`
      ${n.map(s=>`
    1. \n ${rt(s.title)}\n ${rt(s.cat)}${$t}
    2. `).join(\"\")}
    \n
    ${n.map(s=>`
    ${Nt(s,\"400px\",!0)}
    `).join(\"\")}
    `:\"\")}t.insertAdjacentHTML(\"beforeend\",o)}function yr(){if(kt(p(\".news__title\")),ht&&Wt===\"karussell\")return wr();const t=p(\".news__card\");if(!t)return;ht&&vr(),gsap.fromTo(\".news__img img\",{yPercent:-7},{yPercent:7,ease:\"none\",scrollTrigger:{trigger:t,start:\"top bottom\",end:\"bottom top\",scrub:!0}}),gsap.set(t,{transformPerspective:1400});let e=!1;if(gsap.from(t,{y:140,rotateX:-14,transformOrigin:\"50% 0%\",opacity:0,duration:1.5,scrollTrigger:{trigger:t,start:\"top 90%\"},onComplete:()=>{e=!0}}),gsap.from(\".news__body > *\",{y:40,opacity:0,stagger:.1,duration:1.2,scrollTrigger:{trigger:t,start:\"top 70%\"}}),J||U)return;const o=gsap.quickTo(t,\"rotationX\",{duration:.9,ease:\"power3\"}),r=gsap.quickTo(t,\"rotationY\",{duration:.9,ease:\"power3\"});t.addEventListener(\"pointermove\",n=>{if(!e)return;const s=t.getBoundingClientRect();r(Q(-6,6,((n.clientX-s.left)/s.width-.5)*8)),o(Q(-6,6,-((n.clientY-s.top)/s.height-.5)*8))}),t.addEventListener(\"pointerleave\",()=>{o(0),r(0)})}function vr(){const t=p(\".news__list\"),e=p(\".places__float--news\");if(!t)return;const o=Y(\".nrow\",t);gsap.from(o,{yPercent:50,opacity:0,duration:1.1,stagger:.07,scrollTrigger:{trigger:t,start:\"top 88%\"}}),!(J||!e)&&(t.addEventListener(\"pointerenter\",()=>Y(\"img[data-src]\",e).forEach(r=>{r.dataset.srcset&&(r.srcset=r.dataset.srcset,r.removeAttribute(\"data-srcset\")),r.src=r.dataset.src,r.removeAttribute(\"data-src\")}),{once:!0}),ce(p(\".news\"),t,o,e))}function wr(){const t=p(\".news__track\"),e=Y(\".ncard\",t);if(!t||!e.length)return;const o=p(\".news__progress i\"),r=p(\".news__count b\"),n=p(\".news__arrow--prev\"),s=p(\".news__arrow--next\"),h=!J&&!U,g=()=>parseFloat(getComputedStyle(t).paddingLeft)||0,d=()=>Math.max(0,t.scrollWidth-t.clientWidth);let a=[0],c=[];const u=()=>{const $=d(),R=g();a=[],e.forEach(I=>{const x=Math.min($,Math.max(0,I.offsetLeft-R));(!a.length||x-a[a.length-1]>2)&&a.push(x)}),c=e.map(I=>[I.offsetLeft,I.offsetWidth])},i=$=>a.reduce((R,I,x)=>Math.abs(I-$){const $=t.scrollLeft,R=d();m=i($),gsap.set(o,{scaleX:R>0?$/R:1}),r&&(r.textContent=yt(m+1)),n&&(n.disabled=$<4),s&&(s.disabled=$>R-4)},T=e.map($=>{const R=p(\".ncard__img img\",$);return R?gsap.quickSetter(R,\"xPercent\"):null}),w=()=>{if(!h)return;const $=t.scrollLeft,R=t.clientWidth||1;c.forEach(([I,x],O)=>{T[O]&&T[O](Q(-7,7,-((I+x/2-$-R/2)/R)*7))})};u(),_(),w(),t.addEventListener(\"scroll\",wt(()=>{_(),w()},0),{passive:!0}),new ResizeObserver(wt(()=>{u(),_(),w()},120)).observe(t);const L=()=>{f?.kill(),f=null,l=null},C=()=>t.classList.remove(\"is-glide\");function M($,R){if($=Q(0,a.length-1,$),!h){L(),t.scrollTo({left:a[$],behavior:U?\"auto\":\"smooth\"});return}if(f&&$===l)return;L();const I=t.scrollLeft,x=a[$];if(Math.abs(x-I)<1){t.scrollLeft=x,C();return}l=$,t.classList.add(\"is-glide\");const O={x:I};f=gsap.to(O,{x,ease:\"power3.out\",duration:R||Q(.6,1.05,.5+Math.abs(x-I)/1600),onUpdate:()=>{t.scrollLeft=O.x,w()},onComplete:()=>{f=null,l=null,t.scrollLeft=x,C(),_()}})}if(n?.addEventListener(\"click\",()=>M((l??m)-1)),s?.addEventListener(\"click\",()=>M((l??m)+1)),gsap.from(e,{x:120,opacity:0,duration:1.3,stagger:.08,scrollTrigger:{trigger:t,start:\"top 85%\"}}),gsap.from(\".news__ctrl\",{y:30,opacity:0,duration:1.1,scrollTrigger:{trigger:t,start:\"top 70%\"}}),!h)return;let k=null,E=!1;t.addEventListener(\"pointerdown\",$=>{if($.pointerType!==\"mouse\"||$.button!==0){(f||t.classList.contains(\"is-glide\"))&&(L(),C());return}E=!!f,L(),E&&t.classList.add(\"is-glide\"),k={x:$.clientX,l:t.scrollLeft,k:i(t.scrollLeft),s:[[$.timeStamp,$.clientX]]}}),addEventListener(\"pointermove\",$=>{if(!k)return;const R=$.clientX-k.x;if(!(!E&&Math.abs(R)<6))for(t.classList.contains(\"is-drag\")||(E=!0,t.classList.add(\"is-drag\")),t.scrollLeft=k.l-R,w(),k.s.push([$.timeStamp,$.clientX]);k.s.length>2&&$.timeStamp-k.s[0][0]>400;)k.s.shift()},{passive:!0}),addEventListener(\"pointerup\",$=>{if(!k)return;const R=k;if(k=null,!E)return;const I=[...R.s].reverse().find(P=>$.timeStamp-P[0]>=100)||R.s[0],x=($.clientX-I[1])/Math.max(16,$.timeStamp-I[0]),O=t.scrollLeft;let B=i(O-x*220);B===R.k&&Math.abs(x)>.3&&(B=R.k+(x<0?1:-1)),B=Q(Math.max(0,R.k-2),Math.min(a.length-1,R.k+2),B);const W=Math.abs(a[B]-O),H=x!==0&&Math.sign(-x)===Math.sign(a[B]-O)&&Math.abs(x)>.05?Q(.4,1,3*W/Math.abs(x)/1e3):Q(.45,.85,.4+W/1600);t.classList.add(\"is-glide\"),t.classList.remove(\"is-drag\"),M(B,H)}),addEventListener(\"pointercancel\",()=>{k&&(k=null,E&&(t.classList.add(\"is-glide\"),t.classList.remove(\"is-drag\"),M(i(t.scrollLeft))))}),t.addEventListener(\"click\",$=>{E&&($.preventDefault(),$.stopPropagation(),E=!1)},!0),t.addEventListener(\"dragstart\",$=>$.preventDefault());let D=0;t.addEventListener(\"wheel\",$=>{Math.abs($.deltaX)<=Math.abs($.deltaY)||!t.classList.contains(\"is-glide\")||(L(),clearTimeout(D),D=setTimeout(()=>M(i(t.scrollLeft)),160))},{passive:!0})}function kr(){const t=lt(\".kontakt__title\",\"words,chars\");gsap.from(t.chars,{yPercent:110,rotate:()=>V(-24,24),opacity:0,duration:1.3,stagger:.03,scrollTrigger:{trigger:\".kontakt__title\",start:\"top 80%\"}}),gsap.from(\".kontakt__lead\",{y:40,opacity:0,duration:1.2,scrollTrigger:{trigger:\".kontakt__lead\",start:\"top 90%\"}}),gsap.from(\".kontakt__direct > *\",{y:60,opacity:0,stagger:.1,duration:1.2,scrollTrigger:{trigger:\".kontakt__grid\",start:\"top 85%\"}}),gsap.from(\".form > *\",{y:40,opacity:0,stagger:.05,duration:1.1,scrollTrigger:{trigger:\".form\",start:\"top 85%\"}});const e=p(\".form\"),o=p(\".form__note\");if(!e)return;ye(e),[\"focusin\",\"pointerdown\"].forEach(a=>e.addEventListener(a,ve,{once:!0,passive:!0}));const r=p(\".btn\",e),n=Y(\".field input, .field textarea\",e),s=a=>{const c=a.value.trim();let u=\"\";a.required&&!c?u=\"Pflichtfeld\":(c&&a.type===\"email\"&&!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$/.test(c)||c&&a.type===\"tel\"&&(c.replace(/\\D/g,\"\").length<7||/[^\\d\\s+()/.-]/.test(c)))&&(u=\"Bitte pr\\xFCfen\");const i=a.closest(\".field\");return i.dataset.err=u,i.classList.toggle(\"is-invalid\",!!u),u?a.setAttribute(\"aria-invalid\",\"true\"):a.removeAttribute(\"aria-invalid\"),!u},h=a=>{const c=!a.hasAttribute(\"data-required\")||!!p(\"input:checked\",a);return a.classList.toggle(\"is-invalid\",!c),c},g=a=>{const c=p(\"input\",a),u=!c.required||c.checked;return a.classList.toggle(\"is-invalid\",!u),u};let d=!1;n.forEach(a=>{a.addEventListener(\"blur\",()=>{(a.value.trim()||d)&&s(a)}),a.addEventListener(\"input\",()=>{a.closest(\".field\").classList.contains(\"is-invalid\")&&s(a)})}),Y(\".pick\",e).forEach(a=>a.addEventListener(\"change\",()=>{d&&h(a)})),Y(\".check\",e).forEach(a=>a.addEventListener(\"change\",()=>{d&&g(a)})),e.addEventListener(\"submit\",a=>{if(a.preventDefault(),r.classList.contains(\"is-busy\"))return;d=!0;const c=[...n.filter(i=>!s(i)),...Y(\".pick\",e).filter(i=>!h(i)),...Y(\".check\",e).filter(i=>!g(i))].map(i=>i.closest(\".field, .pick, .check\")||i).sort((i,m)=>i.compareDocumentPosition(m)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);if(c.length){o.textContent=\"Bitte f\\xFCllen Sie die markierten Felder aus.\",c.forEach(i=>gsap.fromTo(i,{x:-14},{x:0,duration:.8,ease:\"elastic.out(1, 0.25)\"})),p(\"input, textarea\",c[0])?.focus({preventScroll:!0}),c[0].getBoundingClientRect().top<80&&Dt(c[0],{offset:-120});return}const u=Object.fromEntries(new FormData(e));r.classList.add(\"is-busy\"),o.textContent=\"Wird gesendet \\u2026\",Er(e).then(i=>{Gt(r,22),X.sound?.chime(),o.textContent=i===\"proto\"?\"Danke! Das ist noch ein Prototyp \\u2013 es wurden keine Daten \\xFCbertragen.\":`Danke${u.Vorname?\", \"+u.Vorname.trim():\"\"}! Ihre Anfrage ist bei uns angekommen \\u2013 wir melden uns umgehend.`,e.reset(),ye(e),d=!1,Y(\".is-invalid\",e).forEach(m=>m.classList.remove(\"is-invalid\"))}).catch(()=>{o.textContent=\"Das hat leider nicht geklappt. Bitte rufen Sie uns an oder schreiben Sie an info@karlsliving.de.\"}).finally(()=>r.classList.remove(\"is-busy\"))})}function ye(t){const e=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"fbclid\",\"gclid\"],o=new URLSearchParams(location.search);e.forEach(s=>{const h=t.querySelector(`input[name=\"${s}\"]`);h&&(h.value=(o.get(s)||\"\").slice(0,200))});const r=t.querySelector('input[name=\"referrer\"]');r&&(r.value=document.referrer&&!document.referrer.startsWith(location.origin)?document.referrer.slice(0,300):\"\");const n=t.querySelector('input[name=\"landing_page\"]');n&&(n.value=location.origin+location.pathname)}function ve(){const t=p(\".kl-form-src\");!t||t.classList.contains(\"is-armed\")||(t.inert=!0,t.classList.add(\"is-armed\"))}function xr(t,e){if(!document.querySelector(\"[data-turnstile-sitekey]\"))return Promise.resolve();const o=performance.now();return new Promise(r=>{(function n(){const s=t.querySelector('[name=\"cf-turnstile-response\"]');if(s&&s.value||performance.now()-o>e)return r();setTimeout(n,150)})()})}function Er(t){const e=p(\".kl-form-src form\");if(!e||!window.Webflow)return new Promise(g=>setTimeout(()=>g(\"proto\"),600));ve();const o={};[...t.elements].forEach(g=>{g.name&&(g.type===\"checkbox\"?o[g.name]=g.checked?\"ja\":\"nein\":g.type===\"radio\"?(g.checked||!(g.name in o))&&(o[g.name]=g.checked?g.value:\"\"):o[g.name]=g.value.trim())}),t.dataset.name&&(e.dataset.name=t.dataset.name),Object.entries(o).forEach(([g,d])=>{let a=e.querySelector(`[name=\"${CSS.escape(g)}\"]`)||e.querySelector(\"#kl-f-\"+g.toLowerCase().replace(/_/g,\"-\"));a||(a=document.createElement(\"input\"),a.type=\"hidden\",e.appendChild(a)),a.name=g,a.dataset.name=g,a.type===\"checkbox\"?a.checked=d===\"ja\":a.value=d});const r=e.closest(\".w-form\")||e.parentElement,n=p(\".w-form-done\",r),s=p(\".w-form-fail\",r),h=g=>!!g&&getComputedStyle(g).display!==\"none\";return xr(e,8e3).then(()=>new Promise((g,d)=>{const a=new MutationObserver(()=>{h(n)?(u(),g(\"sent\")):h(s)&&(u(),d(new Error(\"Webflow: Formular abgelehnt\")))}),c=setTimeout(()=>{u(),d(new Error(\"Webflow: keine Antwort\"))},2e4);function u(){a.disconnect(),clearTimeout(c),setTimeout(()=>{e.style.display=\"\",n&&(n.style.display=\"none\"),s&&(s.style.display=\"none\"),[...e.elements].forEach(i=>{!i.name||i.name===\"cf-turnstile-response\"||i.type===\"submit\"||(i.type===\"checkbox\"?i.checked=!1:i.value=\"\")});try{window.turnstile?.reset()}catch{}},50)}[n,s,e].filter(Boolean).forEach(i=>a.observe(i,{attributes:!0,attributeFilter:[\"style\",\"class\"]})),e.requestSubmit?e.requestSubmit():e.dispatchEvent(new Event(\"submit\",{bubbles:!0,cancelable:!0}))}))}function Lr(){const t=p(\".footer\"),e=/[?&]footer=render/.test(location.search)?\"rendering\":\"farbe\";Z.dataset.footer=e;const o=p(\".footer__render\");o&&e===\"rendering\"&&(o.loading=\"lazy\",o.src=o.dataset.src,gsap.fromTo(o,{scale:1.14},{scale:1,ease:\"none\",scrollTrigger:{trigger:t,start:\"top bottom\",end:\"bottom bottom\",scrub:!0}})),gsap.fromTo(\".footer__inner\",{yPercent:-28},{yPercent:0,ease:\"none\",scrollTrigger:{trigger:t,start:\"top bottom\",end:\"bottom bottom\",scrub:!0}});const r=lt(\".footer__word\",\"chars\");gsap.from(r.chars,{yPercent:120,scaleY:.4,duration:1.6,ease:\"elastic.out(1, 0.6)\",stagger:.05,scrollTrigger:{trigger:t,start:\"top 45%\"}}),p(\".footer__top\")?.addEventListener(\"click\",()=>{K?K.scrollTo(0,{duration:3.2,easing:a=>a<.5?4*a*a*a:1-Math.pow(-2*a+2,3)/2}):scrollTo({top:0,behavior:U?\"auto\":\"smooth\"})});let n=null,s=!1,h=null;const g=()=>h||(h=typeof Matter<\"u\"?Promise.resolve():new Promise(a=>{const c=document.createElement(\"script\");c.src=Tr,c.onload=c.onerror=()=>a(),document.head.appendChild(c)}));ScrollTrigger.create({trigger:t,start:\"top bottom+=150%\",once:!0,onEnter:g});const d=a=>{if(s=a,!a){n?.stop();return}g().then(()=>{s&&(n=n||Mr(),n.start())})};ScrollTrigger.create({trigger:t,start:\"top 55%\",end:\"bottom top\",onEnter:()=>d(!0),onEnterBack:()=>d(!0),onLeaveBack:()=>d(!1)})}const Tr=\"https://cdn.jsdelivr.net/npm/matter-js@0.20.0/build/matter.min.js\";function Mr(){const t={start(){},stop(){}};if(typeof Matter>\"u\")return t;const{Engine:e,Bodies:o,Body:r,Composite:n,Mouse:s,MouseConstraint:h,Query:g}=Matter,d=p(\".footer__world\");if(!d)return t;const a=e.create();a.gravity.y=1.05;let c=d.clientWidth,u=d.clientHeight;const i=[],m=()=>{i.forEach(O=>n.remove(a.world,O)),i.length=0;const x=400;i.push(o.rectangle(c/2,u+x/2,c*4,x,{isStatic:!0}),o.rectangle(-x/2,u/2-1500,x,u+5e3,{isStatic:!0}),o.rectangle(c+x/2,u/2-1500,x,u+5e3,{isStatic:!0})),n.add(a.world,i)};m();const l=[[\"flower\",\"#FAF5ED\",\"c\"],[\"tulip-sm\",\"#669BBC\",\"r\"],[\"leaf\",\"#FAF5ED\",\"r\"],[\"bloom\",\"#C1111F\",\"c\"],[\"vase\",\"#003049\",\"r\"],[\"logo\",\"#FAF5ED\",\"r\"],[\"snail\",\"#F5EDD6\",\"c\"],[\"flower\",\"#C1111F\",\"c\"],[\"leaf2\",\"#003049\",\"r\"],[\"sprout\",\"#FAF5ED\",\"r\"],[\"tulip\",\"#003049\",\"r\"],[\"flower\",\"#003049\",\"c\"],[\"bloom\",\"#FAF5ED\",\"c\"],[\"logo\",\"#C1111F\",\"r\"],[\"flower-big\",\"#669BBC\",\"r\"],[\"leaf\",\"#C1111F\",\"r\"],[\"flower\",\"#669BBC\",\"c\"],[\"snail\",\"#C1111F\",\"c\"],[\"tulip-sm\",\"#FAF5ED\",\"r\"],[\"leaf2\",\"#FAF5ED\",\"r\"]],f=[],_=()=>Q(44,150,Math.min(c,u*1.7)*.085),T=(x,O,B,W=!1)=>{const[S,H,P]=x,[b,v]=vt[S],A=_()*V(.8,1.35);let y,F;b>=v?(y=A*1.15,F=y*v/b):(F=A*1.35,y=F*b/v);const q=document.createElement(\"div\");q.className=\"pbody\",q.style.width=y+\"px\",q.style.height=F+\"px\",q.style.color=H,q.innerHTML=Xt(S),d.appendChild(q);const N={restitution:.35,friction:.5,frictionAir:.012,density:.0016},z=P===\"c\"?o.circle(O,B,Math.min(y,F)*.46,N):o.rectangle(O,B,y*.8,F*.88,{...N,chamfer:{radius:Math.min(y,F)*.28}});if(r.setAngle(z,V(-.8,.8)),W&&(X.sound?.pop(),r.setVelocity(z,{x:V(-5,5),y:V(-15,-9)}),gsap.from(q,{scale:0,duration:.6,ease:\"back.out(3)\"})),n.add(a.world,z),f.push({node:q,body:z,w:y,h:F}),f.length>46){const j=f.shift();n.remove(a.world,j.body),gsap.to(j.node,{opacity:0,duration:.4,onComplete:()=>j.node.remove()})}},w=st()?13:22;for(let x=0;xf.map(x=>x.body),C=x=>{const O=d.getBoundingClientRect();return{x:x.clientX-O.left,y:x.clientY-O.top}},M=()=>l[Math.floor(Math.random()*l.length)];if(J)d.addEventListener(\"click\",x=>{const O=C(x),B=g.point(L(),O);B.length?(B.forEach(W=>r.setVelocity(W,{x:V(-7,7),y:-17})),X.sound?.pop()):T(M(),O.x,O.y,!0)});else{const x=s.create(d);[\"wheel\",\"mousewheel\",\"DOMMouseScroll\"].forEach(B=>x.element.removeEventListener(B,x.mousewheel)),x.element.removeEventListener(\"touchstart\",x.mousedown),x.element.removeEventListener(\"touchmove\",x.mousemove),x.element.removeEventListener(\"touchend\",x.mouseup),n.add(a.world,h.create(a,{mouse:x,constraint:{stiffness:.18,damping:.1,render:{visible:!1}}}));let O=null;d.addEventListener(\"pointerdown\",B=>{O={x:B.clientX,y:B.clientY,t:performance.now()}}),d.addEventListener(\"pointerup\",B=>{if(!O)return;const W=Math.hypot(B.clientX-O.x,B.clientY-O.y),S=C(B);W<6&&performance.now()-O.t<350&&!g.point(L(),S).length&&T(M(),S.x,S.y,!0),O=null})}const k=1e3/60;let E=0,D=!1;const $=()=>{for(const x of f){const{x:O,y:B}=x.body.position;(B>u+600||O<-400||O>c+400)&&(r.setPosition(x.body,{x:V(c*.2,c*.8),y:-200}),r.setVelocity(x.body,{x:0,y:0})),x.node.style.transform=`translate3d(${O-x.w/2}px, ${B-x.h/2}px, 0) rotate(${x.body.angle}rad)`}},R=(x,O)=>{E+=Math.min(O,100);let B=0;for(;E>=k&&B<4;)e.update(a,k),E-=k,B++;B===4&&(E=0),$()};let I;return addEventListener(\"resize\",()=>{clearTimeout(I),I=setTimeout(()=>{c=d.clientWidth,u=d.clientHeight,m()},200)}),{start(){D||(D=!0,E=0,gsap.ticker.add(R))},stop(){D&&(D=!1,gsap.ticker.remove(R))}}}const we=[],ke=t=>{for(const e of we){const o=e.box.getBoundingClientRect();if(!(t<=o.top||t>=o.bottom)&&t>=o.top+e.surface(.5)/100*o.height)return e.nav}return null},$r={navy:\"#FAF5ED\",red:\"#FAF5ED\",cream:\"#003049\",blue:\"#003049\"};function Sr(){const t=[[\".stats\",\"navy\",\"light\"],[\".raum\",\"cream\",\"dark\",!G],[\".green\",\"navy\",\"light\"],[\".projekt\",\"cream\",\"dark\"],[\".kiez\",\"cream\",\"dark\"],[\".history\",\"navy\",\"light\"],[\".trail\",\"blue\",\"dark\"],[\".film\",\"cream\",\"dark\"],[\".news\",\"cream\",\"dark\",!G],[\".kontakt\",\"red\",\"light\"]],e=\"http://www.w3.org/2000/svg\",o=(r,n)=>{const s=document.createElementNS(e,r);return Object.entries(n).forEach(([h,g])=>s.setAttribute(h,g)),s};t.forEach(([r,n,s,h=!0],g)=>{const d=p(r);if(!d||!h)return;const a=document.createElement(\"div\");a.className=\"edge\",a.setAttribute(\"aria-hidden\",\"true\"),a.style.setProperty(\"--edge-c\",`var(--${n})`),d.before(a);const c=o(\"svg\",{viewBox:\"0 0 1000 100\",preserveAspectRatio:\"none\"}),u=o(\"path\",{id:\"kl-edge-\"+g}),i=o(\"clipPath\",{id:\"kl-edge-clip-\"+g});i.appendChild(o(\"use\",{href:\"#kl-edge-\"+g}));const m=o(\"defs\",{});m.appendChild(i);const l=o(\"path\",{class:\"edge__root\",\"clip-path\":`url(#kl-edge-clip-${g})`});l.style.stroke=$r[n],c.append(m,u,l),a.appendChild(c);const f=()=>{const k=Math.max(1,a.clientWidth||innerWidth),E=Q(16,56,innerWidth*.032)*.5;l.setAttribute(\"d\",`M${(E/k*1e3).toFixed(1)},0V102`),l.style.strokeWidth=((innerWidth<=760?1.6:2.4)/(k/1e3)).toFixed(2)};f(),addEventListener(\"resize\",f);const _=(k=>()=>(k=k*16807%2147483647,k/2147483647))(9173+g*7919),T={n:.8+_()*.5,ph:_()*Math.PI*2,tilt:(_()-.5)*26,a2:.1+_()*.14,dir:_()<.5?-1:1};let w=0;const L=k=>{const E=Math.PI*2*T.n,D=w*1.4*T.dir,$=(Math.sin(E*k+T.ph+D)+T.a2*Math.sin(2*E*k+T.ph*1.7-D))/(1+T.a2);return Q(3,97,52+$*38*(.82+.18*Math.cos(w*Math.PI))+T.tilt*(k-.5))},C=()=>{const E=[];for(let $=0;$<=24;$++)E.push([$/24*1e3,L($/24)]);let D=`M0,100L${E[0][0]},${E[0][1].toFixed(1)}`;for(let $=0;$<24;$++){const R=E[$-1]||E[$],I=E[$],x=E[$+1],O=E[$+2]||x;D+=`C${(I[0]+(x[0]-R[0])/6).toFixed(1)},${(I[1]+(x[1]-R[1])/6).toFixed(1)} ${(x[0]-(O[0]-I[0])/6).toFixed(1)},${(x[1]-(O[1]-I[1])/6).toFixed(1)} ${x[0]},${x[1].toFixed(1)}`}u.setAttribute(\"d\",D+\"L1000,100Z\")};C(),we.push({box:c,nav:s,surface:L});const M=()=>c.getBoundingClientRect().height||80;U||(gsap.fromTo(l,{drawSVG:\"0%\"},{drawSVG:\"100%\",ease:\"none\",scrollTrigger:{trigger:a,start:()=>\"top \"+Math.round(innerHeight*.65+M())+\"px\",end:()=>\"top \"+Math.round(innerHeight*.65)+\"px\",scrub:!0,refreshPriority:-1,invalidateOnRefresh:!0}}),ScrollTrigger.create({trigger:a,start:\"top bottom\",end:\"top top\",refreshPriority:-1,onUpdate:k=>{w=k.progress,C()}}))})}function Cr(){const t=p(\".nav\"),e=p(\".nav__inner\"),o=(s,h,g)=>{for(const d of document.elementsFromPoint(s,h)){const a=d.closest(`[${g}]`);if(a)return a}return null},r=()=>{const s=ke(36);if(s){t.dataset.theme=s;return}const h=o(innerWidth/2,36,\"data-nav\");h&&(t.dataset.theme=h.dataset.nav)},n=wt(r,80);Pt(n),addEventListener(\"resize\",n),r(),jt=n,ScrollTrigger.create({start:0,end:\"max\",onUpdate:s=>{Z.classList.contains(\"menu-open\")||(s.direction===1&&s.scroll()>innerHeight*.7?e.classList.add(\"is-hidden\"):s.direction===-1&&e.classList.remove(\"is-hidden\"))}})}function Pr(){const t=p(\".secnav\"),e=p(\".secnav__list\");if(!t||!e)return;const o=p(\"main\"),n=Y(\"section[data-label]\",o).filter(E=>E.parentElement===o||E.parentElement.classList.contains(\"pin-spacer\")).map((E,D)=>{const $=E.dataset.dot||E.dataset.label,R=document.createElement(\"li\"),I=document.createElement(\"button\");return I.type=\"button\",I.className=\"secnav__btn\",I.setAttribute(\"aria-label\",$),I.innerHTML=`${$}`,R.appendChild(I),e.appendChild(R),{sec:E,btn:I,name:$,top:0,i:D}});if(!n.length)return;const s=E=>{!E||Z.classList.contains(\"menu-open\")||Z.classList.contains(\"is-loading\")||ne(E.sec,E.name)};let h=0;n.forEach(E=>E.btn.addEventListener(\"click\",()=>{performance.now()-h>700&&s(E)}));const g=()=>n.forEach(E=>{E.top=xt(E.sec)});let d=null;const a=()=>{const E=(K?K.scroll:scrollY)+innerHeight*.5;let D=n[0];for(const $ of n)$.top<=E&&(D=$);D!==d&&(d&&(d.btn.classList.remove(\"is-active\"),d.btn.removeAttribute(\"aria-current\")),d=D,D.btn.classList.add(\"is-active\"),D.btn.setAttribute(\"aria-current\",\"true\"))};let c=!1;const u=()=>{c||(c=!0,requestAnimationFrame(()=>{c=!1,a()}))};ScrollTrigger.addEventListener(\"refresh\",()=>{g(),a()}),addEventListener(\"kl:relayout\",()=>{g(),a()}),g(),a();let i=0,m=0,l=!1;const f=()=>{G&&(t.classList.add(\"is-shown\"),t.classList.remove(\"is-idle\"),clearTimeout(i),clearTimeout(m),m=setTimeout(()=>t.classList.add(\"is-idle\"),350),i=setTimeout(()=>{l||t.classList.remove(\"is-shown\",\"is-idle\")},1900))};let _=0;Pt(()=>{u();const E=K?K.scroll:scrollY;Math.abs(E-_)>3&&!Z.classList.contains(\"is-loading\")&&f(),_=E});let T=null,w=0,L=0,C=0;const M=E=>{let D=null,$=1/0;for(const R of n){const I=R.btn.getBoundingClientRect(),x=Math.abs(I.top+I.height/2-E);x<$&&($=x,D=R)}D!==T&&(T?.btn.classList.remove(\"is-pick\"),T=D,T.btn.classList.add(\"is-pick\"),X.sound?.tick())};t.addEventListener(\"pointerdown\",E=>{if(E.pointerType!==\"mouse\"){l=!0,w=E.clientX,L=E.clientY,C=performance.now(),clearTimeout(i),t.classList.add(\"is-touch\",\"is-shown\");try{t.setPointerCapture(E.pointerId)}catch{}M(E.clientY)}}),t.addEventListener(\"pointermove\",E=>{l&&M(E.clientY)});const k=E=>{if(!l)return;l=!1,h=performance.now(),t.classList.remove(\"is-touch\");const D=T;T?.btn.classList.remove(\"is-pick\"),T=null;const $=Math.abs(E.clientX-w),R=Math.abs(E.clientY-L),I=performance.now()-C<250&&R>30;E.type===\"pointerup\"&&!($>24&&$>R)&&!I&&s(D),f()};t.addEventListener(\"pointerup\",k),t.addEventListener(\"pointercancel\",k)}function Ar(){const t=p(\".skip\");if(!t)return;const e=p(\"[data-skip-name]\",t),o=p(\".skip__prog\",t),r=_=>ScrollTrigger.getAll().find(T=>T.pin===_),n=Y(\".card\"),s=[{el:p(\".retreat\"),name:\"Drohnenflug\",next:\".raum\"},{el:p(\".raum\"),name:\"Raumkonzepte\",next:\".green\",at:\"raum\"},{el:p(\".green__pin\"),name:\"Bl\\xE4tterdach\",next:\".green__text\"},{el:n[0],name:\"Karten\",next:\".projekt\",last:n[n.length-1]},{el:p(\".projekt\"),name:\"Bauabschnitte\",next:\".lage\",at:\"projekt\"},{el:p(\".lage\"),name:\"Karte\",next:\".kiez\"},{el:p(\".history\"),name:\"Geschichte\",next:\".trail\"},{el:p(\".film\"),name:\"Film\",next:\".news\"}].filter(_=>_.el&&p(_.next)),h=new Map;ScrollTrigger.addEventListener(\"refresh\",()=>h.clear());const g=_=>{if(h.has(_))return h.get(_);const T=r(_.el),w=_.last?r(_.last):T,L=T&&w?{start:T.start,end:Math.max(T.end,w.end)}:null;return h.set(_,L),L},d=()=>{const _=ke(innerHeight-30);if(_)return _===\"light\"?\"light\":\"dark\";for(const T of document.elementsFromPoint(innerWidth/2,innerHeight-30)){if(T.closest(\".skip\"))continue;const w=T.closest(\"[data-nav]\");if(w)return w.dataset.nav===\"light\"?\"light\":\"dark\"}return\"\"};let a=null,c=!1;const u=_=>{_!==a&&(a=_,t.classList.toggle(\"is-on\",!!_),t.tabIndex=_?0:-1,t.setAttribute(\"aria-hidden\",_?\"false\":\"true\"),_&&(e.textContent=_.name,t.setAttribute(\"aria-label\",_.name+\" \\xFCberspringen\"),_.at?t.dataset.at=_.at:delete t.dataset.at))},i=()=>{if(Z.classList.contains(\"is-loading\"))return;if(c){u(null);return}const _=K?K.scroll:scrollY;let T=null,w=0;for(const L of s){const C=g(L);if(!C)continue;const M=Math.max(1,C.end-C.start),k=(_-C.start)/M;if(k>.03&&k<.9){T=L,w=k;break}}u(T),T&&(o.style.strokeDashoffset=String(100-w*100),m())},m=wt(()=>{if(!a)return;const _=d();_&&t.dataset.theme!==_&&(t.dataset.theme=_)},100);let l=!1;const f=()=>{l||(l=!0,requestAnimationFrame(()=>{l=!1,i()}))};Pt(f),addEventListener(\"resize\",f),t.addEventListener(\"click\",_=>{const T=a;if(!T)return;const w=p(T.next),L=xt(w),C=K?K.scroll:scrollY;X.sound?.whoosh({dur:.9,from:900,peak:2600,to:300}),u(null),c=!0,setTimeout(()=>{c=!1},2200);const M=()=>{c=!1,gt(w)};K?K.scrollTo(L,{duration:Q(.8,1.6,.55+Math.abs(L-C)/5e3),easing:k=>k<.5?4*k*k*k:1-Math.pow(-2*k+2,3)/2,onComplete:M}):(scrollTo({top:L,behavior:U?\"auto\":\"smooth\"}),setTimeout(M,900))})}function Fr(){U||J||!X.gl||(pt=X.gl.createFX({mobile:st()}),pt&&(Z.classList.add(\"has-gl\"),Y(\"[data-gl]\").forEach(t=>pt.add(t,{horizontal:t.dataset.gl===\"x\"}))))}function Hr(){let t=scrollY;K||addEventListener(\"scroll\",()=>{t=scrollY},{passive:!0});let e=t;gsap.ticker.add((o,r)=>{const n=K?K.scroll:t,s=(n-e)/Math.max(1,r)*16.67;e=n,ut+=(Q(-1,1,s/55)-ut)*.14,Math.abs(ut)<5e-4&&(ut=0),pt&&pt.update(ut,o)})}function Or(){if(U)return;const t=\"http://www.w3.org/2000/svg\",e=[[\".intro\"],[\".stats\"],[\".bands\"],[\".retreat\"],[\".raum\"],[\".green\"],[\".projekt\"],[\".lage\",\".lage__veil\"],[\".kiez\"],[\".history\"],[\".trail\"],[\".film\",\".film__media\"],[\".news\"],[\".kontakt\"]].map(([u,i])=>({sec:p(u),after:i?p(i):null})).filter(u=>u.sec),o=u=>()=>{u=u+1831565813|0;let i=Math.imul(u^u>>>15,1|u);return i=i+Math.imul(i^i>>>7,61|i)^i,((i^i>>>14)>>>0)/4294967296},r=u=>u.toFixed(1),n=u=>{let i=`M${r(u[0][0])},${r(u[0][1])}`;for(let m=0;m{const m=document.createElementNS(t,u);return Object.entries(i).forEach(([l,f])=>m.setAttribute(l,f)),m};let h=[];const g=()=>{h.forEach(f=>{f.tl.scrollTrigger?.kill(),f.tl.kill(),f.svg.remove()}),h=[];const u=Q(16,56,innerWidth*.032),i=u*.5,m=st()?u*.8:Math.min(150,u*2.8),l=innerHeight;e.forEach(({sec:f,after:_},T)=>{const w=f.offsetHeight;if(w<60)return;const L=o(97+T*131),C=Math.ceil(i+m+40),M=s(\"svg\",{class:\"roots\",width:C,height:w,viewBox:`0 0 ${C} ${w}`,\"aria-hidden\":\"true\"}),k=[[i,0]];for(let P=150;Pb===0||P[1]<=w-170);w>240&&E.push([i,w-120]),E.push([i,w]);const D=s(\"path\",{class:\"r-main\",d:n(E)});M.appendChild(D);const $=[],R=Math.max(1,Math.round(w/(st()?700:380))),I=E.slice(1,w>240?-2:-1);for(let P=0;Pi+4&&A0&&vP.pin===f),B=gsap.timeline({scrollTrigger:O?{trigger:f,start:()=>O.start-l*.65,end:()=>O.end+l*.35,scrub:!0}:{trigger:f,start:\"top 65%\",end:\"bottom 65%\",scrub:!0}}),W=O?Q(.02,.9,l*.65/Math.max(1,O.end-O.start+l)):0,S=P=>O?P<=.65?P/.65*W:W+(P-.65)/.35*(1-W):P,H=P=>O?P<=.65?W/.65:(1-W)/.35:1;O?B.fromTo(D,{drawSVG:\"0%\"},{drawSVG:\"0% 65%\",ease:\"none\",duration:W},0).to(D,{drawSVG:\"0% 100%\",ease:\"none\",duration:1-W},W):B.fromTo(D,{drawSVG:\"0%\"},{drawSVG:\"100%\",ease:\"none\",duration:1},0),$.forEach(P=>{const b=Math.min(.95,S(P.t)),v=H(P.t);P.dot?B.fromTo(P.node,{scale:0,transformOrigin:\"50% 50%\"},{scale:1,ease:\"back.out(4)\",duration:.05*v},b):B.fromTo(P.node,{drawSVG:\"0%\"},{drawSVG:\"100%\",ease:\"power1.out\",duration:P.len*v},b)}),h.push({svg:M,tl:B})})};g(),addEventListener(\"kl:relayout\",g);let d,a=innerWidth,c=innerHeight;addEventListener(\"resize\",()=>{innerWidth===a&&(J||innerHeight===c)||(a=innerWidth,c=innerHeight,clearTimeout(d),d=setTimeout(()=>{g(),ScrollTrigger.refresh()},450))})}function Dr(){if(U||J)return;const t=document.createElement(\"canvas\");t.className=\"petals\",t.setAttribute(\"aria-hidden\",\"true\"),document.body.appendChild(t);const e=t.getContext(\"2d\");let o=0,r=0;const n=()=>{const w=Math.min(window.devicePixelRatio||1,2);o=innerWidth,r=innerHeight,t.width=o*w,t.height=r*w,e.setTransform(w,0,0,w,0,0)};n(),addEventListener(\"resize\",n);const s=[\"leaf\",\"flower\",\"logo\",\"leaf2\",\"tulip-sm\",\"snail\"].map(w=>({w:vt[w][0],h:vt[w][1],paths:Y(`#s-${w} path`).map(L=>new Path2D(L.getAttribute(\"d\")))})),h={dark:[\"#003049\",\"#C1111F\",\"#669BBC\"],light:[\"#FAF5ED\",\"#669BBC\",\"#C1111F\"]},g=[];let d=\"dark\",a=!1,c=null,u=0;const i=88,m=5,l=55;document.addEventListener(\"pointerover\",w=>{const L=w.target.closest&&w.target.closest(\"[data-nav], [data-theme]\");L&&(d=L.dataset.nav||L.dataset.theme||d)});const f=(w,L,C,M)=>{g.length>l&&g.shift();const k=h[d]||h.dark;g.push({x:w,y:L,vx:C,vy:M,r:V(0,6.28),vr:V(-.09,.09),s:V(11,21),life:0,max:V(1.2,2.2),wob:V(0,6.28),shape:s[Math.floor(Math.random()*s.length)],color:k[Math.floor(Math.random()*k.length)]}),a||(a=!0,gsap.ticker.add(T))},_=w=>w.closest&&w.closest(\"input, textarea, .footer__world, .menu\");addEventListener(\"pointermove\",w=>{if(w.pointerType!==\"mouse\"||_(w.target)){c=null;return}if(!c){c={x:w.clientX,y:w.clientY};return}const L=w.clientX-c.x,C=w.clientY-c.y;for(u+=Math.hypot(L,C),c={x:w.clientX,y:w.clientY};u>i;)u-=i,f(w.clientX,w.clientY,L*.05+V(-.6,.6),C*.05+V(-1.6,-.4))},{passive:!0}),addEventListener(\"pointerdown\",w=>{if(!(w.pointerType!==\"mouse\"||_(w.target)))for(let L=0;L=0;M--){const k=g[M];if(k.life+=L/1e3,k.life>k.max){g.splice(M,1);continue}k.vy+=.07*C,k.vx*=Math.pow(.985,C),k.x+=(k.vx+Math.sin(k.life*3.2+k.wob)*.45)*C,k.y+=k.vy*C,k.r+=k.vr*C;const E=k.s/Math.max(k.shape.w,k.shape.h)*Math.min(1,k.life*8);e.save(),e.globalAlpha=1-Math.pow(k.life/k.max,2),e.translate(k.x,k.y),e.rotate(k.r),e.scale(E,E),e.translate(-k.shape.w/2,-k.shape.h/2),e.fillStyle=k.color,k.shape.paths.forEach(D=>e.fill(D)),e.restore()}g.length||(a=!1,gsap.ticker.remove(T),e.clearRect(0,0,o,r))}}function Br(){const t=p(\".nav__sound\"),e=X.sound;if(!t)return;if(!e||!e.supported){t.remove();return}const o=n=>{t.classList.toggle(\"is-on\",n),t.setAttribute(\"aria-pressed\",String(n)),t.setAttribute(\"aria-label\",n?\"Sound ausschalten\":\"Sound einschalten\")};t.addEventListener(\"click\",()=>{t.classList.remove(\"is-hint\"),o(!!e.toggle())}),U||(setTimeout(()=>{e.enabled||t.classList.add(\"is-hint\")},4200),setTimeout(()=>t.classList.remove(\"is-hint\"),9400)),document.addEventListener(\"pointerover\",n=>{n.target.closest&&n.target.closest(\"a, button, [data-magnetic]\")&&e.tick()}),document.addEventListener(\"click\",n=>{n.target.closest&&n.target.closest(\"a, button\")&&!n.target.closest(\".nav__sound\")&&e.click()});const r=new Set;[\".intro\",\".green\",\".kiez\",\".trail\"].forEach(n=>ScrollTrigger.create({trigger:n,start:\"top 70%\",end:\"bottom 30%\",onToggle:s=>{s.isActive?r.add(n):r.delete(n),e.setNature(r.size?1:0)}}))}const St=()=>new Promise(t=>{if(window.scheduler&&typeof scheduler.yield==\"function\"){scheduler.yield().then(t,t);return}const e=new MessageChannel;e.port1.onmessage=()=>t(),e.port2.postMessage(0)});async function xe(t){for(const[e,o]of t)ct(e,o),await St()}function Rr(){if(!document.fonts||!document.fonts.load)return Promise.resolve();const t=Promise.all([document.fonts.load('400 1em \"Daily Spark Sans\"'),document.fonts.load('500 1em \"Inter Tight\"'),document.fonts.load('600 1em \"Inter Tight\"')]).then(()=>document.fonts.ready).catch(()=>{});return Promise.race([t,new Promise(e=>setTimeout(e,3500))])}async function qr(){if(Z.classList.add(\"kl-go\"),Z.classList.contains(\"is-loading\")||(p(\".loader\")?.remove(),p(\".hero__flip\")?.remove()),Z.classList.contains(\"is-loading\")){scrollTo(0,0);const r=()=>{Z.classList.contains(\"is-loading\")?scrollY!==0&&scrollTo(0,0):removeEventListener(\"scroll\",r,!0)};addEventListener(\"scroll\",r,{passive:!0,capture:!0})}ct(\"newsData\",br),ct(\"avif\",$e),ct(\"skyWarm\",()=>X.heroSky?.warm?.()),Se(),K?.stop(),await xe([[\"rolls\",Oe],[\"cursor\",De],[\"magnetic\",Be],[\"menu\",Re],[\"anchors\",qe],[\"sound\",Br],[\"petals\",Dr]]),await Rr();let t=null;await xe([[\"umlauts\",Fe],[\"edges\",Sr],[\"glfx\",Fr],[\"hero\",Ie],[\"heroIntro\",()=>{t=U?null:We()}],[\"intro\",Xe],[\"stats\",Ve],[\"bands\",je],[\"retreat\",Ue],[\"raum\",Ke],[\"green\",Qe],[\"projekt\",Je],[\"lage\",tr],[\"kiez\",er],[\"history\",ar],[\"trail\",cr],[\"film\",ur],[\"lightbox\",gr],[\"news\",yr],[\"kontakt\",kr],[\"footer\",Lr],[\"chrome\",Cr],[\"secnav\",Pr],[\"skip\",Ar],[\"dots\",He]]),X.heroSky?.compiled&&await X.heroSky.compiled(),ct(\"sky\",ze),await St(),ScrollTrigger.refresh(),await St(),ct(\"roots\",Or),await St(),ScrollTrigger.refresh(),await St(),ScrollTrigger.getAll().forEach(r=>{const n=r.pin&&r.pin.parentElement;n&&n.classList.contains(\"pin-spacer\")&&!r.pin.classList.contains(\"hero\")&&(n.style.backgroundColor=getComputedStyle(r.pin).backgroundColor)}),ct(\"motion\",Hr),ct(\"place\",Ir),Et=re();const e=()=>document.documentElement.scrollHeight+\":\"+Y(\"section, footer\").map(r=>r.offsetHeight).join(\",\"),o=e();if(Ft=t,await Ne(t),nt&&oe===\"start\"&&setTimeout(()=>nt.release(),4500),e()!==o&&Ee(),Et&&(_t(Et),gt(Et)),Ct=document.documentElement.scrollHeight,G&&window.ResizeObserver){let r=Ct,n;new ResizeObserver(()=>{const s=document.documentElement.scrollHeight;Math.abs(s-r)<3||(r=s,clearTimeout(n),n=setTimeout(()=>{dispatchEvent(new Event(\"kl:relayout\")),ScrollTrigger.refresh()},250))}).observe(document.body)}}let Ft=null,Yt=!1;function Ee(){if(Yt)return;Yt=!0;const t=window.requestIdleCallback||(o=>setTimeout(o,300)),e=()=>t(()=>{Yt=!1,dispatchEvent(new Event(\"kl:relayout\")),ScrollTrigger.refresh()},{timeout:1500});Ft&&Ft.isActive()?Ft.then(e):e()}function Ir(){const t=()=>[...p(\"main\")?.children||[],p(\"footer\")].filter(g=>g&&g.offsetHeight>0&&!/absolute|fixed/.test(getComputedStyle(g).position));let e=null,o=!1,r=0,n=innerWidth,s=innerHeight;const h=()=>{if(o||Z.classList.contains(\"is-loading\"))return;const g=t(),d=scrollY;for(let a=0;a{innerWidth===n&&(J||innerHeight===s)||(n=innerWidth,s=innerHeight,o=!0,clearTimeout(r),r=setTimeout(()=>{o=!1,h()},900))}),ScrollTrigger.addEventListener(\"refresh\",()=>{if(!o||!e||bt)return;const g=t();if(g.length!==e.n)return;const d=g[e.i].getBoundingClientRect(),a=Math.round(d.top+scrollY+e.p*d.height);Math.abs(a-scrollY)>2&&_t(null,a)}),h()}addEventListener(\"load\",()=>{Ct&&Math.abs(document.documentElement.scrollHeight-Ct)>2&&Ee()}),X.debug={get dive(){return it},get fx(){return pt},get velocity(){return ut},get lenis(){return K},get sky(){return nt},get film(){return fe},get lage(){return It},get history(){return Lt},get q3d(){return ie}};const zr=()=>qr().catch(t=>{console.error(\"[Karls Living] Start\",t),p(\".loader\")?.remove(),p(\".hero__flip\")?.remove(),Z.classList.remove(\"is-loading\",\"is-locked\")}),Le=()=>Promise.race([window.__klGo||null,new Promise(t=>setTimeout(t,300))]).then(zr);document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",Le):Le()})();\n"}]}