/* Portal-specific layout, animations and content components · extracted from V11 */

:root{--ink:#101e50;--blue:#073fc0;--gold:#f2ad38;--muted:#59657e;--line:#e6eaf5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:#fafbff}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.top{height:78px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(20px);border-bottom:1px solid #e9eafa}.top .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:205px;max-height:64px;object-fit:contain;object-position:left center}.navlinks{display:flex;gap:27px;align-items:center;font-size:13px;font-weight:650}.navlinks a:hover{color:#0b79df}.navbutton{border:0;border-radius:30px;color:white;padding:12px 19px;background:linear-gradient(110deg,#1430ae,#2b83ee,#ba33dc);box-shadow:0 8px 23px #294ad83b;font-weight:700}.hamb{display:none;background:white;border:1px solid var(--line);border-radius:12px;padding:9px 13px;color:var(--ink)}.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:35px 0 76px;background:radial-gradient(ellipse at 5% 36%,#d5f4ff 0,transparent 34%),radial-gradient(ellipse at 94% 37%,#f4dffa 0,transparent 35%),radial-gradient(ellipse at 50% 87%,#fff1d6 0,transparent 45%),#fff}.hero:before,.hero:after{content:'';position:absolute;z-index:-1;width:470px;height:470px;border-radius:50%;filter:blur(46px);opacity:.32;animation:drift 13s ease-in-out infinite alternate}.hero:before{background:conic-gradient(#ffb3d5,#8b8dff,#7cebd4,#f9e28b,#ffb3d5);left:-250px;top:170px}.hero:after{background:conic-gradient(#72d3ff,#f5b6ff,#ffdb8b,#72d3ff);right:-260px;top:50px;animation-delay:-6s}.eyebrow{font-size:11px;letter-spacing:3.2px;font-weight:800;color:#a77922;text-transform:uppercase}.hero-logo{display:block;width:min(700px,92vw);max-height:480px;object-fit:contain;margin:0 auto -13px;filter:drop-shadow(0 18px 25px #244db01b);animation:float 7s ease-in-out infinite}.hero h1{font-size:clamp(34px,5vw,66px);line-height:1.08;letter-spacing:-2.7px;margin:8px 0 17px}.spectrum{background:linear-gradient(105deg,#0539bc,#05aee9,#bb2edb,#f19a2c);background-clip:text;color:transparent}.intro{font-size:clamp(15px,2vw,18px);line-height:1.75;max-width:730px;margin:0 auto;color:#4c5877}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:26px 0 20px}.btn{border-radius:35px;padding:14px 23px;font-weight:750;font-size:13px;border:1px solid #dfe4f4;background:white;color:#18245c}.btn.primary{border:0;color:white;background:linear-gradient(105deg,#2021aa,#1684f5,#a02ee0);box-shadow:0 12px 24px #384ad72b}.hero-foot{font-size:12px;color:#7b8198}.spark{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#fff 5%,#ffc24d 20%,#fb87d8 48%,transparent 70%);opacity:.55;animation:twinkle 4s ease-in-out infinite}.s1{width:18px;height:18px;top:22%;left:14%}.s2{width:12px;height:12px;top:43%;right:13%;animation-delay:-2s}.s3{width:9px;height:9px;bottom:15%;left:22%;animation-delay:-1s}.section{padding:76px 0}.section.white{background:white}.sectionhead{text-align:center;margin-bottom:34px}.kicker{font-size:11px;letter-spacing:2.5px;font-weight:800;color:#bb8728;text-transform:uppercase}.sectionhead h2{font-size:clamp(29px,4vw,45px);letter-spacing:-1.5px;margin:12px 0}.sectionhead p{color:var(--muted);line-height:1.7;max-width:680px;margin:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.area{position:relative;overflow:hidden;border:1px solid #e6e9f1;background:white;border-radius:22px;padding:25px;min-height:220px;transition:transform .25s,box-shadow .25s}.area:hover{transform:translateY(-5px);box-shadow:0 18px 36px #162c6c12}.area:before{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;top:-90px;background:var(--soft)}.area .glyph{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--color);font-size:25px;margin-bottom:20px}.area h3{font-size:20px;letter-spacing:-.6px;margin:0 0 8px}.area p{font-size:13px;color:#62708b;line-height:1.65;margin:0}.area .more{display:block;margin-top:20px;color:var(--color);font-size:12px;font-weight:800}.tools{background:linear-gradient(135deg,#f7f8ff,#fffaf7)}.toolhead{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}.toolhead h2{font-size:clamp(28px,4vw,42px);letter-spacing:-1.3px;margin:7px 0}.toolhead p{color:var(--muted);margin:0}.search{border:1px solid #dfe4f1;background:white;border-radius:40px;padding:12px 18px;min-width:230px;max-width:100%;outline-color:#668ce7}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid #e0e5f0;background:white;border-radius:30px;padding:9px 14px;font-size:12px;color:#52617c}.filter.active{background:#123eaf;border-color:#123eaf;color:white}.toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.tool{background:white;border:1px solid #e7e9f3;border-radius:17px;padding:20px;min-height:155px;box-shadow:0 6px 24px #21367a08}.tool .ico{font-size:26px;margin-bottom:12px}.tool strong{display:block;font-size:14px;margin-bottom:7px}.tool small{font-size:12px;color:#6c7891;line-height:1.5;display:block}.tool .tag{font-size:10px;color:#5872a6;display:block;margin-top:13px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.about img{width:100%;max-height:430px;object-fit:contain;filter:drop-shadow(0 18px 22px #2547ab12)}.about h2{font-size:clamp(30px,4vw,46px);letter-spacing:-1.4px;margin:10px 0 20px}.about p{color:#59677d;line-height:1.85}.note{background:#f3f7ff;border-left:3px solid #8b9fea;border-radius:8px;padding:16px 19px;font-size:13px;color:#54617a;line-height:1.65}.footer{background:#101b47;color:#d7def4;padding:42px 0}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer strong{color:white}.footer p{font-size:12px;line-height:1.8;max-width:530px}.footer a{font-size:12px;margin-right:16px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-13px)}}@keyframes drift{to{transform:translate(70px,60px) rotate(20deg)}}@keyframes twinkle{50%{opacity:.12;transform:scale(.5)}}@media(max-width:900px){.navlinks{gap:14px}.cards{grid-template-columns:repeat(2,1fr)}.toolgrid{grid-template-columns:repeat(2,1fr)}.about{gap:20px}}@media(max-width:640px){.top{height:65px}.brand img{width:174px;max-height:56px}.hamb{display:block}.navlinks{display:none;position:absolute;top:65px;left:0;right:0;background:#fffffff7;padding:18px 22px 24px;box-shadow:0 20px 25px #13275b18;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.navbutton{text-align:center}.hero{padding:30px 0 58px}.hero-logo{width:min(440px,100%);margin:12px auto 3px}.hero h1{letter-spacing:-1.3px}.section{padding:54px 0}.cards{grid-template-columns:1fr}.area{min-height:175px}.toolgrid{grid-template-columns:1fr 1fr;gap:10px}.tool{padding:15px;min-height:165px}.toolhead{display:block}.search{margin-top:18px;width:100%}.about{grid-template-columns:1fr}.about img{max-height:340px;order:-1}.footer .wrap{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* V9 portal-specific design layer — original V5 retained */
:root{--portal-ink:#101e50}
.hero,.footer{background:radial-gradient(ellipse at 4% 38%,#d7f2ff 0,transparent 38%),radial-gradient(ellipse at 94% 32%,#f4ddf8 0,transparent 39%),radial-gradient(ellipse at 51% 92%,#fff0d2 0,transparent 48%),radial-gradient(ellipse at 40% 14%,#f7f9ff 0,transparent 56%),#fff!important}
.hero{padding-top:35px;padding-bottom:76px}
.hero-logo{width:min(700px,92vw);max-height:480px}
.hero h1{font-size:clamp(32px,4.3vw,57px);line-height:1.12;letter-spacing:-.05em}
.spectrum{background:linear-gradient(95deg,#176bdc 0%,#37a9e9 23%,#8059dc 48%,#d54caf 70%,#ee9551 94%);background-size:180% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:portalShimmer 8s ease-in-out infinite alternate}
@keyframes portalShimmer{from{background-position:0% center}to{background-position:100% center}}
.navbutton,.primary{position:relative;overflow:hidden;background:linear-gradient(112deg,#162cbd 0%,#315fe8 33%,#6548ed 65%,#b63fe4 100%)!important;box-shadow:0 7px 19px #4944d947,inset 0 1px 2px #ffffff80,inset 0 -2px 4px #1c269d55!important}
.navbutton:after,.primary:after{content:'';position:absolute;inset:-80% auto -80% -45%;width:35%;transform:rotate(23deg);background:linear-gradient(90deg,transparent,#ffffff99,transparent);animation:buttonGleam 5s ease-in-out infinite;pointer-events:none}
@keyframes buttonGleam{0%,24%{left:-45%}52%,100%{left:135%}}
.area{display:flex;flex-direction:column;align-items:flex-start;min-height:245px}
.area-logo{width:100%;height:110px;object-fit:contain;object-position:center;display:block;margin:-7px 0 7px}
.area p{flex:1}
.footer{color:#263760!important;border-top:1px solid #e5e8f4;padding-top:52px;padding-bottom:40px}
.footer a,.footer strong,.footer p{color:#263760!important}
.footer .wrap{align-items:center}
.footer-logo{display:block;width:200px;max-width:80%;height:auto;margin-bottom:12px;object-fit:contain}
@media(max-width:720px){.area-logo{height:92px}.area{min-height:245px}.hero h1{font-size:clamp(31px,6vw,46px)}}
@media(prefers-reduced-motion:reduce){.spectrum,.navbutton:after,.primary:after{animation:none!important}}



/* V10: schwebender NEURO-inspirierter Header, ohne farbige Kreise in Themenkarten */
.top{position:fixed;top:12px;left:0;right:0;width:min(1180px,calc(100% - 36px));height:74px;margin:auto;border:1px solid rgba(209,222,252,.92);border-radius:24px;background:rgba(255,255,255,.91);box-shadow:0 12px 42px rgba(56,79,160,.13),inset 0 2px 9px rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:height .25s,top .25s,border-radius .25s,box-shadow .25s}
.top .wrap{width:calc(100% - 34px)}
.top.is-compact{top:8px;height:62px;border-radius:19px;box-shadow:0 10px 32px rgba(30,51,130,.17)}
.top.is-compact .brand img{max-height:51px;width:180px}
.hero{padding-top:126px!important}
.area:before,.area .glyph{display:none!important}
.area{background:#fff;isolation:isolate}
.area-logo{position:relative;z-index:1}
@media(max-width:640px){.top{top:8px;height:62px;width:calc(100% - 22px);border-radius:18px}.top .wrap{width:calc(100% - 22px)}.top.is-compact{height:58px}.navlinks{top:calc(100% + 8px);left:0;right:0;border-radius:18px;border:1px solid #e5eafa;box-shadow:0 20px 32px #13275b20}.hero{padding-top:102px!important}}



/* V9 portal-specific design layer — original V5 retained */
:root{--portal-ink:#101e50}
.hero,.footer{background:radial-gradient(ellipse at 4% 38%,#d7f2ff 0,transparent 38%),radial-gradient(ellipse at 94% 32%,#f4ddf8 0,transparent 39%),radial-gradient(ellipse at 51% 92%,#fff0d2 0,transparent 48%),radial-gradient(ellipse at 40% 14%,#f7f9ff 0,transparent 56%),#fff!important}
.hero{padding-top:35px;padding-bottom:76px}
.hero-logo{width:min(700px,92vw);max-height:480px}
.hero h1{font-size:clamp(32px,4.3vw,57px);line-height:1.12;letter-spacing:-.05em}
.spectrum{background:linear-gradient(95deg,#176bdc 0%,#37a9e9 23%,#8059dc 48%,#d54caf 70%,#ee9551 94%);background-size:180% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:portalShimmer 8s ease-in-out infinite alternate}
@keyframes portalShimmer{from{background-position:0% center}to{background-position:100% center}}
.navbutton,.primary{position:relative;overflow:hidden;background:linear-gradient(112deg,#162cbd 0%,#315fe8 33%,#6548ed 65%,#b63fe4 100%)!important;box-shadow:0 7px 19px #4944d947,inset 0 1px 2px #ffffff80,inset 0 -2px 4px #1c269d55!important}
.navbutton:after,.primary:after{content:'';position:absolute;inset:-80% auto -80% -45%;width:35%;transform:rotate(23deg);background:linear-gradient(90deg,transparent,#ffffff99,transparent);animation:buttonGleam 5s ease-in-out infinite;pointer-events:none}
@keyframes buttonGleam{0%,24%{left:-45%}52%,100%{left:135%}}
.area{display:flex;flex-direction:column;align-items:flex-start;min-height:245px}
.area-logo{width:100%;height:110px;object-fit:contain;object-position:center;display:block;margin:-7px 0 7px}
.area p{flex:1}
.footer{color:#263760!important;border-top:1px solid #e5e8f4;padding-top:52px;padding-bottom:40px}
.footer a,.footer strong,.footer p{color:#263760!important}
.footer .wrap{align-items:center}
.footer-logo{display:block;width:200px;max-width:80%;height:auto;margin-bottom:12px;object-fit:contain}
@media(max-width:720px){.area-logo{height:92px}.area{min-height:245px}.hero h1{font-size:clamp(31px,6vw,46px)}}
@media(prefers-reduced-motion:reduce){.spectrum,.navbutton:after,.primary:after{animation:none!important}}

/* V11: floating header never changes dimensions when scrolling */
.top,.top.is-compact{top:12px!important;height:74px!important;border-radius:24px!important;width:min(1180px,calc(100% - 36px))!important;transition:box-shadow .25s ease!important}
.top.is-compact{box-shadow:0 16px 44px rgba(30,51,130,.21),inset 0 2px 9px rgba(255,255,255,.9)!important}
.brand{display:block;position:relative;width:205px;height:64px;flex-shrink:0}
.brand img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:205px;height:64px;max-height:64px;object-fit:contain;object-position:left center;transition:opacity .18s ease}
.brand img.brand-icon{width:60px;height:60px;object-position:left center;opacity:0}
.top.is-compact .brand img.brand-full{opacity:0}
.top.is-compact .brand img.brand-icon{opacity:1}
.top.is-compact .brand img{width:205px;height:64px;max-height:64px}
.top.is-compact .brand img.brand-icon{width:60px;height:60px}
.area{min-height:315px!important;padding:29px 27px 28px!important}
.area-logo{height:133px!important;margin:0 0 18px!important}
.area p{line-height:1.85!important;margin-bottom:13px!important}
.area .more{margin-top:auto!important;padding-top:12px!important}
@media(max-width:640px){
 .top,.top.is-compact{top:8px!important;height:62px!important;width:calc(100% - 22px)!important;border-radius:18px!important}
 .brand{width:174px;height:54px}
 .brand img,.top.is-compact .brand img{width:174px;height:54px;max-height:54px}
 .brand img.brand-icon,.top.is-compact .brand img.brand-icon{width:50px;height:50px}
 .area{min-height:285px!important;padding:25px 22px!important}
 .area-logo{height:116px!important}
}

/* Portal V13 · content aligned to Neuro and a calmer hero */
.wrap{width:min(var(--fs-content-width,1290px),calc(100% - 78px))}
.hero-logo{width:min(520px,75vw)!important;max-height:440px!important;height:auto!important;object-fit:contain!important;margin:0 auto -10px!important}
.hero{padding-top:119px!important}
.footer-logo{width:min(330px,80%)!important;height:auto!important}
@media(max-width:980px){.wrap{width:calc(100% - 48px)}}
@media(max-width:680px){.wrap{width:calc(100% - 30px)}.hero-logo{width:min(400px,84vw)!important;max-height:360px!important}.hero{padding-top:105px!important}}

/* Integration V18: preserve portal layout, shared header is fixed independently. */
.wrap{max-width:var(--fs-content-width)!important;width:min(1290px,calc(100% - 36px))}
.fs-site-header~main .hero{padding-top:113px}
.fs-site-header~main{min-height:100vh}
.fs-portal .tool .fs-tool-link{display:inline-flex;margin-top:14px;padding:9px 14px;font-size:12px}
.fs-portal .footer .fs-crosslinks{margin-top:16px}
@media(max-width:640px){.fs-site-header~main .hero{padding-top:96px!important}}
