{"id":18,"date":"2026-09-29T12:53:25","date_gmt":"2026-09-29T12:53:25","guid":{"rendered":"https:\/\/dsfn.udvikling360.dk\/?page_id=18"},"modified":"2026-09-29T13:59:47","modified_gmt":"2026-09-29T13:59:47","slug":"forside","status":"publish","type":"page","link":"https:\/\/dsfn.udvikling360.dk\/","title":{"rendered":"Forside"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"18\" class=\"elementor elementor-18\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7c94aa2 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"7c94aa2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6fbd314\" data-id=\"6fbd314\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f0129dc elementor-widget elementor-widget-html\" data-id=\"f0129dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\n<title>Danish Society for Neuroscience<\/title>\n<\/head>\n<body style=\"margin:0\">\n\n<!-- ===================== DSFN FORSIDE START (kopier herfra til Elementor HTML-widget) ===================== -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Instrument+Sans:ital,wdth,wght@0,75..100,400..700;1,75..100,400..700&family=Newsreader:ital,opsz,wght@0,6..72,300..600;1,6..72,300..500&display=swap\" rel=\"stylesheet\">\n\n<div id=\"dsfn-fp\" data-logo-white=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/dsfn-logo-hvid.svg\" data-logo-black=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/dsfn-logo-sort.svg\">\n<script>document.getElementById('dsfn-fp').classList.add('fp-js');<\/script>\n\n<style>\n@property --lift{syntax:'<length>';inherits:false;initial-value:0px}\n#dsfn-fp{\n  --ink:#0E2234;\n  --navy:#22416C;\n  --deep:#0B1C2C;\n  --red:#E83F2F;\n  --red-ui:#CF2F1F;\n  --teal:#008BB0;\n  --mist:#B4C6EF;\n  --paper:#F3F5F8;\n  --haze:#E4EAF6;\n  --muted:#4B5B70;\n  --line:rgba(14,34,52,.14);\n  --line-light:rgba(180,198,239,.22);\n  --f-display:\"Instrument Sans\",\"Helvetica Neue\",Arial,sans-serif;\n  --f-text:\"Newsreader\",Georgia,\"Times New Roman\",serif;\n  --ease:cubic-bezier(.2,.7,.1,1);\n  --ease-out:cubic-bezier(.16,1,.3,1);\n  --gutter:clamp(20px,5vw,64px);\n  --wrap:min(1320px, 100% - 2 * var(--gutter));\n  --header-h:100px;\n  --logo-h:58px;\n  font-family:var(--f-text);\n  font-size:18px;\n  line-height:1.6;\n  color:var(--ink);\n  background:var(--paper);\n  -webkit-font-smoothing:antialiased;\n  text-rendering:optimizeLegibility;\n  overflow-x:clip;\n}\n#dsfn-fp *,#dsfn-fp *::before,#dsfn-fp *::after{box-sizing:border-box}\n#dsfn-fp img{max-width:100%;display:block}\n#dsfn-fp a{color:inherit;text-decoration:none}\n#dsfn-fp h1,#dsfn-fp h2,#dsfn-fp h3,#dsfn-fp h4,#dsfn-fp p,#dsfn-fp ol,#dsfn-fp ul,#dsfn-fp dl,#dsfn-fp dd{margin:0;padding:0}\n#dsfn-fp ol,#dsfn-fp ul{list-style:none}\n#dsfn-fp :focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:2px}\n#dsfn-fp .fp-wrap{width:var(--wrap);margin-inline:auto}\n#dsfn-fp .fp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n\n\/* ---------- Typografi ---------- *\/\n#dsfn-fp .fp-display{\n  font-family:var(--f-display);\n  font-variation-settings:\"wdth\" 100;\n  font-weight:600;\n  letter-spacing:-.045em;\n  line-height:.92;\n}\n#dsfn-fp .fp-h2{\n  font-family:var(--f-display);\n  font-variation-settings:\"wdth\" 92;\n  font-weight:600;\n  font-size:clamp(2.4rem,1.2rem + 3.6vw,4.6rem);\n  line-height:.98;\n  letter-spacing:-.04em;\n}\n#dsfn-fp .fp-h3{\n  font-family:var(--f-display);\n  font-variation-settings:\"wdth\" 96;\n  font-weight:600;\n  font-size:1.35rem;\n  line-height:1.2;\n  letter-spacing:-.015em;\n}\n#dsfn-fp .fp-lead{font-size:clamp(1.15rem,1rem + .45vw,1.4rem);line-height:1.5;max-width:40ch}\n#dsfn-fp .fp-small{font-family:var(--f-display);font-size:.9rem;line-height:1.45}\n\n\/* ---------- Knapper og links ---------- *\/\n#dsfn-fp .fp-btn{\n  display:inline-flex;align-items:center;gap:.7em;\n  font-family:var(--f-display);font-weight:600;font-size:1rem;letter-spacing:-.005em;\n  padding:1em 1.55em;border-radius:100px;border:1px solid transparent;\n  transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);\n}\n#dsfn-fp .fp-btn svg{width:1em;height:1em;transition:transform .45s var(--ease-out)}\n#dsfn-fp .fp-btn:hover svg{transform:translateX(4px)}\n#dsfn-fp .fp-btn--red{background:var(--red-ui);color:#fff}\n#dsfn-fp .fp-btn--red:hover{background:#B42617}\n#dsfn-fp .fp-btn--ghost{border-color:rgba(255,255,255,.45);color:#fff}\n#dsfn-fp .fp-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}\n#dsfn-fp .fp-link{\n  font-family:var(--f-display);font-weight:600;font-size:1rem;\n  display:inline-flex;align-items:center;gap:.55em;\n  background:linear-gradient(currentColor,currentColor) 0 100%\/0 1px no-repeat;\n  padding-bottom:3px;transition:background-size .45s var(--ease-out);\n}\n#dsfn-fp .fp-link svg{width:.95em;height:.95em;transition:transform .45s var(--ease-out)}\n#dsfn-fp .fp-link:hover{background-size:100% 1px}\n#dsfn-fp .fp-link:hover svg{transform:translateX(3px)}\n\n\/* ---------- Logo med trace ---------- *\/\n#dsfn-fp .fp-trace{position:relative;display:inline-block;height:var(--logo-h);line-height:0}\n#dsfn-fp .fp-trace img{height:100%;width:auto;max-width:none}\n#dsfn-fp .fp-trace svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\n#dsfn-fp.fp-js .fp-trace img{opacity:0}\n#dsfn-fp .fp-trace.is-inline img{visibility:hidden}\n#dsfn-fp .fp-trace.is-fallback img{opacity:1;animation:fp-wipe 1.4s var(--ease-out) both}\n@keyframes fp-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}\n\n\/* ---------- Header ---------- *\/\n#dsfn-fp .fp-header{\n  position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header-h);\n  display:flex;align-items:center;\n  padding-top:env(safe-area-inset-top,0px);\n  transition:background-color .45s var(--ease),border-color .45s var(--ease),transform .5s var(--ease),height .45s var(--ease);\n  border-bottom:1px solid transparent;\n}\n#dsfn-fp .fp-header__in{width:var(--wrap);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}\n#dsfn-fp .fp-logo{position:relative;display:block;flex-shrink:0}\n#dsfn-fp .fp-logo .fp-trace{transition:opacity .4s var(--ease),height .45s var(--ease)}\n#dsfn-fp .fp-logo .fp-logo--dark{position:absolute;left:0;top:0;opacity:0}\n\n#dsfn-fp .fp-nav > ul{display:flex;align-items:center;gap:clamp(8px,1.2vw,20px)}\n#dsfn-fp .fp-nav > ul > li{position:relative}\n#dsfn-fp .fp-nav > ul > li > a{\n  display:inline-flex;align-items:center;gap:6px;\n  font-family:var(--f-display);font-weight:500;font-size:1rem;color:#fff;\n  padding:10px 8px;position:relative;transition:color .4s var(--ease);\n}\n#dsfn-fp .fp-nav > ul > li > a::after{\n  content:\"\";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:currentColor;\n  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out);\n}\n#dsfn-fp .fp-nav > ul > li:hover > a::after,#dsfn-fp .fp-nav > ul > li:focus-within > a::after{transform:scaleX(1);transform-origin:left}\n#dsfn-fp .fp-nav .fp-chev{width:10px;height:10px;transition:transform .4s var(--ease-out)}\n#dsfn-fp .fp-nav li:hover .fp-chev,#dsfn-fp .fp-nav li:focus-within .fp-chev{transform:rotate(180deg)}\n#dsfn-fp .fp-sub{\n  position:absolute;top:100%;left:0;min-width:220px;padding:8px;margin-top:8px;\n  background:var(--deep);border:1px solid var(--line-light);border-radius:6px;\n  opacity:0;visibility:hidden;transform:translateY(8px);\n  transition:opacity .3s var(--ease),transform .45s var(--ease-out),visibility 0s linear .3s;\n}\n#dsfn-fp .fp-sub::before{content:\"\";position:absolute;left:0;right:0;top:-18px;height:18px}\n#dsfn-fp .fp-nav li:hover > .fp-sub,#dsfn-fp .fp-nav li:focus-within > .fp-sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}\n#dsfn-fp .fp-sub a{\n  display:block;padding:10px 14px;border-radius:4px;\n  font-family:var(--f-display);font-size:.98rem;color:#fff;\n  opacity:0;transform:translateY(6px);\n  transition:background-color .25s var(--ease),opacity .35s var(--ease),transform .45s var(--ease-out);\n}\n#dsfn-fp .fp-nav li:hover > .fp-sub a,#dsfn-fp .fp-nav li:focus-within > .fp-sub a{opacity:1;transform:none;transition-delay:calc(var(--i,0) * 45ms + 60ms)}\n#dsfn-fp .fp-sub a:hover,#dsfn-fp .fp-sub a:focus-visible{background:rgba(180,198,239,.12)}\n\n#dsfn-fp .fp-header.is-solid{--header-h:80px;--logo-h:46px;background:rgba(243,245,248,.93);border-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}\n#dsfn-fp .fp-header.is-solid .fp-logo--light{opacity:0}\n#dsfn-fp .fp-header.is-solid .fp-logo--dark{opacity:1}\n#dsfn-fp .fp-header.is-solid .fp-nav > ul > li > a{color:var(--ink)}\n#dsfn-fp .fp-header.is-solid .fp-sub{background:#fff;border-color:var(--line)}\n#dsfn-fp .fp-header.is-solid .fp-sub a{color:var(--ink)}\n#dsfn-fp .fp-header.is-solid .fp-sub a:hover{background:var(--haze)}\n#dsfn-fp .fp-header.is-hidden{transform:translateY(-100%)}\n#dsfn-fp .fp-header.is-hidden .fp-sub{opacity:0;visibility:hidden}\n\n#dsfn-fp .fp-burger{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative;color:#fff}\n#dsfn-fp .fp-header.is-solid .fp-burger{color:var(--ink)}\n#dsfn-fp .fp-burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform .45s var(--ease-out),top .45s var(--ease-out)}\n#dsfn-fp .fp-burger span:nth-child(1){top:19px}\n#dsfn-fp .fp-burger span:nth-child(2){top:27px}\n#dsfn-fp.menu-open .fp-burger{color:#fff}\n#dsfn-fp.menu-open .fp-burger span:nth-child(1){top:23px;transform:rotate(45deg)}\n#dsfn-fp.menu-open .fp-burger span:nth-child(2){top:23px;transform:rotate(-45deg)}\n#dsfn-fp.menu-open .fp-header{background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}\n#dsfn-fp.menu-open .fp-header .fp-logo--light{opacity:1}\n#dsfn-fp.menu-open .fp-header .fp-logo--dark{opacity:0}\n\n\/* Mobilmenu *\/\n#dsfn-fp .fp-menu{\n  position:fixed;inset:0;z-index:55;background:var(--deep);color:#fff;\n  padding:calc(var(--header-h) + 24px) var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));\n  display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow-y:auto;\n  clip-path:circle(0% at calc(100% - 44px) 42px);\n  transition:clip-path .8s var(--ease-out),visibility 0s linear .8s;\n  visibility:hidden;\n}\n#dsfn-fp.menu-open .fp-menu{clip-path:circle(150% at calc(100% - 44px) 42px);visibility:visible;transition-delay:0s}\n#dsfn-fp .fp-menu nav > ul > li{\n  padding:14px 0;border-bottom:1px solid var(--line-light);\n  opacity:0;transform:translateY(24px);transition:opacity .5s var(--ease),transform .7s var(--ease-out);\n}\n#dsfn-fp.menu-open .fp-menu nav > ul > li{opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * 60ms)}\n#dsfn-fp .fp-menu nav > ul > li > a{\n  display:block;font-family:var(--f-display);font-variation-settings:\"wdth\" 90;font-weight:600;\n  font-size:clamp(1.9rem,8vw,2.8rem);line-height:1.1;letter-spacing:-.035em;\n}\n#dsfn-fp .fp-menu nav ul ul{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:8px}\n#dsfn-fp .fp-menu nav ul ul a{font-family:var(--f-display);font-size:1.05rem;color:var(--mist)}\n#dsfn-fp .fp-menu__foot{font-family:var(--f-display);font-size:.95rem;color:var(--mist);display:grid;gap:6px}\n\n\/* ---------- Hero ---------- *\/\n#dsfn-fp .fp-hero{\n  position:relative;min-height:100vh;min-height:100svh;\n  background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;\n  display:flex;flex-direction:column;justify-content:flex-end;\n  padding:calc(var(--header-h) + 40px) 0 0;\n}\n#dsfn-fp .fp-hero canvas{position:absolute;inset:0;z-index:0;opacity:.8;transition:transform 1.2s var(--ease-out)}\n#dsfn-fp .fp-soma{\n  position:absolute;z-index:1;border-radius:50%;background:var(--red);\n  width:clamp(260px,34vw,560px);aspect-ratio:1;\n  right:clamp(-60px,6vw,140px);top:46%;translate:0 -50%;\n  scale:0;\n}\n#dsfn-fp .fp-soma::after{\n  content:\"\";position:absolute;inset:-1px;border-radius:50%;\n  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.18),rgba(255,255,255,0) 55%);\n}\n#dsfn-fp .fp-ring{\n  position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(232,63,47,.6);\n  animation:fp-ring 1.8s var(--ease-out) forwards;pointer-events:none;\n}\n@keyframes fp-ring{from{transform:scale(1);opacity:1}to{transform:scale(1.9);opacity:0}}\n#dsfn-fp .fp-hero__content{position:relative;z-index:2;width:var(--wrap);margin-inline:auto;padding-bottom:clamp(40px,7vh,84px)}\n#dsfn-fp .fp-h1{font-size:clamp(3.2rem,1rem + 7.8vw,9.2rem);max-width:12ch;margin-bottom:clamp(24px,4vh,40px)}\n#dsfn-fp .fp-h1 .ln{display:block}\n#dsfn-fp .fp-hero .fp-lead{color:rgba(255,255,255,.86)}\n#dsfn-fp .fp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}\n#dsfn-fp .fp-hero__foot{position:relative;z-index:2;border-top:1px solid var(--line-light)}\n#dsfn-fp .fp-hero__foot .fp-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0 calc(18px + env(safe-area-inset-bottom,0px))}\n#dsfn-fp .fp-hero__foot p{color:var(--mist);max-width:60ch}\n#dsfn-fp .fp-hero__foot p a{color:#fff;background:linear-gradient(currentColor,currentColor) 0 100%\/100% 1px no-repeat}\n#dsfn-fp .fp-scrollcue{display:flex;align-items:center;gap:12px;color:var(--mist);flex-shrink:0}\n#dsfn-fp .fp-scrollcue i{position:relative;display:block;width:1px;height:40px;background:var(--line-light);overflow:hidden}\n#dsfn-fp .fp-scrollcue i::after{content:\"\";position:absolute;left:-2px;top:-8px;width:5px;height:8px;border-radius:3px;background:var(--mist);animation:fp-cue 2.2s var(--ease) infinite}\n@keyframes fp-cue{0%{transform:translateY(0)}70%,100%{transform:translateY(56px)}}\n\n\/* ---------- Intro-sekvens (hero) ---------- *\/\n#dsfn-fp.fp-js .fp-header{opacity:0;transform:translateY(-16px)}\n#dsfn-fp.fp-js.is-ready .fp-header{opacity:1;transform:none;transition:opacity .9s var(--ease) .7s,transform 1s var(--ease-out) .7s,background-color .45s var(--ease),border-color .45s var(--ease),height .45s var(--ease)}\n#dsfn-fp.fp-js.is-ready .fp-header.is-hidden{transform:translateY(-100%);transition-delay:0s}\n#dsfn-fp.is-ready .fp-soma{animation:fp-soma-in 1.3s cubic-bezier(.22,1.2,.36,1) forwards,fp-breathe 6s ease-in-out 1.4s infinite}\n@keyframes fp-soma-in{from{scale:0}to{scale:1}}\n@keyframes fp-breathe{0%,100%{scale:1}50%{scale:1.025}}\n#dsfn-fp:not(.fp-js) .fp-soma{scale:1}\n#dsfn-fp.fp-js .fp-in{opacity:0;transform:translateY(22px)}\n#dsfn-fp.is-ready .fp-in{opacity:1;transform:none;transition:opacity 1s var(--ease) var(--d,0ms),transform 1.2s var(--ease-out) var(--d,0ms)}\n\n\/* ---------- Bogstav-split ---------- *\/\n#dsfn-fp .fp-split .w{display:inline-block;white-space:nowrap}\n#dsfn-fp .fp-split .c{display:inline-block}\n#dsfn-fp.fp-js .fp-split .c{opacity:0;transform:translateY(.38em);filter:blur(10px)}\n#dsfn-fp .fp-split.is-in .c{animation:fp-char 1.15s var(--ease-out) forwards;animation-delay:calc(var(--d,0ms) + var(--ci) * var(--step,26ms))}\n#dsfn-fp .fp-h1.is-in .c{animation-name:fp-char-hero}\n@keyframes fp-char{\n  0%{opacity:0;transform:translateY(.38em);filter:blur(10px)}\n  55%{opacity:1;filter:blur(0)}\n  100%{opacity:1;transform:none;filter:none}\n}\n@keyframes fp-char-hero{\n  0%{opacity:0;transform:translateY(.42em) scaleY(1.2);filter:blur(12px);font-variation-settings:\"wdth\" 75;font-weight:400;color:var(--mist)}\n  50%{opacity:1;filter:blur(0)}\n  100%{opacity:1;transform:none;filter:none;font-variation-settings:\"wdth\" 100;font-weight:600;color:#fff}\n}\n\n\/* ---------- Scroll-reveals ---------- *\/\n#dsfn-fp.fp-js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease) calc(var(--i,0) * 90ms),transform 1.1s var(--ease-out) calc(var(--i,0) * 90ms)}\n#dsfn-fp.fp-js [data-reveal].is-in{opacity:1;transform:none}\n#dsfn-fp.fp-js [data-reveal=\"line\"]{transform:none;opacity:1}\n#dsfn-fp.fp-js [data-reveal=\"line\"]::before{transform:scaleX(0)}\n#dsfn-fp.fp-js [data-reveal=\"line\"] > *{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease) calc(var(--i,0) * 90ms + 200ms),transform 1s var(--ease-out) calc(var(--i,0) * 90ms + 200ms)}\n#dsfn-fp.fp-js [data-reveal=\"line\"].is-in::before{transform:scaleX(1)}\n#dsfn-fp.fp-js [data-reveal=\"line\"].is-in > *{opacity:1;transform:none}\n#dsfn-fp.fp-js [data-reveal=\"wipe\"]{opacity:1;transform:none}\n#dsfn-fp.fp-js [data-reveal=\"wipe\"] img{clip-path:inset(0 100% 0 0);transform:scale(1.18);transition:clip-path 1.4s var(--ease-out) calc(var(--i,0) * 90ms),transform 1.8s var(--ease-out) calc(var(--i,0) * 90ms)}\n#dsfn-fp.fp-js [data-reveal=\"wipe\"].is-in img{clip-path:inset(0 0 0 0);transform:scale(1)}\n\n\/* ---------- Sektioner ---------- *\/\n#dsfn-fp .fp-section{padding:clamp(88px,13vw,180px) 0}\n#dsfn-fp .fp-sechead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(40px,6vw,72px)}\n\n\/* Om foreningen *\/\n#dsfn-fp .fp-about{background:var(--paper)}\n#dsfn-fp .fp-statement{\n  font-family:var(--f-display);font-variation-settings:\"wdth\" 94;font-weight:500;\n  font-size:clamp(1.9rem,1rem + 2.9vw,3.7rem);line-height:1.08;letter-spacing:-.035em;\n  max-width:24ch;\n}\n#dsfn-fp .fp-statement .sw{opacity:var(--o,1);transition:opacity .25s linear}\n#dsfn-fp.fp-js .fp-statement .sw{--o:.14}\n#dsfn-fp .fp-about__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:40px var(--gutter);margin-top:clamp(56px,8vw,110px)}\n#dsfn-fp .fp-about__text{grid-column:1 \/ span 6;display:grid;gap:1.1em;max-width:58ch;color:var(--muted)}\n#dsfn-fp .fp-about__text p:first-child{color:var(--ink)}\n#dsfn-fp .fp-ties{grid-column:8 \/ span 5}\n#dsfn-fp .fp-ties h3{margin-bottom:18px}\n#dsfn-fp .fp-ties li{position:relative}\n#dsfn-fp .fp-ties li::before,#dsfn-fp .fp-event::before,#dsfn-fp .fp-member::before,#dsfn-fp .fp-portal::before{\n  content:\"\";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform-origin:left;transition:transform 1.2s var(--ease-out) calc(var(--i,0) * 90ms)\n}\n#dsfn-fp .fp-ties a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 0}\n#dsfn-fp .fp-ties strong{font-family:var(--f-display);font-weight:600;font-size:1.15rem}\n#dsfn-fp .fp-ties span{grid-column:1;color:var(--muted);font-size:1rem}\n#dsfn-fp .fp-ties svg{grid-column:2;grid-row:1 \/ span 2;align-self:center;width:18px;height:18px;transition:transform .45s var(--ease-out)}\n#dsfn-fp .fp-ties a:hover svg{transform:translate(3px,-3px)}\n\n\/* Events *\/\n#dsfn-fp .fp-events{background:#fff}\n#dsfn-fp .fp-event{position:relative;isolation:isolate}\n#dsfn-fp .fp-event:last-child{border-bottom:1px solid var(--line)}\n#dsfn-fp .fp-event a{\n  display:grid;grid-template-columns:minmax(120px,2fr) 6fr 3fr auto;gap:12px var(--gutter);align-items:start;\n  padding:clamp(24px,3vw,38px) 0;position:relative;\n}\n#dsfn-fp .fp-event a::after{\n  content:\"\";position:absolute;inset:0 calc(var(--gutter) * -.5);background:var(--haze);z-index:-1;\n  opacity:0;transition:opacity .45s var(--ease);border-radius:4px;\n}\n#dsfn-fp .fp-event a:hover::after{opacity:1}\n#dsfn-fp .fp-date{display:flex;align-items:baseline;gap:10px;font-family:var(--f-display)}\n#dsfn-fp .fp-date b{font-variation-settings:\"wdth\" 80;font-weight:600;font-size:clamp(2.6rem,1.6rem + 2.4vw,4rem);line-height:.85;letter-spacing:-.05em;transition:color .4s var(--ease)}\n#dsfn-fp .fp-date span{font-size:.95rem;color:var(--muted);line-height:1.2}\n#dsfn-fp .fp-event a:hover .fp-date b{color:var(--red-ui)}\n#dsfn-fp .fp-event h3{margin-bottom:6px}\n#dsfn-fp .fp-event p{color:var(--muted);font-size:1.02rem;max-width:52ch}\n#dsfn-fp .fp-event .fp-place{font-family:var(--f-display);font-size:.95rem;color:var(--ink);padding-top:6px}\n#dsfn-fp .fp-event .fp-go{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background-color .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease)}\n#dsfn-fp .fp-event .fp-go svg{width:18px;height:18px;transition:transform .45s var(--ease-out)}\n#dsfn-fp .fp-event a:hover .fp-go{background:var(--ink);border-color:var(--ink);color:#fff}\n#dsfn-fp .fp-event a:hover .fp-go svg{transform:translateX(2px)}\n\n\/* Medlemskab: scroll-fort\u00e6lling *\/\n#dsfn-fp .fp-join{position:relative;color:#fff}\n#dsfn-fp .fp-join__track{position:relative;background:var(--ink);height:400vh}\n#dsfn-fp .fp-join__pin{\n  position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;\n  display:flex;align-items:center;\n}\n#dsfn-fp .fp-join__deco{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}\n#dsfn-fp .fp-join__pin::before{\n  content:\"\";position:absolute;inset:0;z-index:0;pointer-events:none;\n  background:radial-gradient(ellipse 58% 40% at 70% 50%,rgba(34,65,108,.5),rgba(34,65,108,0) 100%);\n}\n#dsfn-fp .fp-join__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);gap:0 var(--gutter);align-items:center;padding-top:56px}\n#dsfn-fp .fp-join__text{grid-column:1 \/ span 5}\n#dsfn-fp .fp-join__lead{color:rgba(255,255,255,.8);font-size:1.12rem;line-height:1.5;max-width:38ch;margin-top:22px}\n#dsfn-fp .fp-jsteps{position:relative;display:grid;gap:26px;margin:40px 0 40px;--jp:0}\n#dsfn-fp .fp-jsteps::before,#dsfn-fp .fp-jsteps::after{\n  content:\"\";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:var(--line-light);border-radius:2px;\n}\n#dsfn-fp .fp-jsteps::after{background:var(--red);transform-origin:top;transform:scaleY(var(--jp))}\n#dsfn-fp .fp-jsteps li{position:relative;z-index:1;display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:start;opacity:.38;transition:opacity .5s var(--ease)}\n#dsfn-fp .fp-jsteps li.is-active,#dsfn-fp .fp-jsteps li.is-done{opacity:1}\n#dsfn-fp .fp-jnum{\n  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;\n  background:var(--ink);border:1.5px solid var(--line-light);\n  font-family:var(--f-display);font-weight:600;font-size:1.05rem;\n  transition:background-color .5s var(--ease),border-color .5s var(--ease),transform .6s var(--ease-out);\n}\n#dsfn-fp .fp-jsteps li.is-active .fp-jnum{background:var(--red);border-color:var(--red);transform:scale(1.08)}\n#dsfn-fp .fp-jsteps li.is-done .fp-jnum{background:var(--red);border-color:var(--red)}\n#dsfn-fp .fp-jsteps strong{display:block;font-family:var(--f-display);font-weight:600;font-size:1.2rem;letter-spacing:-.01em;margin:9px 0 4px}\n#dsfn-fp .fp-jsteps p{color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.5;max-width:40ch}\n\n#dsfn-fp .fp-stage{grid-column:6 \/ span 7;position:relative;height:min(84svh,780px)}\n#dsfn-fp .fp-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\n#dsfn-fp .fp-stage text{font-family:var(--f-display);fill:#fff;text-anchor:middle;dominant-baseline:central}\n#dsfn-fp .fp-dot{fill:var(--mist)}\n#dsfn-fp .fp-dot--red{fill:var(--red)}\n#dsfn-fp .fp-ln{fill:none;stroke:rgba(180,198,239,.4);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round}\n#dsfn-fp .fp-ln--strong{stroke:rgba(180,198,239,.7);stroke-width:1.8}\n#dsfn-fp .fp-prop circle{fill:var(--navy);stroke:rgba(180,198,239,.65);stroke-width:1.5}\n#dsfn-fp .fp-prop text{font-size:14px;font-weight:500}\n#dsfn-fp .fp-fee circle{fill:rgba(14,34,52,.6);stroke:rgba(180,198,239,.55);stroke-width:1.5;stroke-dasharray:4 5}\n#dsfn-fp .fp-fee .n{font-size:32px;font-weight:600;letter-spacing:-.04em}\n#dsfn-fp .fp-fee .l{font-size:13px;fill:var(--mist)}\n#dsfn-fp .fp-echo{fill:none;stroke:rgba(232,63,47,.8);stroke-width:1.5}\n#dsfn-fp .fp-bd-o{fill:var(--ink);stroke:var(--mist);stroke-width:1.5}\n#dsfn-fp .fp-bd-i{fill:var(--red)}\n#dsfn-fp .fp-you-c{fill:var(--red)}\n#dsfn-fp .fp-you-t{font-size:22px;font-weight:600;letter-spacing:-.01em}\n#dsfn-fp .fp-you-w{font-size:15px;font-weight:600;letter-spacing:-.01em}\n#dsfn-fp .fp-check{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}\n#dsfn-fp .fp-pulse{fill:#fff}\n#dsfn-fp .fp-stripes{\n  position:absolute;left:-6%;bottom:-12%;width:min(42vw,580px);\n  opacity:.45;will-change:transform;\n}\n#dsfn-fp .fp-join__hint{\n  position:absolute;z-index:1;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));translate:-50% 0;\n  display:flex;align-items:center;gap:10px;color:var(--mist);font-family:var(--f-display);font-size:.88rem;\n  transition:opacity .5s var(--ease);\n}\n#dsfn-fp .fp-join__hint i{position:relative;display:block;width:1px;height:28px;background:var(--line-light);overflow:hidden}\n#dsfn-fp .fp-join__hint i::after{content:\"\";position:absolute;left:-2px;top:-8px;width:5px;height:8px;border-radius:3px;background:var(--mist);animation:fp-cue 2.2s var(--ease) infinite}\n\n\/* Statisk version (ingen JS eller reduceret bev\u00e6gelse) *\/\n#dsfn-fp:not(.fp-js) .fp-join__track,#dsfn-fp .fp-join.is-static .fp-join__track{height:auto}\n#dsfn-fp:not(.fp-js) .fp-join__pin,#dsfn-fp .fp-join.is-static .fp-join__pin{position:relative;height:auto;padding:clamp(88px,13vw,160px) 0}\n#dsfn-fp:not(.fp-js) .fp-jsteps li,#dsfn-fp .fp-join.is-static .fp-jsteps li{opacity:1}\n#dsfn-fp:not(.fp-js) .fp-jsteps::after,#dsfn-fp .fp-join.is-static .fp-jsteps::after{transform:none}\n#dsfn-fp:not(.fp-js) .fp-stage,#dsfn-fp:not(.fp-js) .fp-join__hint,#dsfn-fp .fp-join.is-static .fp-join__hint{display:none}\n\n\/* Nyheder *\/\n#dsfn-fp .fp-news{background:var(--paper)}\n#dsfn-fp .fp-news__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:48px var(--gutter)}\n#dsfn-fp .fp-feature{grid-column:1 \/ span 7}\n#dsfn-fp .fp-feature__img{aspect-ratio:4 \/ 3;overflow:hidden;border-radius:4px;background:var(--ink);margin-bottom:26px}\n#dsfn-fp .fp-feature__img img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}\n#dsfn-fp .fp-feature__img.is-in img{transition:clip-path 1.4s var(--ease-out),transform 1.2s var(--ease-out)}\n#dsfn-fp .fp-feature a:hover .fp-feature__img img{transform:scale(1.04)}\n#dsfn-fp .fp-feature h3{font-size:clamp(1.6rem,1.1rem + 1.4vw,2.4rem);font-variation-settings:\"wdth\" 94;letter-spacing:-.035em;line-height:1.05;margin:10px 0 12px;max-width:22ch}\n#dsfn-fp .fp-feature p,#dsfn-fp .fp-note p{color:var(--muted);max-width:56ch}\n#dsfn-fp .fp-news time{font-family:var(--f-display);font-size:.92rem;color:var(--muted)}\n#dsfn-fp .fp-news__side{grid-column:9 \/ span 4;display:grid;align-content:start}\n#dsfn-fp .fp-note{position:relative;padding:28px 0}\n#dsfn-fp .fp-note + .fp-note{border-top:1px solid var(--line)}\n#dsfn-fp .fp-note h3{margin:8px 0 10px}\n#dsfn-fp .fp-note a:hover h3,#dsfn-fp .fp-feature a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}\n\n\/* Bestyrelse *\/\n#dsfn-fp .fp-board{background:#fff}\n#dsfn-fp .fp-board__intro{color:var(--muted);max-width:44ch}\n#dsfn-fp .fp-members{display:grid;grid-template-columns:repeat(4,1fr);gap:0 var(--gutter)}\n#dsfn-fp .fp-member{position:relative;padding:22px 0 36px}\n#dsfn-fp .fp-member h3{font-size:1.2rem;margin-bottom:4px}\n#dsfn-fp .fp-member .fp-role{font-family:var(--f-display);font-size:.95rem;color:var(--red-ui);font-weight:500;min-height:1.4em;display:block;margin-bottom:10px}\n#dsfn-fp .fp-member p{font-size:.98rem;color:var(--muted);line-height:1.45}\n\n\/* My DSfN *\/\n#dsfn-fp .fp-my{position:relative;background:var(--haze);overflow:hidden;isolation:isolate;--mx:70%;--my:50%}\n#dsfn-fp .fp-my__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);gap:40px var(--gutter)}\n#dsfn-fp .fp-my__head{grid-column:1 \/ span 4}\n#dsfn-fp .fp-my .fp-h2{transition:color .7s var(--ease) .25s}\n#dsfn-fp .fp-my__head p{color:var(--muted);margin-top:20px;max-width:34ch;transition:color .7s var(--ease) .25s}\n#dsfn-fp .fp-portals{grid-column:6 \/ span 7}\n#dsfn-fp .fp-portal{position:relative}\n#dsfn-fp .fp-portal::before{transition:transform 1.2s var(--ease-out) calc(var(--i,0) * 90ms),background-color .7s var(--ease) .25s}\n#dsfn-fp .fp-portal:last-child{border-bottom:1px solid var(--line);transition:border-color .7s var(--ease) .25s}\n#dsfn-fp .fp-portal a{display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:center;padding:26px 0;transition:opacity .5s var(--ease)}\n#dsfn-fp .fp-portal strong{font-family:var(--f-display);font-variation-settings:\"wdth\" 90;font-weight:600;font-size:clamp(1.6rem,1.2rem + 1.2vw,2.3rem);letter-spacing:-.035em;line-height:1.05;transition:transform .5s var(--ease-out),color .7s var(--ease) .25s}\n#dsfn-fp .fp-portal span{grid-column:1;color:var(--muted);font-size:1rem;transition:color .7s var(--ease) .25s}\n#dsfn-fp .fp-portal svg{grid-column:2;grid-row:1 \/ span 2;width:26px;height:26px;transition:transform .5s var(--ease-out),color .7s var(--ease) .25s}\n#dsfn-fp .fp-portal a:hover strong,#dsfn-fp .fp-portal a:focus-visible strong{transform:translateX(8px)}\n#dsfn-fp .fp-portal a:hover svg,#dsfn-fp .fp-portal a:focus-visible svg{transform:translate(4px,-4px)}\n#dsfn-fp .fp-portal--join a:hover svg,#dsfn-fp .fp-portal--join a:focus-visible svg{transform:translateX(5px)}\n\n\/* Billedbaggrunde: \u00e5bner sig som en cirkel fra musen og skifter pr. punkt *\/\n#dsfn-fp .fp-my__bgs{\n  position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--ink);\n  opacity:0;clip-path:circle(0px at var(--mx) var(--my));\n  transition:clip-path 1s cubic-bezier(.5,0,.25,1),opacity .7s cubic-bezier(.4,0,.2,1);\n}\n#dsfn-fp .fp-my.has-bg .fp-my__bgs{opacity:1;clip-path:circle(var(--rmax,160vmax) at var(--mx) var(--my))}\n\/* F\u00f8rste gang toner m\u00f8rket frem f\u00f8r billedet; ved skift mellem punkter crossfades der direkte *\/\n#dsfn-fp .fp-my__bg{position:absolute;inset:0;opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1) .15s}\n#dsfn-fp .fp-my.is-open .fp-my__bg{transition-duration:.7s;transition-delay:0s}\n#dsfn-fp .fp-my__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.8s var(--ease-out)}\n#dsfn-fp .fp-my__bg.is-active{opacity:1}\n#dsfn-fp .fp-my__bg.is-active img{transform:scale(1)}\n#dsfn-fp .fp-my__bgs::after{\n  content:\"\";position:absolute;inset:0;\n  background:linear-gradient(90deg,rgba(14,34,52,.9) 0%,rgba(14,34,52,.78) 42%,rgba(14,34,52,.62) 100%);\n}\n#dsfn-fp .fp-my.has-bg .fp-h2,#dsfn-fp .fp-my.has-bg .fp-portal strong,#dsfn-fp .fp-my.has-bg .fp-portal svg{color:#fff}\n#dsfn-fp .fp-my.has-bg .fp-my__head p,#dsfn-fp .fp-my.has-bg .fp-portal span{color:var(--mist)}\n#dsfn-fp .fp-my.has-bg .fp-portal::before{background:rgba(255,255,255,.22)}\n#dsfn-fp .fp-my.has-bg .fp-portal:last-child{border-color:rgba(255,255,255,.22)}\n#dsfn-fp .fp-my.has-bg .fp-portal:not(.is-hover) a{opacity:.5}\n#dsfn-fp .fp-my .fp-portal.is-in > a{transition:opacity .5s var(--ease) .1s,transform 1s var(--ease-out)}\n\n\/* Footer: gardin-afsl\u00f8ring med en r\u00f8d cirkel der stiger op, forbundet til menuen med nervebaner *\/\n#dsfn-fp > section{position:relative;z-index:1}\n#dsfn-fp .fp-footer{\n  position:relative;z-index:0;overflow:hidden;isolation:isolate;\n  background:var(--deep);color:#fff;\n  min-height:100vh;min-height:100svh;display:flex;flex-direction:column;\n  padding:clamp(40px,6vh,72px) 0 calc(28px + env(safe-area-inset-bottom,0px));\n  --soma:clamp(380px,44vw,720px);\n}\n#dsfn-fp .fp-footer.is-curtain{position:sticky;bottom:0}\n#dsfn-fp .fp-footer > .fp-wrap{position:relative;z-index:2;flex:1;display:flex;flex-direction:column}\n#dsfn-fp .fp-ft-axons{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}\n#dsfn-fp .fp-ft-axons path{fill:none;stroke:rgba(180,198,239,.28);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}\n#dsfn-fp .fp-ft-axons circle{fill:#fff}\n\n#dsfn-fp .fp-footer__logo{display:inline-block;--logo-h:clamp(52px,5vw,72px);align-self:flex-start}\n#dsfn-fp .fp-footer__main{display:grid;grid-template-columns:repeat(12,1fr);gap:48px var(--gutter);margin-top:clamp(40px,8vh,96px);align-items:start}\n#dsfn-fp .fp-footer__pitch{grid-column:1 \/ span 6}\n#dsfn-fp .fp-footer__title{\n  font-family:var(--f-display);font-variation-settings:\"wdth\" 92;font-weight:600;\n  font-size:clamp(2.5rem,1.2rem + 3.8vw,5rem);line-height:.96;letter-spacing:-.045em;max-width:13ch;\n}\n#dsfn-fp .fp-footer__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}\n#dsfn-fp .fp-footer__nav{grid-column:8 \/ span 5;display:grid;grid-template-columns:1fr 1fr;gap:36px var(--gutter);padding-top:10px}\n#dsfn-fp .fp-footer__nav h3{display:flex;align-items:center;gap:12px;font-size:1rem;margin-bottom:14px;color:#fff}\n#dsfn-fp .fp-node{\n  flex-shrink:0;width:11px;height:11px;border-radius:50%;border:1.5px solid var(--mist);background:var(--deep);\n  transition:background-color .4s var(--ease),border-color .4s var(--ease),transform .5s var(--ease-out);\n}\n#dsfn-fp .fp-footer__nav > div:hover .fp-node,#dsfn-fp .fp-footer__nav > div:focus-within .fp-node{background:var(--red);border-color:var(--red);transform:scale(1.35)}\n#dsfn-fp .fp-footer__nav li{margin-bottom:8px}\n#dsfn-fp .fp-footer__nav ul{padding-left:23px}\n#dsfn-fp .fp-footer__nav a,#dsfn-fp .fp-footer__base a{font-family:var(--f-display);font-size:.98rem;color:var(--mist);transition:color .3s var(--ease)}\n#dsfn-fp .fp-footer__nav a:hover,#dsfn-fp .fp-footer__nav a:focus-visible,#dsfn-fp .fp-footer__base a:hover{color:#fff}\n#dsfn-fp .fp-footer__nav address{font-style:normal;font-family:var(--f-display);font-size:.98rem;line-height:1.7;color:var(--mist);padding-left:23px}\n#dsfn-fp .fp-footer__nav address a{color:#fff}\n\n#dsfn-fp .fp-footer__base{\n  margin-top:auto;padding-top:40px;max-width:min(560px,52%);\n  display:flex;flex-wrap:wrap;gap:8px 22px;color:rgba(180,198,239,.7);font-family:var(--f-display);font-size:.88rem\n}\n#dsfn-fp .fp-footer__base ul{display:flex;flex-wrap:wrap;gap:6px 20px}\n#dsfn-fp .fp-footer__base a{font-size:.88rem}\n\n\/* Den r\u00f8de cirkel: tilbage til toppen *\/\n#dsfn-fp .fp-ftop{\n  position:absolute;z-index:1;right:6vw;bottom:calc(var(--soma) * -.64);\n  width:var(--soma);aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;\n  transform:translateY(calc(var(--ry,0px) - var(--lift,0px)));\n  transition:--lift .5s var(--ease-out);\n}\n#dsfn-fp .fp-ftop::after{\n  content:\"\";position:absolute;inset:0;border-radius:50%;pointer-events:none;\n  background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.18),rgba(255,255,255,0) 50%);\n}\n#dsfn-fp .fp-ftop__label{\n  position:absolute;left:50%;top:calc(var(--soma) * .11);translate:-50% 0;\n  display:flex;flex-direction:column;align-items:center;gap:10px;\n  font-family:var(--f-display);font-weight:600;font-size:1rem;white-space:nowrap;\n}\n#dsfn-fp .fp-ftop__label svg{width:22px;height:22px;transition:transform .5s var(--ease-out)}\n#dsfn-fp .fp-ftop:hover .fp-ftop__label svg,#dsfn-fp .fp-ftop:focus-visible .fp-ftop__label svg{transform:translateY(-6px)}\n#dsfn-fp .fp-ftop:focus-visible{outline-offset:6px}\n#dsfn-fp .fp-ftop .fp-ring{border-color:rgba(232,63,47,.7)}\n\n\/* Afsl\u00f8ring i footeren styres af scroll, ikke af IntersectionObserver *\/\n#dsfn-fp.fp-js .fp-footer [data-ft]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease) calc(var(--i,0) * 90ms),transform 1.1s var(--ease-out) calc(var(--i,0) * 90ms)}\n#dsfn-fp.fp-js .fp-footer.is-in [data-ft]{opacity:1;transform:none}\n\n\/* ---------- Responsivt ---------- *\/\n@media (max-width:1100px){\n  #dsfn-fp .fp-members{grid-template-columns:repeat(2,1fr)}\n  #dsfn-fp .fp-event a{grid-template-columns:minmax(110px,2fr) 7fr auto}\n  #dsfn-fp .fp-event .fp-place{grid-column:2;padding-top:0;order:3}\n  #dsfn-fp .fp-event .fp-go{grid-column:3;grid-row:1}\n  #dsfn-fp .fp-footer__pitch{grid-column:1 \/ span 7}\n  #dsfn-fp .fp-footer__nav{grid-column:8 \/ span 5;grid-template-columns:1fr}\n}\n@media (max-width:1020px){\n  #dsfn-fp .fp-nav{display:none}\n  #dsfn-fp .fp-burger{display:block}\n}\n@media (max-width:960px){\n  #dsfn-fp .fp-about__text,#dsfn-fp .fp-ties,\n  #dsfn-fp .fp-feature,#dsfn-fp .fp-news__side,#dsfn-fp .fp-my__head,#dsfn-fp .fp-portals{grid-column:1 \/ -1}\n}\n@media (max-width:900px){\n  #dsfn-fp .fp-join__track{height:360vh}\n  #dsfn-fp .fp-join__pin{align-items:stretch}\n  #dsfn-fp .fp-join__grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;padding:72px 0 76px;height:100%}\n  #dsfn-fp .fp-stage{grid-column:1;grid-row:1;height:auto;min-height:0}\n  #dsfn-fp .fp-join__text{grid-column:1;grid-row:2}\n  #dsfn-fp .fp-join .fp-h2{font-size:clamp(2rem,8.5vw,2.8rem)}\n  #dsfn-fp .fp-join__lead{display:none}\n  #dsfn-fp .fp-jsteps{margin:18px 0 20px;display:grid}\n  #dsfn-fp .fp-jsteps::before,#dsfn-fp .fp-jsteps::after{display:none}\n  #dsfn-fp .fp-join:not(.is-static) .fp-jsteps li{grid-area:1 \/ 1;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .6s var(--ease-out)}\n  #dsfn-fp .fp-join:not(.is-static) .fp-jsteps li.is-active{opacity:1;transform:none}\n  #dsfn-fp .fp-jsteps strong{margin-top:8px}\n  #dsfn-fp .fp-stripes{width:70vw;left:auto;right:-20vw;bottom:auto;top:6%;opacity:.3}\n  #dsfn-fp .fp-join__hint{display:none}\n  #dsfn-fp .fp-join.is-static .fp-join__grid,#dsfn-fp:not(.fp-js) .fp-join__grid{height:auto;padding:0}\n  #dsfn-fp .fp-join.is-static .fp-stage{height:70vw}\n}\n@media (max-width:720px){\n  #dsfn-fp{font-size:17px;--header-h:80px;--logo-h:42px}\n  #dsfn-fp .fp-header.is-solid{--header-h:68px;--logo-h:36px}\n  #dsfn-fp .fp-soma{width:74vw;right:-24vw;top:27%}\n  #dsfn-fp .fp-hero__foot .fp-scrollcue{display:none}\n  #dsfn-fp .fp-event a{grid-template-columns:1fr auto;gap:10px 16px}\n  #dsfn-fp .fp-event .fp-date{grid-column:1}\n  #dsfn-fp .fp-event .fp-go{grid-column:2;grid-row:1}\n  #dsfn-fp .fp-event .fp-body,#dsfn-fp .fp-event .fp-place{grid-column:1 \/ -1}\n  #dsfn-fp .fp-members{grid-template-columns:1fr}\n  #dsfn-fp .fp-member{padding-bottom:26px}\n  #dsfn-fp .fp-member .fp-role{min-height:0}\n  #dsfn-fp .fp-footer{--soma:88vw;min-height:0}\n  #dsfn-fp .fp-footer__main{grid-template-columns:1fr;gap:48px}\n  #dsfn-fp .fp-footer__pitch,#dsfn-fp .fp-footer__nav{grid-column:1}\n  #dsfn-fp .fp-footer__nav{grid-template-columns:1fr 1fr;gap:32px 20px}\n  #dsfn-fp .fp-footer__base{max-width:none;margin-top:48px;padding-bottom:calc(var(--soma) * .4)}\n  #dsfn-fp .fp-ftop{right:auto;left:50%;margin-left:calc(var(--soma) * -.5);bottom:calc(var(--soma) * -.66)}\n  #dsfn-fp .fp-ftop__label{top:calc(var(--soma) * .08)}\n}\n\n\/* ---------- Reduceret bev\u00e6gelse ---------- *\/\n@media (prefers-reduced-motion:reduce){\n  #dsfn-fp *,#dsfn-fp *::before,#dsfn-fp *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}\n  #dsfn-fp .fp-soma{scale:1}\n  #dsfn-fp.fp-js .fp-split .c,#dsfn-fp.fp-js .fp-in,#dsfn-fp.fp-js [data-reveal],#dsfn-fp.fp-js [data-reveal] > *,#dsfn-fp.fp-js .fp-header,#dsfn-fp.fp-js .fp-trace img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}\n  #dsfn-fp.fp-js [data-reveal]::before{transform:none!important}\n  #dsfn-fp.fp-js .fp-statement .sw{--o:1}\n}\n<\/style>\n\n<!-- ============ HEADER ============ -->\n<header class=\"fp-header\" id=\"fp-header\">\n  <div class=\"fp-header__in\">\n    <a class=\"fp-logo\" href=\"https:\/\/dsfn.dk\/\" aria-label=\"Danish Society for Neuroscience, home\">\n      <span class=\"fp-trace fp-logo--light\" data-logo=\"white\" data-trace=\"intro\">\n        <img decoding=\"async\" src=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/dsfn-logo-hvid.svg\" alt=\"Danish Society for Neuroscience\">\n      <\/span>\n      <span class=\"fp-trace fp-logo--dark\" data-logo=\"black\" data-trace=\"intro\" aria-hidden=\"true\">\n        <img decoding=\"async\" src=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/dsfn-logo-sort.svg\" alt=\"\">\n      <\/span>\n    <\/a>\n\n    <nav class=\"fp-nav\" aria-label=\"Main menu\">\n      <ul>\n        <li><a href=\"https:\/\/dsfn.dk\/\">Home<\/a><\/li>\n        <li>\n          <a href=\"#about\">About <svg class=\"fp-chev\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden=\"true\"><path d=\"m2 3.5 3 3 3-3\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <ul class=\"fp-sub\">\n            <li><a href=\"https:\/\/dsfn.dk\/board\/\" style=\"--i:0\">Board<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/statutes\/\" style=\"--i:1\">Statutes<\/a><\/li>\n          <\/ul>\n        <\/li>\n        <li>\n          <a href=\"#mydsfn\">My DSfN <svg class=\"fp-chev\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden=\"true\"><path d=\"m2 3.5 3 3 3-3\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <ul class=\"fp-sub\">\n            <li><a href=\"https:\/\/3886.foreninglet.dk\/memberportal\/dashboard\" style=\"--i:0\">My Account<\/a><\/li>\n            <li><a href=\"https:\/\/www.fens.org\/members\/login\" style=\"--i:1\">FENS login<\/a><\/li>\n            <li><a href=\"https:\/\/connect.neuroscienceacademydenmark.dk\/login\" style=\"--i:2\">NAD Connect<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/join-dsfn\/\" style=\"--i:3\">Join DSFN<\/a><\/li>\n          <\/ul>\n        <\/li>\n        <li>\n          <a href=\"#news\">Archive <svg class=\"fp-chev\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden=\"true\"><path d=\"m2 3.5 3 3 3-3\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <ul class=\"fp-sub\">\n            <li><a href=\"https:\/\/dsfn.dk\/all-news\/\" style=\"--i:0\">News<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/all-events\/\" style=\"--i:1\">Events<\/a><\/li>\n          <\/ul>\n        <\/li>\n        <li><a href=\"https:\/\/dsfn.dk\/contact\/\">Contact<\/a><\/li>\n      <\/ul>\n    <\/nav>\n\n    <button class=\"fp-burger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"fp-menu\"><span><\/span><span><\/span><b class=\"fp-sr\">Menu<\/b><\/button>\n  <\/div>\n<\/header>\n\n<div class=\"fp-menu\" id=\"fp-menu\" aria-hidden=\"true\">\n  <nav aria-label=\"Mobile menu\">\n    <ul>\n      <li style=\"--i:0\"><a href=\"https:\/\/dsfn.dk\/\">Home<\/a><\/li>\n      <li style=\"--i:1\"><a href=\"#about\">About<\/a>\n        <ul><li><a href=\"https:\/\/dsfn.dk\/board\/\">Board<\/a><\/li><li><a href=\"https:\/\/dsfn.dk\/statutes\/\">Statutes<\/a><\/li><\/ul>\n      <\/li>\n      <li style=\"--i:2\"><a href=\"#mydsfn\">My DSfN<\/a>\n        <ul>\n          <li><a href=\"https:\/\/3886.foreninglet.dk\/memberportal\/dashboard\">My Account<\/a><\/li>\n          <li><a href=\"https:\/\/www.fens.org\/members\/login\">FENS login<\/a><\/li>\n          <li><a href=\"https:\/\/connect.neuroscienceacademydenmark.dk\/login\">NAD Connect<\/a><\/li>\n          <li><a href=\"https:\/\/dsfn.dk\/join-dsfn\/\">Join DSFN<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li style=\"--i:3\"><a href=\"#news\">Archive<\/a>\n        <ul><li><a href=\"https:\/\/dsfn.dk\/all-news\/\">News<\/a><\/li><li><a href=\"https:\/\/dsfn.dk\/all-events\/\">Events<\/a><\/li><\/ul>\n      <\/li>\n      <li style=\"--i:4\"><a href=\"https:\/\/dsfn.dk\/contact\/\">Contact<\/a><\/li>\n    <\/ul>\n  <\/nav>\n  <div class=\"fp-menu__foot\">\n    <span>Ottiliavej 9, 2500 Valby<\/span>\n    <a href=\"mailto:adm@dsfn.dk\">adm@dsfn.dk<\/a>\n  <\/div>\n<\/div>\n\n<!-- ============ HERO ============ -->\n<section class=\"fp-hero\" id=\"fp-hero\" aria-labelledby=\"fp-h1\">\n  <canvas id=\"fp-net\" aria-hidden=\"true\"><\/canvas>\n  <div class=\"fp-soma\" id=\"fp-soma\" aria-hidden=\"true\"><\/div>\n\n  <div class=\"fp-hero__content\">\n    <h1 class=\"fp-display fp-h1 fp-split\" id=\"fp-h1\" style=\"--d:650ms;--step:34ms\">\n      <span class=\"ln\">Danish Society<\/span>\n      <span class=\"ln\">for Neuroscience<\/span>\n    <\/h1>\n    <p class=\"fp-lead fp-in\" style=\"--d:1500ms\">A community for everyone in Denmark who works with the brain and nervous system. We connect researchers across universities, hospitals and industry, and speak for Danish neuroscience at home and abroad.<\/p>\n    <div class=\"fp-actions fp-in\" style=\"--d:1700ms\">\n      <a class=\"fp-btn fp-btn--red\" href=\"https:\/\/dsfn.dk\/join-dsfn\/\">Become a member\n        <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n      <\/a>\n      <a class=\"fp-btn fp-btn--ghost\" href=\"#events\">See upcoming events<\/a>\n    <\/div>\n  <\/div>\n\n  <div class=\"fp-hero__foot fp-in\" style=\"--d:2000ms\">\n    <div class=\"fp-wrap\">\n      <p class=\"fp-small\">Members of DSfN are automatically members of <a href=\"https:\/\/www.fens.org\/\" target=\"_blank\" rel=\"noopener\">FENS<\/a>, the Federation of European Neuroscience Societies.<\/p>\n      <a class=\"fp-scrollcue fp-small\" href=\"#about\"><i aria-hidden=\"true\"><\/i>Scroll<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ OM FORENINGEN ============ -->\n<section class=\"fp-section fp-about\" id=\"about\" aria-label=\"About DSfN\">\n  <div class=\"fp-wrap\">\n    <p class=\"fp-statement\" id=\"fp-statement\">DSfN is a convergence of minds passionate about neuroscience. We represent Danish neuroscientists internationally and act as a collective voice on research and science policy.<\/p>\n\n    <div class=\"fp-about__grid\">\n      <div class=\"fp-about__text\">\n        <p data-reveal style=\"--i:0\">Membership is open to scientists working in neuroscience in Denmark, from PhD students to professors and researchers in industry. New members are proposed by two existing members and approved by the board.<\/p>\n        <p data-reveal style=\"--i:1\">Through DSfN you become part of the European neuroscience community, and you get a say in how the field is represented in national and international organisations.<\/p>\n        <p data-reveal style=\"--i:2\"><a class=\"fp-link\" href=\"https:\/\/dsfn.dk\/statutes\/\">Read our statutes\n          <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/p>\n      <\/div>\n\n      <div class=\"fp-ties\">\n        <h3 class=\"fp-h3\" data-reveal>Where we are connected<\/h3>\n        <ul>\n          <li data-reveal=\"line\" style=\"--i:1\"><a href=\"https:\/\/www.fens.org\/\" target=\"_blank\" rel=\"noopener\"><strong>FENS<\/strong><span>Federation of European Neuroscience Societies<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n          <li data-reveal=\"line\" style=\"--i:2\"><a href=\"https:\/\/ibro.org\/\" target=\"_blank\" rel=\"noopener\"><strong>IBRO<\/strong><span>International Brain Research Organization<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n          <li data-reveal=\"line\" style=\"--i:3\"><a href=\"https:\/\/hjernesagen.dk\/\" target=\"_blank\" rel=\"noopener\"><strong>Danish Brain Council<\/strong><span>National collaboration on brain research and health<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ EVENTS ============ -->\n<section class=\"fp-section fp-events\" id=\"events\" aria-labelledby=\"fp-events-h\">\n  <div class=\"fp-wrap\">\n    <div class=\"fp-sechead\">\n      <h2 class=\"fp-h2 fp-split\" id=\"fp-events-h\">Upcoming events<\/h2>\n      <a class=\"fp-link\" href=\"https:\/\/dsfn.dk\/all-events\/\" data-reveal>All events\n        <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n    <\/div>\n\n    <ol>\n      <li class=\"fp-event\" data-reveal=\"line\" style=\"--i:0\">\n        <a href=\"https:\/\/dsfn.dk\/all-events\/\">\n          <time class=\"fp-date\" datetime=\"2026-11-19\"><b>19<\/b><span>Nov<br>2026<\/span><\/time>\n          <div class=\"fp-body\">\n            <h3 class=\"fp-h3\">DSfN autumn symposium and general assembly<\/h3>\n            <p>Short talks from early-career researchers, followed by the annual general assembly and a reception for members.<\/p>\n          <\/div>\n          <p class=\"fp-place\">Copenhagen<\/p>\n          <span class=\"fp-go\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n        <\/a>\n      <\/li>\n      <li class=\"fp-event\" data-reveal=\"line\" style=\"--i:1\">\n        <a href=\"https:\/\/dsfn.dk\/all-events\/\">\n          <time class=\"fp-date\" datetime=\"2027-01-15\"><b>15<\/b><span>Jan<br>2027<\/span><\/time>\n          <div class=\"fp-body\">\n            <h3 class=\"fp-h3\">Deadline for DSfN Scholarstipends<\/h3>\n            <p>Members can apply for support to present their work at courses and conferences abroad.<\/p>\n          <\/div>\n          <p class=\"fp-place\">Online application<\/p>\n          <span class=\"fp-go\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n        <\/a>\n      <\/li>\n      <li class=\"fp-event\" data-reveal=\"line\" style=\"--i:2\">\n        <a href=\"https:\/\/dsfn.dk\/all-events\/\">\n          <time class=\"fp-date\" datetime=\"2027-03-15\"><b>15<\/b><span>Mar<br>2027<\/span><\/time>\n          <div class=\"fp-body\">\n            <h3 class=\"fp-h3\">Brain Awareness Week 2027<\/h3>\n            <p>Public talks and open labs across the country, where researchers show what we know about the brain today.<\/p>\n          <\/div>\n          <p class=\"fp-place\">Across Denmark<\/p>\n          <span class=\"fp-go\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"none\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n        <\/a>\n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\n\n<!-- ============ MEDLEMSKAB (scroll-fort\u00e6lling) ============ -->\n<section class=\"fp-join\" id=\"join\" aria-labelledby=\"fp-join-h\">\n  <div class=\"fp-join__track\" id=\"fp-join-track\">\n  <div class=\"fp-join__pin\">\n    <div class=\"fp-join__deco\" aria-hidden=\"true\">\n      <img decoding=\"async\" class=\"fp-stripes\" id=\"fp-stripes\" src=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/mobile-banner.svg\" alt=\"\">\n    <\/div>\n\n    <div class=\"fp-wrap fp-join__grid\">\n      <div class=\"fp-join__text\">\n        <h2 class=\"fp-h2 fp-split\" id=\"fp-join-h\">Become a member<\/h2>\n        <p class=\"fp-join__lead\">Membership takes three steps and connects you to neuroscientists across Denmark and Europe.<\/p>\n\n        <ol class=\"fp-jsteps\" id=\"fp-jsteps\">\n          <li><span class=\"fp-jnum\">1<\/span><div><strong>Two members propose you<\/strong><p>Ask colleagues or supervisors who are already members of DSfN.<\/p><\/div><\/li>\n          <li><span class=\"fp-jnum\">2<\/span><div><strong>Apply online<\/strong><p>Fill in the application. The fee is 200 kr. for students and 350 kr. for ordinary members.<\/p><\/div><\/li>\n          <li><span class=\"fp-jnum\">3<\/span><div><strong>The board approves<\/strong><p>You are now part of DSfN and automatically a member of FENS, the European federation.<\/p><\/div><\/li>\n        <\/ol>\n\n        <a class=\"fp-btn fp-btn--red\" href=\"https:\/\/dsfn.dk\/join-dsfn\/\">Apply for membership\n          <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n        <\/a>\n      <\/div>\n\n      <div class=\"fp-stage\" aria-hidden=\"true\">\n        <svg id=\"fp-stage-svg\" viewBox=\"0 0 800 800\" preserveAspectRatio=\"xMidYMid meet\">\n          <defs>\n            <pattern id=\"fp-stripe-pat\" patternUnits=\"userSpaceOnUse\" width=\"16\" height=\"16\" patternTransform=\"rotate(-35)\">\n              <rect width=\"7\" height=\"16\" fill=\"#fff\" fill-opacity=\".26\"\/>\n            <\/pattern>\n            <clipPath id=\"fp-you-clip\"><circle cx=\"0\" cy=\"0\" r=\"88\"\/><\/clipPath>\n          <\/defs>\n          <g id=\"fp-field\"><\/g>\n          <g id=\"fp-ring\"><\/g>\n          <g id=\"fp-links\"><\/g>\n          <g id=\"fp-echoes\"><\/g>\n          <g id=\"fp-board\"><\/g>\n          <g class=\"fp-prop\" id=\"fp-prop-1\"><circle r=\"42\"\/><text y=\"1\">Member<\/text><\/g>\n          <g class=\"fp-prop\" id=\"fp-prop-2\"><circle r=\"42\"\/><text y=\"1\">Member<\/text><\/g>\n          <g id=\"fp-pulses\"><circle class=\"fp-pulse\" r=\"4\"\/><circle class=\"fp-pulse\" r=\"4\"\/><\/g>\n          <g class=\"fp-fee\" id=\"fp-fee-1\"><circle r=\"74\"\/><text class=\"n\" y=\"-8\">200<\/text><text class=\"l\" y=\"24\">kr. students<\/text><\/g>\n          <g class=\"fp-fee\" id=\"fp-fee-2\"><circle r=\"74\"\/><text class=\"n\" y=\"-8\">350<\/text><text class=\"l\" y=\"24\">kr. ordinary<\/text><\/g>\n          <g id=\"fp-you\">\n            <circle class=\"fp-you-c\" r=\"88\"\/>\n            <g clip-path=\"url(#fp-you-clip)\"><rect id=\"fp-you-stripes\" x=\"-88\" y=\"-88\" width=\"0\" height=\"176\" fill=\"url(#fp-stripe-pat)\"\/><\/g>\n            <text class=\"fp-you-t\" id=\"fp-you-t\" y=\"1\">You<\/text>\n            <path class=\"fp-check\" id=\"fp-check\" d=\"M-30 2 L-8 24 L34 -22\" pathLength=\"1\"\/>\n            <g id=\"fp-welcome\" opacity=\"0\"><text class=\"fp-you-w\" y=\"22\">Welcome to<\/text><text class=\"fp-you-w\" y=\"42\">the network<\/text><\/g>\n          <\/g>\n        <\/svg>\n      <\/div>\n    <\/div>\n\n    <p class=\"fp-join__hint\" id=\"fp-join-hint\"><i aria-hidden=\"true\"><\/i>Scroll to follow the steps<\/p>\n  <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ NYHEDER ============ -->\n<section class=\"fp-section fp-news\" id=\"news\" aria-labelledby=\"fp-news-h\">\n  <div class=\"fp-wrap\">\n    <div class=\"fp-sechead\">\n      <h2 class=\"fp-h2 fp-split\" id=\"fp-news-h\">News<\/h2>\n      <a class=\"fp-link\" href=\"https:\/\/dsfn.dk\/all-news\/\" data-reveal>All news\n        <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n    <\/div>\n\n    <div class=\"fp-news__grid\">\n      <article class=\"fp-feature\">\n        <a href=\"https:\/\/fensforum.org\" target=\"_blank\" rel=\"noopener\">\n          <div class=\"fp-feature__img\" data-reveal=\"wipe\">\n            <img decoding=\"async\" src=\"https:\/\/dsfn.dk\/wp-content\/uploads\/2026\/04\/Barcelona-26-visual-square-1080x1080-1-768x768.png\" alt=\"Visual for FENS Forum 2026 in Barcelona\" loading=\"lazy\">\n          <\/div>\n          <div data-reveal style=\"--i:1\">\n            <time datetime=\"2026-04-12\">12 April 2026<\/time>\n            <h3 class=\"fp-h3\">FENS Forum 2026 in Barcelona<\/h3>\n            <p>Europe's largest neuroscience meeting gathered researchers from across the continent. As a DSfN member you are also a FENS member and register at the member rate.<\/p>\n          <\/div>\n        <\/a>\n      <\/article>\n\n      <div class=\"fp-news__side\">\n        <article class=\"fp-note\" data-reveal style=\"--i:1\">\n          <a href=\"https:\/\/dsfn.dk\/board\/\">\n            <time datetime=\"2026-03-01\">March 2026<\/time>\n            <h3 class=\"fp-h3\">Meet the board for 2026<\/h3>\n            <p>Eight researchers from five institutions, led by president Rune W. Berg from the University of Copenhagen.<\/p>\n          <\/a>\n        <\/article>\n        <article class=\"fp-note\" data-reveal style=\"--i:2\">\n          <a href=\"https:\/\/dsfn.dk\/all-news\/\">\n            <time datetime=\"2026-02-01\">February 2026<\/time>\n            <h3 class=\"fp-h3\">Apply for a DSfN Scholarstipend<\/h3>\n            <p>Support for members who want to present their research at courses and conferences.<\/p>\n          <\/a>\n        <\/article>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============ BESTYRELSE ============ -->\n<section class=\"fp-section fp-board\" id=\"board\" aria-labelledby=\"fp-board-h\">\n  <div class=\"fp-wrap\">\n    <div class=\"fp-sechead\">\n      <h2 class=\"fp-h2 fp-split\" id=\"fp-board-h\">The board 2026<\/h2>\n      <p class=\"fp-board__intro\" data-reveal>Elected by the members and drawn from universities and industry across Denmark.<\/p>\n    <\/div>\n\n    <ul class=\"fp-members\">\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:0\"><h3 class=\"fp-h3\">Rune W. Berg<\/h3><span class=\"fp-role\">President<\/span><p>University of Copenhagen<br>Department of Neuroscience<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:1\"><h3 class=\"fp-h3\">Anna Mathia Klawonn<\/h3><span class=\"fp-role\">Vice-president<\/span><p>Aarhus University<br>Department of Biomedicine<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:2\"><h3 class=\"fp-h3\">Malene Ambj\u00f8rn<\/h3><span class=\"fp-role\">Treasurer<\/span><p>H. Lundbeck A\/S<br>Functional and Cellular Pharmacology<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:3\"><h3 class=\"fp-h3\">Thomas Alrik S\u00f8rensen<\/h3><span class=\"fp-role\">Secretary<\/span><p>Aalborg University<br>Communication &amp; Psychology<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:4\"><h3 class=\"fp-h3\">Mikael Palner<\/h3><span class=\"fp-role\"><\/span><p>University of Southern Denmark<br>Department of Clinical Research<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:5\"><h3 class=\"fp-h3\">Eugenio Gutierrez Jimenez<\/h3><span class=\"fp-role\"><\/span><p>Aarhus University<br>Biomedicine and Clinical Medicine<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:6\"><h3 class=\"fp-h3\">Gitta W\u00f6rtwein<\/h3><span class=\"fp-role\"><\/span><p>University of Copenhagen<br>Laboratory of Neuropsychiatry<\/p><\/li>\n      <li class=\"fp-member\" data-reveal=\"line\" style=\"--i:7\"><h3 class=\"fp-h3\">Bettina Hjelm Clausen<\/h3><span class=\"fp-role\"><\/span><p>University of Southern Denmark<br>Department of Molecular Medicine<\/p><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ============ MY DSFN ============ -->\n<section class=\"fp-section fp-my\" id=\"mydsfn\" aria-labelledby=\"fp-my-h\">\n  <!-- Stockbilleder fra Pexels (fri licens). Skift src for at bruge egne billeder. -->\n  <div class=\"fp-my__bgs\" aria-hidden=\"true\">\n    <div class=\"fp-my__bg\"><img src=\"https:\/\/images.pexels.com\/photos\/1181244\/pexels-photo-1181244.jpeg?auto=compress&cs=tinysrgb&w=1920\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"fp-my__bg\"><img src=\"https:\/\/images.pexels.com\/photos\/2774556\/pexels-photo-2774556.jpeg?auto=compress&cs=tinysrgb&w=1920\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"fp-my__bg\"><img src=\"https:\/\/images.pexels.com\/photos\/1181396\/pexels-photo-1181396.jpeg?auto=compress&cs=tinysrgb&w=1920\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"fp-my__bg\"><img src=\"https:\/\/images.pexels.com\/photos\/4033148\/pexels-photo-4033148.jpeg?auto=compress&cs=tinysrgb&w=1920\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/div>\n  <\/div>\n\n  <div class=\"fp-wrap fp-my__grid\">\n    <div class=\"fp-my__head\">\n      <h2 class=\"fp-h2 fp-split\" id=\"fp-my-h\">My DSfN<\/h2>\n      <p data-reveal style=\"--i:1\">Log in to manage your membership and use your member benefits, or join the society.<\/p>\n    <\/div>\n    <ul class=\"fp-portals\">\n      <li class=\"fp-portal\" data-reveal=\"line\" style=\"--i:0\"><a href=\"https:\/\/3886.foreninglet.dk\/memberportal\/dashboard\" target=\"_blank\" rel=\"noopener\"><strong>My Account<\/strong><span>Update your details and pay your membership fee<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n      <li class=\"fp-portal\" data-reveal=\"line\" style=\"--i:1\"><a href=\"https:\/\/www.fens.org\/members\/login\" target=\"_blank\" rel=\"noopener\"><strong>FENS login<\/strong><span>Your European membership through DSfN<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n      <li class=\"fp-portal\" data-reveal=\"line\" style=\"--i:2\"><a href=\"https:\/\/connect.neuroscienceacademydenmark.dk\/login\" target=\"_blank\" rel=\"noopener\"><strong>NAD Connect<\/strong><span>The network platform of Neuroscience Academy Denmark<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 14 14 6m-7 0h7v7\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n      <li class=\"fp-portal fp-portal--join\" data-reveal=\"line\" style=\"--i:3\"><a href=\"https:\/\/dsfn.dk\/join-dsfn\/\"><strong>Join DSfN<\/strong><span>Apply for membership and become part of the community<\/span><svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><\/li>\n    <\/ul>\n  <\/div>\n<\/section>\n\n<!-- ============ FOOTER ============ -->\n<footer class=\"fp-footer\" id=\"fp-footer\">\n  <svg class=\"fp-ft-axons\" id=\"fp-ft-axons\" aria-hidden=\"true\"><\/svg>\n\n  <a class=\"fp-ftop\" id=\"fp-ftop\" href=\"#top\" aria-label=\"Back to top\">\n    <span class=\"fp-ftop__label\"><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M12 19V5m-6 6 6-6 6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>Back to top<\/span>\n  <\/a>\n\n  <div class=\"fp-wrap\">\n    <a class=\"fp-footer__logo\" href=\"https:\/\/dsfn.dk\/\" aria-label=\"Danish Society for Neuroscience, home\">\n      <span class=\"fp-trace\" data-logo=\"white\" data-trace=\"footer\">\n        <img decoding=\"async\" src=\"https:\/\/dsfn.udvikling360.dk\/wp-content\/uploads\/2026\/09\/dsfn-logo-hvid.svg\" alt=\"Danish Society for Neuroscience\" loading=\"lazy\">\n      <\/span>\n    <\/a>\n\n    <div class=\"fp-footer__main\">\n      <div class=\"fp-footer__pitch\">\n        <p class=\"fp-footer__title fp-split\" id=\"fp-ft-title\" style=\"--step:22ms\">Advancing neuroscience in Denmark, together.<\/p>\n        <div class=\"fp-footer__actions\" data-ft style=\"--i:4\">\n          <a class=\"fp-btn fp-btn--red\" href=\"https:\/\/dsfn.dk\/join-dsfn\/\">Join DSfN <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M3 10h13m-5-5 5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <a class=\"fp-btn fp-btn--ghost\" href=\"https:\/\/dsfn.dk\/contact\/\">Contact us<\/a>\n        <\/div>\n      <\/div>\n\n      <nav class=\"fp-footer__nav\" aria-label=\"Footer\">\n        <div data-ft style=\"--i:2\">\n          <h3 class=\"fp-h3\"><span class=\"fp-node\" data-node><\/span>About<\/h3>\n          <ul>\n            <li><a href=\"https:\/\/dsfn.dk\/board\/\">Board<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/statutes\/\">Statutes<\/a><\/li>\n          <\/ul>\n        <\/div>\n        <div data-ft style=\"--i:3\">\n          <h3 class=\"fp-h3\"><span class=\"fp-node\" data-node><\/span>My DSfN<\/h3>\n          <ul>\n            <li><a href=\"https:\/\/3886.foreninglet.dk\/memberportal\/dashboard\">My Account<\/a><\/li>\n            <li><a href=\"https:\/\/www.fens.org\/members\/login\">FENS login<\/a><\/li>\n            <li><a href=\"https:\/\/connect.neuroscienceacademydenmark.dk\/login\">NAD Connect<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/join-dsfn\/\">Join DSFN<\/a><\/li>\n          <\/ul>\n        <\/div>\n        <div data-ft style=\"--i:4\">\n          <h3 class=\"fp-h3\"><span class=\"fp-node\" data-node><\/span>Archive<\/h3>\n          <ul>\n            <li><a href=\"https:\/\/dsfn.dk\/all-news\/\">News<\/a><\/li>\n            <li><a href=\"https:\/\/dsfn.dk\/all-events\/\">Events<\/a><\/li>\n            <li><a href=\"https:\/\/bsky.app\/profile\/danishsfn.bsky.social\" target=\"_blank\" rel=\"noopener\">Bluesky<\/a><\/li>\n          <\/ul>\n        <\/div>\n        <div data-ft style=\"--i:5\">\n          <h3 class=\"fp-h3\"><span class=\"fp-node\" data-node><\/span>Contact<\/h3>\n          <address>\n            Ottiliavej 9<br>2500 Valby<br>\n            <a href=\"mailto:adm@dsfn.dk\">adm@dsfn.dk<\/a>\n          <\/address>\n        <\/div>\n      <\/nav>\n    <\/div>\n\n    <div class=\"fp-footer__base\" data-ft style=\"--i:6\">\n      <span>CVR 32805426. \u00a9 <span id=\"fp-year\">2026<\/span> Danish Society for Neuroscience<\/span>\n      <ul>\n        <li><a href=\"https:\/\/dsfn.dk\/terms-conditions\/\">Terms and conditions<\/a><\/li>\n        <li><a href=\"https:\/\/dsfn.dk\/privacy\/\">Privacy<\/a><\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/footer>\n\n<script>\n(function(){\n  var root = document.getElementById('dsfn-fp');\n  if(!root) return;\n  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var $ = function(s,c){return (c||root).querySelector(s)};\n  var $$ = function(s,c){return Array.prototype.slice.call((c||root).querySelectorAll(s))};\n  var each = function(list, fn){ Array.prototype.forEach.call(list, fn) };\n  var yr = $('#fp-year'); if(yr) yr.textContent = new Date().getFullYear();\n\n  \/* ---------- Logo: indl\u00e6s SVG inline og tegn den op ---------- *\/\n  var LOGOS = { white: root.getAttribute('data-logo-white'), black: root.getAttribute('data-logo-black') };\n  var svgCache = {}, uid = 0;\n  function getSvg(url){\n    if(!svgCache[url]){\n      svgCache[url] = fetch(url, {credentials:'same-origin'})\n        .then(function(r){ if(!r.ok) throw new Error('svg'); return r.text() })\n        .then(function(t){ if(t.indexOf('<svg') < 0) throw new Error('svg'); return t });\n    }\n    return svgCache[url];\n  }\n  function inlineLogo(holder){\n    if(holder._svg) return Promise.resolve(holder._svg);\n    return getSvg(LOGOS[holder.getAttribute('data-logo')]).then(function(text){\n      var pfx = 'fpl' + (++uid) + '-';\n      var doc = new DOMParser().parseFromString(text, 'image\/svg+xml');\n      var svg = doc.documentElement;\n      if(!svg || svg.nodeName.toLowerCase() !== 'svg' || doc.getElementsByTagName('parsererror').length) throw new Error('svg');\n      \/* Unikke id'er og klasser, s\u00e5 flere logoer p\u00e5 siden ikke p\u00e5virker hinanden *\/\n      var ids = {};\n      each(svg.querySelectorAll('[id]'), function(el){ ids[el.id] = pfx + el.id; el.id = pfx + el.id });\n      var fixRefs = function(str){ return str.replace(\/url\\(\\s*['\"]?#([^'\")\\s]+)['\"]?\\s*\\)\/g, function(m, id){ return ids[id] ? 'url(#' + ids[id] + ')' : m }) };\n      var prefixClasses = function(el){\n        var c = el.getAttribute('class');\n        if(c) el.setAttribute('class', c.split(\/\\s+\/).filter(Boolean).map(function(x){ return pfx + x }).join(' '));\n      };\n      each(svg.querySelectorAll('*'), function(el){\n        each(el.attributes, function(a){\n          if(a.name === 'href' || a.name === 'xlink:href'){ if(a.value.charAt(0) === '#' && ids[a.value.slice(1)]) a.value = '#' + ids[a.value.slice(1)] }\n          else if(a.value.indexOf('url(') > -1){ a.value = fixRefs(a.value) }\n        });\n        prefixClasses(el);\n      });\n      prefixClasses(svg);\n      svg.setAttribute('class', ((svg.getAttribute('class') || '') + ' ' + pfx + 'root').trim());\n      each(svg.querySelectorAll('style'), function(st){\n        st.textContent = fixRefs(st.textContent).replace(\/([^{}]+)\\{\/g, function(m, sel){\n          var s = sel.trim();\n          if(!s || s.charAt(0) === '@' || \/^(from|to|\\d)\/.test(s)) return m;\n          return s.split(',').map(function(one){\n            one = one.trim()\n              .replace(\/\\.(-?[A-Za-z_][\\w-]*)\/g, '.' + pfx + '$1')\n              .replace(\/#([A-Za-z_][\\w-]*)\/g, function(mm, id){ return ids[id] ? '#' + ids[id] : mm });\n            return '.' + pfx + 'root ' + one;\n          }).join(',') + '{';\n        });\n      });\n      if(!svg.getAttribute('viewBox')){\n        var w = parseFloat(svg.getAttribute('width')), h = parseFloat(svg.getAttribute('height'));\n        if(w && h) svg.setAttribute('viewBox', '0 0 ' + w + ' ' + h);\n      }\n      svg.removeAttribute('width'); svg.removeAttribute('height');\n      svg.setAttribute('aria-hidden', 'true'); svg.setAttribute('focusable', 'false');\n      svg.setAttribute('preserveAspectRatio', 'xMinYMid meet');\n      var node = document.importNode(svg, true);\n      holder.appendChild(node);\n      holder._svg = node;\n      return node;\n    });\n  }\n  function traceSvg(holder, svg, delay){\n    var shapes = $$('path,circle,ellipse,rect,polygon,polyline,line', svg).filter(function(el){\n      return !el.closest('defs,clipPath,mask,symbol,pattern,marker') && typeof el.getTotalLength === 'function';\n    });\n    var vb = svg.viewBox && svg.viewBox.baseVal, box = svg.getBoundingClientRect();\n    var scale = vb && vb.width && box.width ? Math.max(vb.width \/ box.width, vb.height \/ box.height) : 1;\n    var sw = 1.1 * scale, n = shapes.length, spread = Math.min(1100, n * 55), prepared = [];\n    shapes.forEach(function(el, i){\n      var len = 0; try{ len = el.getTotalLength() }catch(e){}\n      if(!len) return;\n      var cs = getComputedStyle(el);\n      var hasFill = cs.fill && cs.fill !== 'none';\n      var hasStroke = cs.stroke && cs.stroke !== 'none' && parseFloat(cs.strokeWidth) > 0;\n      prepared.push({el:el, len:len, hasFill:hasFill, hasStroke:hasStroke, fill:cs.fill, fillOp:cs.fillOpacity || 1, d:delay + (n > 1 ? i \/ (n - 1) * spread : 0), orig:el.getAttribute('style')});\n    });\n    prepared.forEach(function(p){\n      var s = p.el.style;\n      if(!p.hasStroke){ s.stroke = p.hasFill ? p.fill : '#fff'; s.strokeWidth = sw }\n      s.strokeDasharray = p.len; s.strokeDashoffset = p.len;\n      s.strokeLinecap = 'round'; s.strokeLinejoin = 'round';\n      if(p.hasFill) s.fillOpacity = 0;\n    });\n    each(svg.querySelectorAll('text'), function(t){ t.style.opacity = 0 });\n    svg.parentNode.classList.add('is-inline');\n    var total = 0;\n    prepared.forEach(function(p){\n      var drawDur = 1500;\n      p.el.animate([{strokeDashoffset:String(p.len)},{strokeDashoffset:'0'}], {duration:drawDur, delay:p.d, easing:'cubic-bezier(.45,0,.2,1)', fill:'forwards'});\n      if(p.hasFill){\n        p.el.animate([{fillOpacity:0},{fillOpacity:p.fillOp}], {duration:800, delay:p.d + 1000, easing:'ease-out', fill:'forwards'});\n        if(!p.hasStroke) p.el.animate([{strokeOpacity:1},{strokeOpacity:0}], {duration:600, delay:p.d + 1400, easing:'ease-out', fill:'forwards'});\n      }\n      total = Math.max(total, p.d + 2100);\n    });\n    each(svg.querySelectorAll('text'), function(t){ t.animate([{opacity:0},{opacity:1}], {duration:900, delay:delay + 900, fill:'forwards'}) });\n    \/* Ryd op, s\u00e5 logoet st\u00e5r pr\u00e6cis som den originale SVG bagefter *\/\n    setTimeout(function(){\n      prepared.forEach(function(p){\n        p.el.getAnimations().forEach(function(a){ a.cancel() });\n        if(p.orig === null) p.el.removeAttribute('style'); else p.el.setAttribute('style', p.orig);\n      });\n      each(svg.querySelectorAll('text'), function(t){ t.getAnimations().forEach(function(a){ a.cancel() }); t.style.opacity = '' });\n    }, total + 50);\n  }\n  function revealLogo(holder, delay){\n    if(holder._done) return; holder._done = true;\n    if(reduce || typeof Element.prototype.animate !== 'function'){ holder.classList.add('is-fallback'); return }\n    var started = performance.now();\n    inlineLogo(holder).then(function(svg){\n      var wait = Math.max(0, delay - (performance.now() - started));\n      requestAnimationFrame(function(){ traceSvg(holder, svg, wait) });\n    }).catch(function(){\n      holder.style.setProperty('animation-delay', delay + 'ms');\n      holder.classList.add('is-fallback');\n    });\n  }\n  \/* Hent logoerne med det samme, s\u00e5 de er klar til intro *\/\n  $$('.fp-trace').forEach(function(h){ if(!reduce) inlineLogo(h).catch(function(){}) });\n\n  \/* ---------- Bogstav-split ---------- *\/\n  function splitChars(el){\n    var label = el.textContent.replace(\/\\s+\/g,' ').trim();\n    el.setAttribute('aria-label', label);\n    var idx = 0;\n    var targets = el.querySelectorAll('.ln').length ? el.querySelectorAll('.ln') : [el];\n    each(targets, function(t){\n      var words = t.textContent.replace(\/\\s+\/g,' ').trim().split(' ');\n      t.textContent = '';\n      t.setAttribute('aria-hidden','true');\n      words.forEach(function(w, wi){\n        var ws = document.createElement('span'); ws.className = 'w';\n        each(w, function(ch){\n          var c = document.createElement('span'); c.className = 'c'; c.textContent = ch;\n          c.style.setProperty('--ci', idx++); ws.appendChild(c);\n        });\n        t.appendChild(ws);\n        if(wi < words.length - 1){ t.appendChild(document.createTextNode(' ')); idx++ }\n      });\n    });\n  }\n  $$('.fp-split').forEach(splitChars);\n\n  \/* ---------- Statement: ord for ord ---------- *\/\n  var st = $('#fp-statement'), words = [];\n  if(st){\n    var txt = st.textContent.trim();\n    st.setAttribute('aria-label', txt);\n    st.textContent = '';\n    txt.split(\/\\s+\/).forEach(function(w, i, arr){\n      var s = document.createElement('span'); s.className = 'sw'; s.textContent = w; s.setAttribute('aria-hidden','true');\n      st.appendChild(s); if(i < arr.length - 1) st.appendChild(document.createTextNode(' '));\n      words.push(s);\n    });\n  }\n\n  \/* ---------- Scroll-reveal ---------- *\/\n  var revealEls = $$('[data-reveal], .fp-split:not(.fp-h1), [data-trace=\"view\"]').filter(function(el){ return !el.closest('.fp-footer') });\n  if(reduce || !('IntersectionObserver' in window)){\n    revealEls.forEach(function(el){\n      if(el.hasAttribute('data-trace')) revealLogo(el, 0); else el.classList.add('is-in');\n    });\n  } else {\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(en){\n        if(!en.isIntersecting) return;\n        var t = en.target;\n        if(t.hasAttribute('data-trace')) revealLogo(t, 150);\n        else t.classList.add('is-in');\n        io.unobserve(t);\n      });\n    },{threshold:.18, rootMargin:'0px 0px -6% 0px'});\n    revealEls.forEach(function(el){ io.observe(el) });\n  }\n\n  \/* ---------- Header + mobilmenu ---------- *\/\n  var header = $('#fp-header'), hero = $('#fp-hero'), burger = $('.fp-burger'), menu = $('#fp-menu');\n  var lastY = window.scrollY;\n  function onHeader(){\n    var y = window.scrollY, limit = hero ? hero.offsetHeight - 100 : 200;\n    header.classList.toggle('is-solid', y > limit);\n    var hide = y > limit + 200 && y > lastY && !root.classList.contains('menu-open') && !header.contains(document.activeElement) && !header.matches(':hover');\n    header.classList.toggle('is-hidden', hide);\n    lastY = y;\n  }\n  function setMenu(open){\n    root.classList.toggle('menu-open', open);\n    burger.setAttribute('aria-expanded', open);\n    menu.setAttribute('aria-hidden', !open);\n    document.documentElement.style.overflow = open ? 'hidden' : '';\n  }\n  burger.addEventListener('click', function(){ setMenu(!root.classList.contains('menu-open')) });\n  $$('a', menu).forEach(function(a){ a.addEventListener('click', function(){ setMenu(false) }) });\n  document.addEventListener('keydown', function(e){\n    if(e.key !== 'Escape') return;\n    setMenu(false);\n    if(header.contains(document.activeElement)) document.activeElement.blur();\n  });\n\n  \/* ---------- Scroll-drevne effekter ---------- *\/\n  var ticking = false;\n  function onScroll(){\n    ticking = false;\n    onHeader();\n    var vh = window.innerHeight;\n    if(words.length && !reduce){\n      var r = st.getBoundingClientRect();\n      var p = (vh * .88 - r.top) \/ (vh * .55);\n      var n = words.length;\n      for(var i = 0; i < n; i++){\n        var o = Math.max(0, Math.min(1, p * n - i));\n        words[i].style.setProperty('--o', (.14 + o * .86).toFixed(3));\n      }\n    }\n  }\n  window.addEventListener('scroll', function(){ if(!ticking){ ticking = true; requestAnimationFrame(onScroll) } }, {passive:true});\n  onScroll();\n\n  \/* ---------- Medlemskab: scroll-fort\u00e6lling ---------- *\/\n  (function(){\n    var sec = $('#join'), track = $('#fp-join-track'), svg = $('#fp-stage-svg');\n    if(!sec || !track || !svg) return;\n    var NS = 'http:\/\/www.w3.org\/2000\/svg';\n    var CX = 400, CY = 440, R = 88;\n    var clamp = function(v){ return v < 0 ? 0 : v > 1 ? 1 : v };\n    var seg = function(p, a, b){ return clamp((p - a) \/ (b - a)) };\n    var ease = function(t){ return t < .5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) \/ 2 };\n    var outE = function(t){ return 1 - Math.pow(1 - t, 3) };\n    var lerp = function(a, b, t){ return a + (b - a) * t };\n    var seed = 11;\n    var rr = function(){ seed = seed * 16807 % 2147483647; return (seed - 1) \/ 2147483646 };\n    function el(tag, attrs, parent){\n      var e = document.createElementNS(NS, tag);\n      for(var k in attrs) e.setAttribute(k, attrs[k]);\n      if(parent) parent.appendChild(e);\n      return e;\n    }\n    function edgePoint(x, y, r){\n      var a = Math.atan2(y - CY, x - CX);\n      return [CX + Math.cos(a) * r, CY + Math.sin(a) * r];\n    }\n\n    \/* F\u00e6llesskabet: l\u00f8se prikker i baggrunden *\/\n    var field = [], fieldG = $('#fp-field');\n    while(field.length < 70){\n      var fx = rr() * 800, fy = rr() * 800;\n      if(Math.hypot(fx - CX, fy - CY) < 150) continue;\n      field.push({x:fx, y:fy, k:rr() * 2 - 1, el:el('circle', {cx:fx, cy:fy, r:(1.2 + rr() * 2.4).toFixed(1), 'class':'fp-dot', opacity:(.15 + rr() * .3).toFixed(2)}, fieldG)});\n    }\n\n    \/* Linjer fra de to medlemmer *\/\n    var linksG = $('#fp-links');\n    var P1 = {sx:-140, sy:90, x:160, y:210}, P2 = {sx:940, sy:90, x:640, y:210};\n    function quad(A, bend){\n      var e = edgePoint(A.x, A.y, R + 4), mx = (A.x + e[0]) \/ 2, my = (A.y + e[1]) \/ 2;\n      var dx = e[0] - A.x, dy = e[1] - A.y;\n      return {ax:A.x, ay:A.y, cx:mx - dy * bend, cy:my + dx * bend, bx:e[0], by:e[1]};\n    }\n    var q1 = quad(P1, .22), q2 = quad(P2, -.22);\n    var qd = function(q){ return 'M' + q.ax + ' ' + q.ay + ' Q' + q.cx + ' ' + q.cy + ' ' + q.bx + ' ' + q.by };\n    var l1 = el('path', {d:qd(q1), pathLength:1, 'class':'fp-ln fp-ln--strong'}, linksG);\n    var l2 = el('path', {d:qd(q2), pathLength:1, 'class':'fp-ln fp-ln--strong'}, linksG);\n    var qPoint = function(q, t){ var u = 1 - t; return [u * u * q.ax + 2 * u * t * q.cx + t * t * q.bx, u * u * q.ay + 2 * u * t * q.cy + t * t * q.by] };\n\n    \/* Bestyrelsen: otte punkter i en bue *\/\n    var boardG = $('#fp-board'), board = [];\n    for(var b = 0; b < 8; b++){\n      var ang = (-152 + b * (124 \/ 7)) * Math.PI \/ 180;\n      var bx = CX + Math.cos(ang) * 232, by = CY + Math.sin(ang) * 232;\n      var ep = edgePoint(bx, by, R + 4);\n      var ln = el('path', {d:'M' + bx.toFixed(1) + ' ' + by.toFixed(1) + ' L' + ep[0].toFixed(1) + ' ' + ep[1].toFixed(1), pathLength:1, 'class':'fp-ln'}, linksG);\n      var g = el('g', {transform:'translate(' + bx.toFixed(1) + ' ' + by.toFixed(1) + ') scale(0)'}, boardG);\n      el('circle', {r:14, 'class':'fp-bd-o'}, g);\n      var inner = el('circle', {r:14, 'class':'fp-bd-i', transform:'scale(0)'}, g);\n      board.push({g:g, inner:inner, ln:ln, x:bx, y:by});\n    }\n\n    \/* Ekko-ringe ved ans\u00f8gning *\/\n    var echoG = $('#fp-echoes'), echoes = [];\n    for(var e = 0; e < 3; e++) echoes.push(el('circle', {cx:CX, cy:CY, r:R, 'class':'fp-echo', opacity:0}, echoG));\n\n    \/* FENS: en stor ring af prikker til sidst *\/\n    var ringG = $('#fp-ring'), ring = [], RING = 34;\n    for(var i = 0; i < RING; i++){\n      var a = i \/ RING * Math.PI * 2 - Math.PI \/ 2;\n      var rx = CX + Math.cos(a) * 320, ry = CY + Math.sin(a) * 320;\n      var d = el('circle', {cx:0, cy:0, r:i % 5 === 0 ? 8 : 5.5, 'class':'fp-dot' + (i % 5 === 0 ? ' fp-dot--red' : ''), transform:'translate(' + rx.toFixed(1) + ' ' + ry.toFixed(1) + ') scale(0)'}, ringG);\n      var rl = null;\n      if(i % 2 === 0){\n        var ep2 = edgePoint(rx, ry, R * 1.7);\n        rl = el('path', {d:'M' + ep2[0].toFixed(1) + ' ' + ep2[1].toFixed(1) + ' L' + rx.toFixed(1) + ' ' + ry.toFixed(1), pathLength:1, 'class':'fp-ln'}, linksG);\n      }\n      ring.push({el:d, ln:rl, x:rx, y:ry});\n    }\n\n    var prop1 = $('#fp-prop-1'), prop2 = $('#fp-prop-2'), pulses = $$('#fp-pulses circle');\n    var fee1 = $('#fp-fee-1'), fee2 = $('#fp-fee-2'), fee1n = fee1.querySelector('.n'), fee2n = fee2.querySelector('.n');\n    var you = $('#fp-you'), youT = $('#fp-you-t'), check = $('#fp-check'), welcome = $('#fp-welcome'), stripesRect = $('#fp-you-stripes');\n    var pattern = $('#fp-stripe-pat'), steps = $$('#fp-jsteps li'), stepsOl = $('#fp-jsteps'), hint = $('#fp-join-hint'), stripesImg = $('#fp-stripes');\n\n    var ringAngle = 0, lastT = 0;\n    function render(p, t, en){\n      \/* Intro: du og f\u00e6llesskabet toner frem, mens sektionen scroller ind *\/\n      var youIn = outE(seg(en, .25, 1));\n      var fin = ease(seg(p, .86, .96));\n      var breathe = fin > .99 ? 1 + Math.sin(t \/ 700) * .015 : 1;\n      you.setAttribute('transform', 'translate(' + CX + ' ' + CY + ') scale(' + (youIn * lerp(1, 1.7, fin) * breathe).toFixed(4) + ')');\n      var fieldOp = seg(en, 0, .8) * (1 - seg(p, .84, .94) * .75);\n      for(var i = 0; i < field.length; i++){\n        var f = field[i];\n        f.el.setAttribute('transform', 'translate(0 ' + ((p - .5) * -60 * f.k).toFixed(1) + ')');\n      }\n      fieldG.setAttribute('opacity', fieldOp.toFixed(3));\n\n      \/* Trin 1: to medlemmer anbefaler dig *\/\n      var pIn = ease(seg(p, .1, .24)), pOut = ease(seg(p, .6, .7));\n      [[prop1, P1], [prop2, P2]].forEach(function(pp){\n        var x = lerp(pp[1].sx, pp[1].x, pIn), y = lerp(pp[1].sy, pp[1].y, pIn);\n        pp[0].setAttribute('transform', 'translate(' + x.toFixed(1) + ' ' + y.toFixed(1) + ') scale(' + (1 - pOut * .7).toFixed(3) + ')');\n        pp[0].setAttribute('opacity', Math.min(seg(p, .12, .2), 1 - pOut).toFixed(3));\n      });\n      var draw1 = seg(p, .2, .32);\n      [l1, l2].forEach(function(l){ l.style.strokeDashoffset = (1 - draw1).toFixed(4); l.setAttribute('opacity', (1 - pOut).toFixed(3)) });\n      var pulseOp = seg(p, .3, .34) * (1 - pOut);\n      [q1, q2].forEach(function(q, k){\n        var tt = ((t \/ 1300) + k * .5) % 1, pt = qPoint(q, tt);\n        pulses[k].setAttribute('cx', pt[0].toFixed(1)); pulses[k].setAttribute('cy', pt[1].toFixed(1));\n        pulses[k].setAttribute('opacity', (pulseOp * Math.sin(tt * Math.PI)).toFixed(3));\n      });\n\n      \/* Trin 2: ans\u00f8gning og kontingent *\/\n      var sw = ease(seg(p, .38, .52)), swOut = seg(p, .74, .82);\n      stripesRect.setAttribute('width', (176 * sw).toFixed(1));\n      stripesRect.setAttribute('opacity', (1 - swOut).toFixed(3));\n      pattern.setAttribute('patternTransform', 'rotate(-35) translate(' + ((t \/ 60) % 16).toFixed(2) + ' 0)');\n      echoes.forEach(function(c, k){\n        var q = seg(p, .4 + k * .05, .58 + k * .05);\n        c.setAttribute('r', (R + outE(q) * 170).toFixed(1));\n        c.setAttribute('opacity', q > 0 && q < 1 ? ((1 - q) * .7).toFixed(3) : 0);\n      });\n      var fIn = ease(seg(p, .42, .54)), fOut = ease(seg(p, .62, .72));\n      fee1.setAttribute('transform', 'translate(' + lerp(120, 160, fIn).toFixed(1) + ' ' + (lerp(900, 640, fIn) + fOut * 140).toFixed(1) + ') rotate(' + lerp(-20, 0, fIn).toFixed(1) + ')');\n      fee2.setAttribute('transform', 'translate(' + lerp(680, 640, fIn).toFixed(1) + ' ' + (lerp(940, 640, fIn) + fOut * 140).toFixed(1) + ') rotate(' + lerp(20, 0, fIn).toFixed(1) + ')');\n      var feeOp = (seg(p, .47, .54) * (1 - fOut)).toFixed(3);\n      fee1.setAttribute('opacity', feeOp);\n      fee2.setAttribute('opacity', feeOp);\n      var cnt = outE(seg(p, .44, .58));\n      fee1n.textContent = Math.round(200 * cnt);\n      fee2n.textContent = Math.round(350 * cnt);\n\n      \/* Trin 3: bestyrelsen godkender *\/\n      var bOut = seg(p, .86, .94);\n      board.forEach(function(bd, k){\n        var sIn = outE(seg(p, .6 + k * .014, .66 + k * .014));\n        var lit = ease(seg(p, .68 + k * .01, .71 + k * .01));\n        bd.g.setAttribute('transform', 'translate(' + bd.x.toFixed(1) + ' ' + bd.y.toFixed(1) + ') scale(' + (sIn * (1 - bOut * .6)).toFixed(3) + ')');\n        bd.g.setAttribute('opacity', (1 - bOut).toFixed(3));\n        bd.inner.setAttribute('transform', 'scale(' + lit.toFixed(3) + ')');\n        bd.ln.style.strokeDashoffset = (1 - seg(p, .66 + k * .012, .74 + k * .012)).toFixed(4);\n        bd.ln.setAttribute('opacity', (1 - bOut).toFixed(3));\n      });\n      youT.setAttribute('opacity', (1 - seg(p, .74, .78)).toFixed(3));\n      var ck = ease(seg(p, .77, .85));\n      check.style.strokeDashoffset = (1 - ck).toFixed(4);\n      check.setAttribute('transform', 'translate(0 ' + (-26 * fin).toFixed(1) + ') scale(' + lerp(1, .55, fin).toFixed(3) + ')');\n      welcome.setAttribute('opacity', seg(p, .9, .97).toFixed(3));\n\n      \/* Finale: en del af det europ\u00e6iske netv\u00e6rk *\/\n      var dtr = lastT ? Math.min(60, Math.max(0, t - lastT)) : 0; lastT = t;\n      ringAngle = (ringAngle + dtr * .004 * fin) % 360;\n      ringG.setAttribute('transform', 'rotate(' + ringAngle.toFixed(2) + ' ' + CX + ' ' + CY + ')');\n      ring.forEach(function(r, k){\n        var q = outE(seg(p, .84 + k \/ RING * .08, .88 + k \/ RING * .08));\n        r.el.setAttribute('transform', 'translate(' + r.x.toFixed(1) + ' ' + r.y.toFixed(1) + ') scale(' + q.toFixed(3) + ')');\n        if(r.ln) r.ln.style.strokeDashoffset = (1 - seg(p, .88 + k \/ RING * .06, .95 + k \/ RING * .05)).toFixed(4);\n      });\n\n      \/* Venstre kolonne *\/\n      var active = p < .36 ? 0 : p < .6 ? 1 : 2;\n      steps.forEach(function(li, k){\n        li.classList.toggle('is-active', k === active);\n        li.classList.toggle('is-done', k < active || (k === 2 && p > .84));\n      });\n      stepsOl.style.setProperty('--jp', seg(p, .06, .84).toFixed(3));\n      if(hint) hint.style.opacity = (1 - seg(p, .02, .08)).toFixed(3);\n      if(stripesImg) stripesImg.style.transform = 'translate3d(0,' + ((.5 - p) * 160).toFixed(1) + 'px,0) rotate(' + ((p - .5) * 14).toFixed(2) + 'deg)';\n    }\n\n    \/* Ringen og dens linjer samles i \u00e9n gruppe, s\u00e5 de roterer sammen *\/\n    var ringLinks = el('g', {}, linksG.parentNode);\n    linksG.parentNode.insertBefore(ringLinks, linksG);\n    ring.forEach(function(r){ if(r.ln) ringLinks.appendChild(r.ln) });\n    var ringAll = el('g', {}, svg);\n    svg.insertBefore(ringAll, ringG);\n    ringAll.appendChild(ringLinks); ringAll.appendChild(ringG);\n    ringG = ringAll;\n\n    if(reduce){\n      sec.classList.add('is-static');\n      render(1, 0, 1);\n      return;\n    }\n\n    var cur = 0, target = 0, curE = 0, targetE = 0, active = false, raf = 0, last = 0;\n    function measure(){\n      var r = track.getBoundingClientRect(), vh = window.innerHeight, total = track.offsetHeight - vh;\n      target = total > 0 ? clamp(-r.top \/ total) : 0;\n      targetE = clamp((vh - r.top) \/ vh);\n    }\n    function frame(now){\n      raf = 0;\n      if(!active) return;\n      var dt = Math.min(60, now - (last || now)); last = now;\n      measure();\n      var k = 1 - Math.exp(-dt \/ 110);\n      cur += (target - cur) * k; curE += (targetE - curE) * k;\n      if(Math.abs(target - cur) < .0004) cur = target;\n      render(cur, now, curE);\n      raf = requestAnimationFrame(frame);\n    }\n    measure(); cur = target; curE = targetE; render(cur, performance.now(), curE);\n    if('IntersectionObserver' in window){\n      new IntersectionObserver(function(en){\n        active = en[0].isIntersecting;\n        if(active && !raf){ last = 0; raf = requestAnimationFrame(frame) }\n      }, {rootMargin:'200px 0px'}).observe(sec);\n    } else { active = true; raf = requestAnimationFrame(frame) }\n  })();\n\n  \/* ---------- My DSfN: billedbaggrund ved hover ---------- *\/\n  (function(){\n    var my = $('#mydsfn');\n    if(!my) return;\n    var rows = $$('.fp-portal', my), bgs = $$('.fp-my__bg', my), list = $('.fp-portals', my);\n    var current = -1, openT = 0, closeT = 0, settleT = 0;\n    function apply(i){\n      current = i;\n      bgs.forEach(function(b, k){ b.classList.toggle('is-active', k === i) });\n      rows.forEach(function(r, k){ r.classList.toggle('is-hover', k === i) });\n      my.classList.toggle('has-bg', i >= 0);\n      clearTimeout(settleT);\n      if(i < 0) my.classList.remove('is-open');\n      else if(!my.classList.contains('is-open')) settleT = setTimeout(function(){ my.classList.add('is-open') }, 900);\n    }\n    \/* Lille forsinkelse, s\u00e5 baggrunden ikke springer frem, n\u00e5r musen bare passerer forbi *\/\n    function request(i){\n      clearTimeout(closeT);\n      if(i < 0){ clearTimeout(openT); closeT = setTimeout(function(){ apply(-1) }, 160); return }\n      if(current >= 0){ apply(i); return }\n      clearTimeout(openT);\n      openT = setTimeout(function(){ apply(i) }, 90);\n    }\n    function setOrigin(x, y){\n      var r = my.getBoundingClientRect(), mx = x - r.left, mY = y - r.top;\n      var far = Math.max(Math.hypot(mx, mY), Math.hypot(r.width - mx, mY), Math.hypot(mx, r.height - mY), Math.hypot(r.width - mx, r.height - mY));\n      my.style.setProperty('--mx', mx.toFixed(0) + 'px');\n      my.style.setProperty('--my', mY.toFixed(0) + 'px');\n      my.style.setProperty('--rmax', Math.ceil(far + 20) + 'px');\n    }\n    my.addEventListener('pointermove', function(e){ if(e.pointerType !== 'touch' && current < 0) setOrigin(e.clientX, e.clientY) });\n    rows.forEach(function(row, i){\n      row.addEventListener('pointerenter', function(e){ if(e.pointerType !== 'touch') request(i) });\n      row.addEventListener('focusin', function(){\n        var r = row.getBoundingClientRect();\n        if(current < 0) setOrigin(r.left + r.width * .8, r.top + r.height \/ 2);\n        clearTimeout(openT); clearTimeout(closeT); apply(i);\n      });\n    });\n    list.addEventListener('pointerleave', function(e){ if(e.pointerType !== 'touch') request(-1) });\n    list.addEventListener('focusout', function(e){ if(!list.contains(e.relatedTarget)) apply(-1) });\n    \/* Hent billederne i forvejen, n\u00e5r sektionen n\u00e6rmer sig, s\u00e5 skiftet er \u00f8jeblikkeligt *\/\n    if('IntersectionObserver' in window){\n      var pre = new IntersectionObserver(function(en){\n        if(!en[0].isIntersecting) return;\n        bgs.forEach(function(b){ var img = b.querySelector('img'); img.loading = 'eager'; if(img.decode) img.decode().catch(function(){}) });\n        pre.disconnect();\n      }, {rootMargin:'600px 0px'});\n      pre.observe(my);\n    }\n  })();\n\n  \/* ---------- Footer: gardin, stigende cirkel og nervebaner ---------- *\/\n  (function(){\n    var ft = $('#fp-footer');\n    if(!ft) return;\n    var prev = ft.previousElementSibling, soma = $('#fp-ftop', ft), svg = $('#fp-ft-axons', ft);\n    var title = $('#fp-ft-title', ft), logo = $('[data-trace=\"footer\"]', ft), groups = $$('.fp-footer__nav > div', ft);\n    var NS = 'http:\/\/www.w3.org\/2000\/svg', axons = [], revealed = false, lastR = -1, raf = 0, idleT = 0;\n    var clamp = function(v){ return v < 0 ? 0 : v > 1 ? 1 : v };\n    var ease = function(t){ return 1 - Math.pow(1 - t, 3) };\n    function offsetIn(el){\n      var x = 0, y = 0;\n      while(el && el !== ft){ x += el.offsetLeft; y += el.offsetTop; el = el.offsetParent }\n      return [x, y];\n    }\n    function layout(){\n      \/* Gardin kun n\u00e5r footeren kan v\u00e6re p\u00e5 sk\u00e6rmen p\u00e5 \u00e9n gang *\/\n      ft.classList.remove('is-curtain');\n      if(!reduce && ft.offsetHeight <= window.innerHeight && window.innerWidth > 720) ft.classList.add('is-curtain');\n      var W = ft.offsetWidth, H = ft.offsetHeight;\n      svg.setAttribute('viewBox', '0 0 ' + W + ' ' + H);\n      while(svg.firstChild) svg.removeChild(svg.firstChild);\n      var so = offsetIn(soma), R = soma.offsetWidth \/ 2, sx = so[0] + R, sy = so[1] + R;\n      axons = groups.map(function(g, k){\n        var node = $('[data-node]', g), o = offsetIn(node);\n        var nx = o[0] + node.offsetWidth \/ 2, ny = o[1] + node.offsetHeight \/ 2;\n        var a = Math.atan2(ny - sy, nx - sx);\n        a = Math.max(-Math.PI + .5, Math.min(-.5, a));\n        var ex = sx + Math.cos(a) * R, ey = sy + Math.sin(a) * R;\n        var d = 'M' + nx.toFixed(1) + ' ' + ny.toFixed(1) +\n                ' C' + (nx - 30).toFixed(1) + ' ' + (ny + (ey - ny) * .55).toFixed(1) +\n                ' ' + (ex + (nx - ex) * .25).toFixed(1) + ' ' + (ey - (ey - ny) * .5).toFixed(1) +\n                ' ' + ex.toFixed(1) + ' ' + ey.toFixed(1);\n        var path = document.createElementNS(NS, 'path');\n        path.setAttribute('d', d); path.setAttribute('pathLength', '1');\n        svg.appendChild(path);\n        return {path:path, len:path.getTotalLength(), node:node, group:g, k:k};\n      });\n      lastR = -1; update();\n    }\n    function ring(){\n      var r = document.createElement('span'); r.className = 'fp-ring';\n      r.addEventListener('animationend', function(){ r.remove() });\n      soma.appendChild(r);\n    }\n    function pulse(ax, color){\n      if(reduce || !revealed) return;\n      var dot = document.createElementNS(NS, 'circle');\n      dot.setAttribute('r', 3.2); dot.style.fill = color || '#fff';\n      svg.appendChild(dot);\n      var t0 = performance.now(), dur = 900 + ax.len * .6;\n      (function step(now){\n        var t = Math.min(1, (now - t0) \/ dur), e = t < .5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) \/ 2;\n        var pt = ax.path.getPointAtLength(e * ax.len);\n        dot.setAttribute('cx', pt.x); dot.setAttribute('cy', pt.y);\n        dot.setAttribute('opacity', Math.sin(t * Math.PI) * .9 + .1);\n        if(t < 1) requestAnimationFrame(step); else { dot.remove(); ring() }\n      })(t0);\n    }\n    function idle(){\n      clearTimeout(idleT);\n      idleT = setTimeout(function(){\n        if(revealed && !document.hidden && axons.length) pulse(axons[Math.floor(Math.random() * axons.length)]);\n        idle();\n      }, 2600 + Math.random() * 2400);\n    }\n    function update(){\n      raf = 0;\n      var vh = window.innerHeight, H = ft.offsetHeight;\n      var bottom = prev ? prev.getBoundingClientRect().bottom : ft.getBoundingClientRect().top;\n      var r = clamp((vh - bottom) \/ Math.min(H, vh));\n      if(Math.abs(r - lastR) < .001) return;\n      lastR = r;\n      var e = ease(r), R = soma.offsetWidth \/ 2;\n      soma.style.setProperty('--ry', ((1 - e) * R * .75).toFixed(1) + 'px');\n      var draw = clamp((r - .4) \/ .55);\n      axons.forEach(function(a, k){ a.path.style.strokeDashoffset = (1 - clamp(draw * 1.25 - k * .08)).toFixed(4) });\n      if(r > .3 && !revealed){\n        revealed = true;\n        ft.classList.add('is-in');\n        if(title) title.classList.add('is-in');\n        if(logo) revealLogo(logo, 100);\n        idle();\n      }\n    }\n    groups.forEach(function(g, k){\n      g.addEventListener('pointerenter', function(){ if(axons[k]) pulse(axons[k], '#FF7A66') });\n      g.addEventListener('focusin', function(){ if(axons[k]) pulse(axons[k], '#FF7A66') });\n    });\n    soma.addEventListener('pointerenter', function(){ soma.style.setProperty('--lift', '14px'); ring() });\n    soma.addEventListener('pointerleave', function(){ soma.style.setProperty('--lift', '0px') });\n    soma.addEventListener('click', function(e){\n      e.preventDefault();\n      window.scrollTo({top:0, behavior:reduce ? 'auto' : 'smooth'});\n    });\n    window.addEventListener('scroll', function(){ if(!raf) raf = requestAnimationFrame(update) }, {passive:true});\n    var rt;\n    window.addEventListener('resize', function(){ clearTimeout(rt); rt = setTimeout(layout, 200) });\n    if(document.fonts && document.fonts.ready) document.fonts.ready.then(layout);\n    window.addEventListener('load', layout);\n    layout();\n    if(reduce){ revealed = true; ft.classList.add('is-in'); if(title) title.classList.add('is-in'); soma.style.setProperty('--ry', '0px'); axons.forEach(function(a){ a.path.style.strokeDashoffset = 0 }) }\n  })();\n\n  \/* ---------- Neuralt netv\u00e6rk i hero ---------- *\/\n  function Network(hero, canvas, soma){\n    var ctx = canvas.getContext('2d');\n    var W = 0, H = 0, dpr = 1, nodes = [], edges = [], pulses = [], layer = null;\n    var maxDepth = 1, growStart = 0, grown = false, running = false, visible = true, raf = 0;\n    var last = 0, nextSoma = 0, nextRandom = 0, lastPointer = 0, somaR = 0;\n    var GROW_MS = 1800;\n    \/* D\u00e6mpet udtryk: just\u00e9r disse v\u00e6rdier for at g\u00f8re netv\u00e6rket mere eller mindre tydeligt *\/\n    var LOOK = { axon:.16, dendrite:.07, node:.3, trail:.18, glow:.05, head:.6, nodeGlow:.07, nodeCore:.55 };\n    var COLORS = { mist:[196,214,250], teal:[92,206,236], red:[255,120,100] };\n    function rnd(a,b){ return a + Math.random() * (b - a) }\n\n    function build(){\n      var hr = hero.getBoundingClientRect(), sr = soma.getBoundingClientRect();\n      W = hr.width; H = hr.height; dpr = Math.min(window.devicePixelRatio || 1, 2);\n      canvas.width = Math.round(W * dpr); canvas.height = Math.round(H * dpr);\n      canvas.style.width = W + 'px'; canvas.style.height = H + 'px';\n      var sx = sr.left - hr.left + sr.width \/ 2, sy = sr.top - hr.top + sr.height \/ 2;\n      somaR = sr.width \/ 2 \/ (parseFloat(getComputedStyle(soma).scale) || 1);\n      if(!isFinite(somaR) || somaR < 10) somaR = Math.min(W, H) * .2;\n\n      nodes = [{x:sx, y:sy, r:0, soma:true, edges:[], act:0, ref:0, depth:0}];\n      var count = Math.round(Math.min(170, Math.max(55, W * H \/ 8200)));\n      var minGap = W < 720 ? 22 : 28, guard = 0, reach = Math.max(W, H) * .62;\n      while(nodes.length < count && guard++ < count * 30){\n        var x, y;\n        if(Math.random() < .64){\n          var a = Math.random() * Math.PI * 2, d = somaR * 1.08 + Math.pow(Math.random(), .85) * reach;\n          x = sx + Math.cos(a) * d; y = sy + Math.sin(a) * d * .82;\n        } else { x = rnd(-30, W + 30); y = rnd(-30, H + 30) }\n        if(x < -50 || x > W + 50 || y < -50 || y > H + 50) continue;\n        if(Math.hypot(x - sx, y - sy) < somaR * 1.05) continue;\n        var ok = true;\n        for(var k = 1; k < nodes.length; k++){ if(Math.hypot(nodes[k].x - x, nodes[k].y - y) < minGap){ ok = false; break } }\n        if(!ok) continue;\n        nodes.push({x:x, y:y, r:rnd(.9, 2.1), edges:[], act:0, ref:0, depth:Infinity});\n      }\n\n      edges = []; var seen = {};\n      function anchor(n, tx, ty){\n        if(!n.soma) return [n.x, n.y];\n        var ang = Math.atan2(ty - n.y, tx - n.x);\n        return [n.x + Math.cos(ang) * somaR * .97, n.y + Math.sin(ang) * somaR * .97];\n      }\n      function link(i, j){\n        var key = i < j ? i + '_' + j : j + '_' + i;\n        if(seen[key]) return; seen[key] = 1;\n        var A = nodes[i], B = nodes[j];\n        var dx = B.x - A.x, dy = B.y - A.y, bend = rnd(-.26, .26);\n        var cx = (A.x + B.x) \/ 2 - dy * bend, cy = (A.y + B.y) \/ 2 + dx * bend;\n        var a0 = anchor(A, cx, cy), b0 = anchor(B, cx, cy), pts = [], N = 22, L = 0;\n        for(var t = 0; t <= N; t++){\n          var u = t \/ N, iu = 1 - u;\n          var px = iu * iu * a0[0] + 2 * iu * u * cx + u * u * b0[0];\n          var py = iu * iu * a0[1] + 2 * iu * u * cy + u * u * b0[1];\n          if(t) L += Math.hypot(px - pts[t-1][0], py - pts[t-1][1]);\n          pts.push([px, py]);\n        }\n        var e = {a:i, b:j, pts:pts, len:Math.max(L, 1), w:(A.soma || B.soma) ? 1.6 : 1};\n        edges.push(e); A.edges.push(edges.length - 1); B.edges.push(edges.length - 1);\n      }\n      var bySoma = [];\n      for(var i = 1; i < nodes.length; i++) bySoma.push([i, Math.hypot(nodes[i].x - sx, nodes[i].y - sy)]);\n      bySoma.sort(function(p, q){ return p[1] - q[1] });\n      var somaLinks = W < 720 ? 8 : 13;\n      for(var s = 0; s < somaLinks && s < bySoma.length; s++) link(0, bySoma[s][0]);\n      for(var m = 1; m < nodes.length; m++){\n        var ds = [];\n        for(var n = 1; n < nodes.length; n++){ if(n !== m) ds.push([n, (nodes[m].x - nodes[n].x) * (nodes[m].x - nodes[n].x) + (nodes[m].y - nodes[n].y) * (nodes[m].y - nodes[n].y)]) }\n        ds.sort(function(p, q){ return p[1] - q[1] });\n        var kk = Math.random() < .38 ? 3 : 2;\n        for(var q = 0; q < kk && q < ds.length; q++){ if(ds[q][1] < 190 * 190) link(m, ds[q][0]) }\n      }\n\n      \/* Afstand fra soma bestemmer v\u00e6kst-r\u00e6kkef\u00f8lgen *\/\n      var queue = [0]; nodes[0].depth = 0; maxDepth = 0;\n      while(queue.length){\n        var cur = queue.shift();\n        nodes[cur].edges.forEach(function(ei){\n          var e = edges[ei], o = e.a === cur ? e.b : e.a;\n          if(nodes[o].depth === Infinity){ nodes[o].depth = nodes[cur].depth + 1; maxDepth = Math.max(maxDepth, nodes[o].depth); queue.push(o) }\n        });\n      }\n      nodes.forEach(function(nd){ if(nd.depth === Infinity) nd.depth = maxDepth + 1 });\n      maxDepth += 1;\n      edges.forEach(function(e){\n        var da = nodes[e.a].depth, db = nodes[e.b].depth;\n        e.depth = Math.min(da, db); e.fwd = da <= db;\n      });\n      pulses = []; layer = null;\n    }\n\n    function pathEdge(c, e, frac){\n      var pts = e.pts, n = pts.length - 1, end = frac * n, fl = Math.floor(end);\n      var P = function(i){ return e.fwd ? pts[i] : pts[n - i] };\n      c.beginPath(); c.moveTo(P(0)[0], P(0)[1]);\n      for(var i = 1; i <= fl; i++) c.lineTo(P(i)[0], P(i)[1]);\n      if(fl < n){ var p0 = P(fl), p1 = P(fl + 1), u = end - fl; c.lineTo(p0[0] + (p1[0] - p0[0]) * u, p0[1] + (p1[1] - p0[1]) * u) }\n      c.lineWidth = e.w;\n      c.strokeStyle = 'rgba(180,198,239,' + (e.w > 1 ? LOOK.axon : LOOK.dendrite) + ')';\n      c.stroke();\n    }\n    function drawNet(c, g){\n      c.lineCap = 'round';\n      for(var i = 0; i < edges.length; i++){\n        var f = Math.min(1, Math.max(0, g - edges[i].depth));\n        if(f > 0) pathEdge(c, edges[i], f);\n      }\n      for(var j = 1; j < nodes.length; j++){\n        var nd = nodes[j], a = Math.min(1, Math.max(0, g - nd.depth + .3));\n        if(a <= 0) continue;\n        c.beginPath(); c.arc(nd.x, nd.y, nd.r, 0, 6.2832);\n        c.fillStyle = 'rgba(196,214,250,' + (LOOK.node * a).toFixed(3) + ')'; c.fill();\n      }\n    }\n    function bake(){\n      layer = document.createElement('canvas');\n      layer.width = canvas.width; layer.height = canvas.height;\n      var lc = layer.getContext('2d'); lc.setTransform(dpr, 0, 0, dpr, 0, 0);\n      drawNet(lc, maxDepth + 2);\n    }\n    function ring(){\n      var r = document.createElement('span'); r.className = 'fp-ring';\n      r.addEventListener('animationend', function(){ r.remove() });\n      soma.appendChild(r);\n    }\n    function fire(i, gen, maxGen, col){\n      var nd = nodes[i], now = performance.now();\n      if(!nd || now < nd.ref) return;\n      nd.ref = now + (nd.soma ? 400 : 650); nd.act = 1; nd.col = col;\n      if(nd.soma) ring();\n      if(gen >= maxGen) return;\n      for(var k = 0; k < nd.edges.length; k++){\n        if(pulses.length > 240) break;\n        if(!nd.soma && gen > 0 && Math.random() > .55) continue;\n        var e = edges[nd.edges[k]];\n        pulses.push({e:e, fromA:e.a === i, t:0, v:rnd(.24, .42), gen:gen, maxGen:maxGen, col:col});\n      }\n    }\n    function pointAt(e, fromA, t){\n      var pts = e.pts, n = pts.length - 1, tt = fromA ? t : 1 - t, f = tt * n, i = Math.min(n - 1, Math.floor(f)), u = f - i;\n      return [pts[i][0] + (pts[i+1][0] - pts[i][0]) * u, pts[i][1] + (pts[i+1][1] - pts[i][1]) * u];\n    }\n    function frame(now){\n      raf = 0;\n      if(!running || !visible) return;\n      var dt = Math.min(48, now - (last || now)); last = now;\n      ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n      ctx.clearRect(0, 0, W, H);\n\n      if(!grown){\n        var g = (now - growStart) \/ GROW_MS * (maxDepth + 1.5);\n        drawNet(ctx, g);\n        if(g >= maxDepth + 1.5){ grown = true; bake(); nextSoma = now + 300; nextRandom = now + 1800 }\n      } else {\n        ctx.drawImage(layer, 0, 0, W, H);\n        if(now > nextSoma){ fire(0, 0, 6, Math.random() < .3 ? 'red' : 'mist'); nextSoma = now + rnd(3000, 4800) }\n        if(now > nextRandom){ fire(1 + Math.floor(Math.random() * (nodes.length - 1)), 0, 3, 'teal'); nextRandom = now + rnd(1400, 2600) }\n      }\n\n      ctx.globalCompositeOperation = 'lighter';\n      for(var p = pulses.length - 1; p >= 0; p--){\n        var pu = pulses[p];\n        pu.t += pu.v * dt \/ pu.e.len;\n        if(pu.t >= 1){\n          pulses.splice(p, 1);\n          fire(pu.fromA ? pu.e.b : pu.e.a, pu.gen + 1, pu.maxGen, pu.col);\n          continue;\n        }\n        var c = COLORS[pu.col], head = pointAt(pu.e, pu.fromA, pu.t), tail = Math.max(0, pu.t - 28 \/ pu.e.len);\n        ctx.beginPath();\n        for(var s = 0; s <= 6; s++){\n          var pt = pointAt(pu.e, pu.fromA, tail + (pu.t - tail) * s \/ 6);\n          if(s) ctx.lineTo(pt[0], pt[1]); else ctx.moveTo(pt[0], pt[1]);\n        }\n        ctx.strokeStyle = 'rgba(' + c + ',' + LOOK.trail + ')'; ctx.lineWidth = 1.4; ctx.stroke();\n        ctx.beginPath(); ctx.arc(head[0], head[1], 6, 0, 6.2832); ctx.fillStyle = 'rgba(' + c + ',' + LOOK.glow + ')'; ctx.fill();\n        ctx.beginPath(); ctx.arc(head[0], head[1], 1.6, 0, 6.2832); ctx.fillStyle = 'rgba(' + c + ',' + LOOK.head + ')'; ctx.fill();\n      }\n      for(var j = 1; j < nodes.length; j++){\n        var nd = nodes[j];\n        if(nd.act < .02) continue;\n        var cc = COLORS[nd.col || 'mist'];\n        ctx.beginPath(); ctx.arc(nd.x, nd.y, 9 * nd.act + 2, 0, 6.2832); ctx.fillStyle = 'rgba(' + cc + ',' + (LOOK.nodeGlow * nd.act).toFixed(3) + ')'; ctx.fill();\n        ctx.beginPath(); ctx.arc(nd.x, nd.y, nd.r + 1.2 * nd.act, 0, 6.2832); ctx.fillStyle = 'rgba(' + cc + ',' + (LOOK.nodeCore * nd.act).toFixed(3) + ')'; ctx.fill();\n        nd.act *= Math.exp(-dt \/ 480);\n      }\n      ctx.globalCompositeOperation = 'source-over';\n      raf = requestAnimationFrame(frame);\n    }\n    function loop(){ if(!raf && running && visible){ last = 0; raf = requestAnimationFrame(frame) } }\n\n    this.start = function(){\n      build();\n      if(reduce){ ctx.setTransform(dpr, 0, 0, dpr, 0, 0); drawNet(ctx, maxDepth + 2); return }\n      growStart = performance.now(); grown = false; running = true; loop();\n    };\n\n    \/* Interaktion: musen affyrer n\u00e6rmeste neuron *\/\n    if(!reduce){\n      hero.addEventListener('pointermove', function(e){\n        var hr = hero.getBoundingClientRect(), mx = e.clientX - hr.left, my = e.clientY - hr.top;\n        canvas.style.transform = 'translate3d(' + ((mx \/ W - .5) * -14).toFixed(1) + 'px,' + ((my \/ H - .5) * -10).toFixed(1) + 'px,0)';\n        var now = performance.now();\n        if(!grown || now - lastPointer < 90) return;\n        lastPointer = now;\n        var best = -1, bd = 70 * 70;\n        for(var i = 1; i < nodes.length; i++){\n          var d = (nodes[i].x - mx) * (nodes[i].x - mx) + (nodes[i].y - my) * (nodes[i].y - my);\n          if(d < bd){ bd = d; best = i }\n        }\n        if(best > 0) fire(best, 0, 3, 'teal');\n      });\n      soma.style.pointerEvents = 'auto';\n      soma.style.cursor = 'pointer';\n      soma.addEventListener('click', function(){ if(grown){ nodes[0].ref = 0; fire(0, 0, 9, 'red') } });\n      if('IntersectionObserver' in window){\n        new IntersectionObserver(function(en){ visible = en[0].isIntersecting; loop() }).observe(hero);\n      }\n      document.addEventListener('visibilitychange', function(){ visible = !document.hidden; loop() });\n      var rt;\n      window.addEventListener('resize', function(){\n        clearTimeout(rt);\n        rt = setTimeout(function(){\n          var w = hero.getBoundingClientRect().width;\n          if(Math.abs(w - W) < 2 && Math.abs(hero.offsetHeight - H) < 120) return;\n          build(); grown = true; bake(); loop();\n        }, 220);\n      });\n    }\n  }\n\n  \/* ---------- Intro-sekvens ---------- *\/\n  var net = hero ? new Network(hero, $('#fp-net'), $('#fp-soma')) : null;\n  var started = false;\n  function intro(){\n    if(started) return; started = true;\n    root.classList.add('is-ready');\n    var h1 = $('#fp-h1'); if(h1) h1.classList.add('is-in');\n    $$('[data-trace=\"intro\"]').forEach(function(h){ revealLogo(h, reduce ? 0 : 800) });\n    if(net) setTimeout(function(){ net.start() }, reduce ? 0 : 420);\n  }\n  if(document.fonts && document.fonts.ready){\n    document.fonts.ready.then(intro);\n    setTimeout(intro, 1400);\n  } else { intro() }\n})();\n<\/script>\n<\/div>\n<!-- ===================== DSFN FORSIDE SLUT ===================== -->\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Danish Society for Neuroscience Home About Board Statutes My DSfN My Account FENS login NAD Connect Join DSFN Archive News Events Contact Menu Home About Board Statutes My DSfN My Account FENS login NAD Connect Join DSFN Archive News Events Contact Ottiliavej 9, 2500 Valby adm@dsfn.dk Danish Society for Neuroscience A community for everyone in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-18","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/pages\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18"}],"version-history":[{"count":34,"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/pages\/18\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=\/wp\/v2\/pages\/18\/revisions\/67"}],"wp:attachment":[{"href":"https:\/\/dsfn.udvikling360.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}