@font-face{font-family:Satoshi;src:url('./public/fonts/satoshi-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('./public/fonts/satoshi-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url('./public/fonts/satoshi-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--blue:#070750;--ink:#f5f5ff;--soft:#c8d0eb;--quiet:#acb9df;--line:#a9b9ee33;--surface:#141966;--focus:#d4dfff;--gutter:clamp(28px,4.2vw,84px);--page:1920px;--radius:16px;--section-space:clamp(64px,6vw,112px);--ease:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);--fly:cubic-bezier(.18,1.08,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:#656cab var(--blue);scrollbar-width:thin;background:var(--blue)}
body{margin:0;background:var(--blue);color:var(--ink);font:400 18px/1.65 Satoshi,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#d0d3f6;color:var(--blue)}
a{color:inherit;text-decoration:none;text-underline-offset:6px}
button{font:inherit;color:inherit;cursor:pointer}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
[hidden]{display:none!important}
img{max-width:100%;display:block}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-weight:500;text-wrap:balance}
p{text-wrap:pretty}
section[id]{scroll-margin-top:78px}
:where(main [id],.form input,.form select,.form textarea){scroll-margin-top:120px}
.wrap{width:min(100%,var(--page));padding-inline:var(--gutter);margin-inline:auto}
.icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.skip-link{position:fixed;left:24px;top:16px;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:var(--ink);color:var(--blue);z-index:30}
.skip-link:focus{width:auto;height:auto;padding:12px 22px;clip-path:none}
.site-header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:20;height:104px;display:flex;align-items:center;gap:48px;transition:height .3s var(--ease),background .3s}
/* Nach dem ersten Scrollen kompakter und mit Flaeche, oben bleibt sie durchsichtig. */
.site-header.is-scrolled{height:78px;background:#070750e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header:after{content:"";position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}
.brand{display:flex;align-items:flex-end;gap:22px;margin-right:auto}
/* Marke: Sterne + Wortmarke als Inline-SVG (public/logo/), Farbe ueber color. */
.brand-mark{display:block;height:62px;width:auto;color:#f5f5ff;overflow:visible}
.brand-mark polygon{transform-box:fill-box;transform-origin:center}
.brand-mark polygon:nth-of-type(1){--i:0}.brand-mark polygon:nth-of-type(2){--i:1}.brand-mark polygon:nth-of-type(3){--i:2}.brand-mark polygon:nth-of-type(4){--i:3}.brand-mark polygon:nth-of-type(5){--i:4}
.brand-name{font-size:13px;line-height:1.55;color:#d6dff5;transition:color .4s;padding-bottom:2px}
.desktop-nav{display:flex;gap:36px;font-size:16px}
.desktop-nav a{padding-block:9px;position:relative}
/* Aufklappbarer Navigationspunkt: gleiche Optik wie die uebrigen Links, Menue haengt unter der Kopfzeile. */
.nav-group{position:relative;display:flex}
.nav-group-button{display:inline-flex;align-items:center;gap:7px;padding:9px 0;background:none;border:0;font-size:16px;position:relative;white-space:nowrap}
.nav-group-button:after{content:"";position:absolute;left:0;right:26px;bottom:4px;height:1px;background:linear-gradient(90deg,#ccd0f8,#fff);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-group:hover .nav-group-button:after,.nav-group-button[aria-expanded=true]:after{transform:scaleX(1);transform-origin:left}
.nav-chevron{width:15px;height:15px;transition:rotate .35s var(--ease)}
.nav-group-button[aria-expanded=true] .nav-chevron{rotate:180deg}
.nav-menu{position:absolute;top:calc(100% + 16px);left:-18px;min-width:216px;display:flex;flex-direction:column;padding:10px;border:1px solid var(--line);border-radius:14px;background:#10165d;box-shadow:0 22px 48px #03032e66;z-index:2}
.nav-menu:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:17px}
.nav-menu a{padding:11px 14px;border-radius:9px;font-size:16px;color:#d3dbf5;white-space:nowrap;transition:background .3s,color .3s,translate .35s var(--ease)}
.nav-menu a:after{display:none}
.nav-menu a:hover{background:#ccd0f81f;color:#fff;translate:3px 0}
.nav-menu a[aria-current=page]{color:#fff;background:#ccd0f814}
.nav-group:has([aria-current=page]) .nav-group-button:after{transform:scaleX(1);transform-origin:left;background:#ccd0f8}

.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:linear-gradient(90deg,#ccd0f8,#fff);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-roll{display:inline-block;position:relative;overflow:hidden;vertical-align:top;line-height:1.5}
.nav-roll>span{display:block;transition:transform .5s var(--ease)}
.nav-roll>span+span{position:absolute;left:0;top:100%;color:#ccd0f8}
.nav-cta{white-space:nowrap;flex-shrink:0;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:30px;border:1px solid #ccd0f866;border-radius:100px;padding:13px 24px;font-size:15px;transition:color .35s,border-color .35s}
.nav-cta:before{content:"";position:absolute;left:var(--mx,50%);top:var(--my,50%);width:460px;height:460px;margin:-230px;border-radius:50%;background:#dee0f7;transform:scale(0);transition:transform .55s var(--ease);z-index:-1}
.mobile-nav,.menu-toggle{display:none}
/* Buttons stehen fest (keine Positionsbewegung): Lichtpunkt unter dem Zeiger, ein Glanzstreifen, Scheibe invertiert. */
.button{border:1px solid transparent;--spot:#aeb9ff45;--sheen:#3d55b366;--sheen-soft:#3d55b32e;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-radius:24px;padding:11px 12px 11px 27px;font-size:16px;font-weight:700;line-height:1.4;transition:box-shadow .4s,border-color .4s,background-color .4s}
.button:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle 130px at var(--mx,50%) var(--my,50%),var(--spot),transparent 70%);opacity:0;transition:opacity .45s;z-index:-1}
.button:after{content:"";position:absolute;top:-40%;bottom:-40%;left:-35%;width:32%;background:linear-gradient(105deg,transparent,var(--sheen-soft) 40%,var(--sheen) 50%,var(--sheen-soft) 60%,transparent);transform:translateX(-160%) rotate(14deg);z-index:-1;pointer-events:none}
.button-light{color:var(--blue);background:linear-gradient(120deg,#f5f5fd,#dadcf7);box-shadow:0 10px 24px #03033226}
.button-dark{--spot:#ccd0f838;--sheen:#ffffff8c;--sheen-soft:#ffffff4d;color:var(--ink);background:#070750;border:1px solid #ccd0f84d;box-shadow:0 10px 24px #03033240}
.button .icon{width:40px;height:40px;padding:9px;background:#0707500c;border-radius:50%;transition:background .4s var(--ease),color .4s,box-shadow .4s}
.button-dark .icon{background:#ffffff14}
.text-link{position:relative;display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:16px;font-weight:500;transition:color .3s}
.text-link:after{content:"";position:absolute;left:0;bottom:10px;width:calc(100% - 40px);height:1px;background:linear-gradient(90deg,#ccd0f8,#7e9be0);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.text-link .icon{transition:transform .5s var(--ease),color .4s,filter .5s}
.hero{position:relative;isolation:isolate;min-height:max(780px,100svh);display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:clamp(40px,3.8vw,72px);padding-top:154px;padding-bottom:68px}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 63% 77% at 99% 33%,#536fc799,transparent 76%),radial-gradient(ellipse 60% 46% at 38% 83%,#273b9359,transparent 78%);mask-image:linear-gradient(#000 72%,transparent)}
.hero-copy{padding-bottom:24px}
h1{font-size:clamp(80px,7.15vw,138px);line-height:1.045;letter-spacing:-.04em;font-weight:700}
h1 span{display:block}
.hero h1 span{white-space:nowrap}
h1 em{display:block;font-style:normal;color:#ccd0f8}
.hero-description{max-width:570px;margin-top:36px;font-size:clamp(18px,1.16vw,23px);line-height:1.65;color:var(--soft)}
.desktop-break{display:none}
.membership{view-timeline-name:--membership;position:relative;isolation:isolate;overflow:hidden;overflow:clip;width:100%;max-width:840px;justify-self:end;min-height:clamp(560px,68svh,770px);padding:56px 60px;border:1px solid #bdcfff52;border-radius:24px;background:radial-gradient(ellipse 60% 145% at 97% 120%,#9cb8f299,transparent 72%),radial-gradient(ellipse 85% 100% at 8% 0,#556cd47a,transparent 68%),linear-gradient(115deg,#171e72,#30449f);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(64px,10svh,120px);transition:border-color .6s}
.membership:before,.membership:after{content:"";position:absolute;width:700px;height:700px;right:-160px;top:55px;border:1px solid #cfdaff33;border-radius:50%;z-index:-1}
.membership:after{right:-220px;top:115px}
.membership h2{font-size:clamp(52px,4.6vw,88px);line-height:1.08;letter-spacing:-.04em}
.membership h2 span:not(.line){font-weight:700;color:#fff}
.membership-bottom{max-width:none}
.membership-bottom p{max-width:460px}
.membership-actions{display:flex;flex-wrap:wrap;gap:14px}
@media(min-width:701px) and (max-width:1500px){.membership .membership-actions{display:grid;grid-template-columns:minmax(0,max-content)}.membership .membership-actions .button{width:100%}}
.membership-bottom p{font-size:19px;line-height:1.7;color:#e0e6ff;margin-bottom:30px}
/* Question-and-answer workspace: an explicit choice beside a stable answer. */
.offers{view-timeline-name:--offers;position:relative;min-height:calc(100svh - 78px);padding-block:56px;display:flex;flex-direction:column;justify-content:center;gap:40px;background:radial-gradient(ellipse 72% 50% at 95% 55%,#405ca073,transparent 100%)}
.offers:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#ced2f6e6,#ced2f680 25%,#ced2f61a 45%,transparent 55%)}
.offers-heading{display:block;text-align:center}
.offers-heading h2{font-size:clamp(43px,3.45vw,67px);line-height:1.12;letter-spacing:-.035em}
.offers-heading h2 span:not(.line){color:#bcc0ea}
.offers-heading>p{font-size:19px;line-height:1.65;color:var(--soft);max-width:660px;margin-top:22px;margin-inline:auto}
.offers-workspace{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,4.2vw,80px);align-items:stretch}
.offer-questions{display:flex;flex-direction:column;justify-content:center;order:2}
.offer-answers{order:1}
.offer-questions button{position:relative;isolation:isolate;background:transparent;border:0;border-top:1px solid var(--line);padding:20px 24px;flex:1;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:24px;text-align:right;color:#b8c5e8;font-size:clamp(23px,1.5vw,29px);line-height:1.3;letter-spacing:-.025em;transition:color .2s,background .3s var(--ease)}
.offer-questions button:last-child{border-bottom:1px solid var(--line)}
.offer-questions button:before{content:"";position:absolute;right:0;top:15%;width:2px;height:70%;border-radius:2px;background:linear-gradient(#ccd0f8,#7e9be0);transform:scaleY(0);opacity:0;transition:transform .45s var(--ease),opacity .3s}
.offer-questions button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle 200px at var(--mx,50%) var(--my,50%),#ccd0f816,transparent 70%);opacity:0;transition:opacity .4s;z-index:-1}
.offer-questions button span{min-width:0;max-width:430px;transition:translate .45s var(--ease)}
.offer-questions button small{display:block;margin-top:9px;color:#aabade;font-size:14px;font-weight:400;letter-spacing:0;line-height:1.4}
.offer-questions button .icon{width:44px;height:44px;padding:10px;border-radius:50%;border:1px solid #afc1f770;transform:scaleX(-1);transition:background .3s,transform .4s var(--ease),border-color .3s}
.offer-questions button[aria-selected=true]{color:#fff;border-top-color:#c9d7ff;background:linear-gradient(250deg,#7e9be03d,#667ed409);font-weight:500}
.offer-questions button[aria-selected=true] small{color:#d6e1fb}
.offer-questions button[aria-selected=true] .icon{background:#d4dfff;color:var(--blue);transform:scaleX(-1) rotate(45deg)}
.offer-answer{--panel-light:#789cdf70;position:relative;isolation:isolate;overflow:hidden;overflow:clip;view-timeline-name:--answer;padding:44px 52px;border:1px solid #b7c4f34d;border-radius:var(--radius);background:radial-gradient(ellipse 60% 145% at 3% -20%,#9cb8f259,transparent 72%),radial-gradient(ellipse 100% 85% at 105% 0,var(--panel-light),transparent 72%),linear-gradient(130deg,#c8daff0a,transparent 40%),linear-gradient(150deg,#314b96,#17286e 65%,#121b5f);min-height:540px;display:flex;flex-direction:column;align-items:start;transition:border-color .6s}
/* Shared intrinsic height prevents layout jumps when changing topics. */
.offer-answers.is-tabbed{display:grid}
.offer-answers.is-tabbed>.offer-answer{grid-area:1/1}
.offer-answers.is-tabbed>.offer-answer[hidden]{display:flex!important;visibility:hidden;pointer-events:none;animation:none}
.offer-answer:before,.offer-answer:after{content:"";position:absolute;width:700px;height:700px;left:-160px;top:-160px;border:1px solid #cfdaff33;border-radius:50%;z-index:-1;pointer-events:none}
.offer-answer:after{left:-220px;top:-220px}
#lernen{--panel-light:#829ee070}
#netzwerk{--panel-light:#75aacc70}
#engagement{--panel-light:#8e9edf70}
.offer-status{display:flex;align-items:center;gap:10px;color:#c7d6f5;font-size:13px;line-height:1.4}
.offer-status:before{content:"";width:6px;height:6px;background:#b8ccff;border-radius:50%}
.offer-answer h3{font-size:clamp(40px,3.1vw,60px);line-height:1.14;letter-spacing:-.03em;margin:0 0 26px;max-width:760px}
.offer-answer>p{font-size:19px;line-height:1.7;max-width:680px;color:#dce5f8;margin-bottom:32px}
.offer-answer-bottom{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:24px;margin-top:auto;padding-top:27px}
.offer-meta{display:flex;flex-direction:column;gap:9px}
.offer-meta>span{font-size:18px;color:#f2f5ff;font-weight:500}
.offer-answer:not([hidden]){animation:answer-in .35s var(--ease)}
@keyframes answer-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.together{view-timeline-name:--together;position:relative;isolation:isolate;overflow:hidden;overflow:clip;min-height:100svh;display:flex;align-items:center;background:#080c4f}
.together:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:1;background:linear-gradient(90deg,#ced2f6e6,#ced2f680 25%,#ced2f61a 45%,transparent 55%)}
.together-inner{display:grid;grid-template-columns:2.6fr 1fr;gap:80px;align-items:center;padding-block:100px}
.study-photo{position:absolute;inset:0;z-index:-1}
.study-photo img{width:100%;height:100%;object-fit:cover;object-position:36% center;transition:transform 1.4s var(--ease),filter 1.4s}
.study-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07075000 6%,#0707501a 22%,#080c4f66 38%,#080c4fb3 50%,#080c4fe0 60%,#080c4ff5 70%,#080c4f 82%),linear-gradient(0deg,#080c4f44,transparent 24%)}
.study-photo figcaption{position:absolute;left:var(--gutter);bottom:35px;font-size:12px;background:#070750c9;color:#dce3fc;padding:4px 10px;border-radius:20px}
.together-copy{grid-column:2;max-width:420px;justify-self:end}
.together-copy h2{font-size:clamp(44px,3.15vw,60px);line-height:1.12;letter-spacing:-.035em;margin-bottom:36px}
.together-copy h2 span:not(.line){font-weight:700;color:#ccd0f8}
.together-copy>p{font-size:20px;line-height:1.7;max-width:420px;color:#d0daf2;margin-top:17px}
.together-copy .text-link{margin-top:27px}
/* One continuous surface; no differently coloured inner track. */
.partners{padding-block:40px;background:#10165d;border-block:1px solid #99addc33;overflow:hidden}
.partners[data-partner-set=platzhalter] .partners-group[data-set=echt],.partners[data-partner-set=echt] .partners-group[data-set=platzhalter]{display:none}
.partners-heading{margin-bottom:26px;text-align:center}
.partners-heading h2{font-size:19px;color:#d1dbf3;font-weight:500}
.partners-window{overflow-x:auto;scrollbar-width:thin}
.partners-track{display:flex;width:max-content;background:#10165d}
.partners-group{display:flex;align-items:center;justify-content:space-around;gap:60px;width:max(100vw,1560px);flex-shrink:0;margin:0;padding:0 30px;list-style:none}
.partners-group li{width:240px;height:112px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.partners-group img{max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain;transition:transform .5s var(--ease),opacity .5s}
.partner-jurafuchs img{width:192px}.partner-rlc img{width:96px;max-height:96px}.partner-adj img{width:176px}.partner-hamburg img{width:240px}.partner-clifford img{width:225px}
.partner-monochrome img{filter:grayscale(1) invert(1);mix-blend-mode:screen}
.partners.is-animated .partners-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.partners.is-animated .partners-track{animation:partners-scroll 42s linear infinite;animation-play-state:paused}
.partners.is-animated.is-visible .partners-track{animation-play-state:running}
.partners.is-animated:hover .partners-track{animation-play-state:paused}
@keyframes partners-scroll{to{transform:translateX(-50%)}}
.contact{display:grid;grid-template-columns:1.7fr 1fr;gap:100px;align-items:center;min-height:530px;padding-block:100px;background:linear-gradient(180deg,#070750,#101c64)}
.contact-main h2{font-size:clamp(45px,3.8vw,74px);line-height:1.13;letter-spacing:-.035em}
.email-link{position:relative;display:inline-flex;align-items:center;gap:42px;margin-top:35px;padding-bottom:12px;border-bottom:1px solid transparent;font-size:clamp(27px,3.15vw,61px);letter-spacing:-.035em;background:linear-gradient(100deg,#f5f5ff 0 38%,#ccd0f8 50%,#f5f5ff 62% 100%) 100% 0/280% 100% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.email-link:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#a7b8df77;transform-origin:left;transition:transform 1s var(--ease) .35s}
.email-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#ccd0f8,#9cb8f2 55%,#7e9be0);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.email-link .icon{width:60px;height:60px;padding:13px;border:1px solid #a7b8df77;border-radius:50%;color:var(--ink);translate:calc(var(--dx,0)*8px) calc(var(--dy,0)*8px);transition:background .35s,color .35s,border-color .35s,box-shadow .5s,translate .7s var(--spring)}
.contact-partners{max-width:440px;justify-self:end;align-self:center;padding-left:36px;border-left:1px solid var(--line)}
.contact-partners h3{font-size:26px;letter-spacing:-.02em}
.contact-partners p{font-size:18px;line-height:1.75;color:var(--soft);margin-top:20px}
.contact-partners .text-link{margin-top:20px}
.footer{view-timeline-name:--footer;position:relative;border-top:1px solid transparent;background:linear-gradient(180deg,#101c64,#0a0e4e 90%);padding-block:68px 30px}
main:has(>.page-hero)+.footer{background:linear-gradient(180deg,var(--blue),#101c64 220px,#0a0e4e 90%)}
.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#a8b8ec33}
.footer-main{display:grid;grid-template-columns:1.15fr 1.05fr .9fr 1.2fr;gap:clamp(32px,4vw,76px);align-items:start}
.footer h2{font-size:17px;line-height:1.4;font-weight:700;letter-spacing:0;margin:4px 0 22px}
.footer-brand{display:inline-block;color:#f5f5ff}
.footer-brand .brand-mark{height:68px}
.footer-identity>p{margin-top:19px;font-size:15px;line-height:1.65;color:#e0e6fb}
.footer-identity>.footer-description{margin-top:16px;font-size:14px;color:#acb9df}
.footer-email{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:16px;line-height:1.5;font-weight:500;margin-top:0;margin-bottom:0;transition:color .3s}
.footer-email:after{content:"";position:absolute;left:0;bottom:7px;width:calc(100% - 30px);height:1px;background:linear-gradient(90deg,#ccd0f8,#ffffff00);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.footer-email .icon{transition:transform .4s var(--ease),color .3s}
.footer-email .icon{width:18px;height:18px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-block:7px;color:#becaeb;font-size:16px;line-height:1.5;transition:color .3s,translate .45s var(--ease)}
.footer-links a:after{content:"";position:absolute;left:0;right:0;bottom:9px;height:1px;background:linear-gradient(90deg,#ccd0f8,#ffffff00);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.footer-vision>p{max-width:360px;font-size:24px;line-height:1.4;letter-spacing:-.02em;color:#e3eaff;text-wrap:balance}
.footer-vision>p+p{margin-top:16px;font-size:14px;line-height:1.7;letter-spacing:0;color:#acb9df;text-wrap:pretty}
.footer-bottom{border-top:1px solid #a8b8ec2b;display:flex;align-items:center;gap:32px;margin-top:58px;padding-top:20px;font-size:13px;color:#becaeb}
.footer-copyright{margin-right:auto}
.footer-legal{display:flex;align-items:baseline;gap:23px;color:#becaeb}
.footer-legal>a{display:inline-flex;align-items:center;min-height:44px}
.footer-legal small{font-size:12px;color:#a6b4db}
.back-top{display:inline-flex;align-items:center;justify-content:end;gap:12px;font-size:13px;min-height:44px;margin-left:24px}
.back-top .icon{width:32px;height:32px;padding:6px;border:1px solid #a8b8ec4d;border-radius:50%;translate:calc(var(--dx,0)*4px) calc(var(--dy,0)*4px);transition:background .35s,color .35s,border-color .35s,translate .7s var(--spring)}
/* Scroll-Choreografie, Schicht 1: Reveal beim Hereinscrollen. main.js setzt has-reveal auf <html>,
   markiert Kinder von [data-reveal-stagger], zerlegt [data-reveal=lines] in .line-Zeilen und schaltet per
   IntersectionObserver auf .is-in. Seit 17.09.2026 setzt der Takt in main.js die Verzoegerung --d beim Hereinscrollen
   je Block, Zeile und Fade-Element in Lesereihenfolge; die calc-Regel unten ist nur noch Rueckfall, --i und
   data-reveal-offset wirken nicht mehr. head.js setzt has-reveal vor dem ersten Paint. Ohne Skript, mit Bewegungsreduzierung und im Druck ist alles sofort da. */
.scroll-progress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:2px;z-index:1;background:linear-gradient(90deg,#ccd0f8,#7e9be0 70%,#7e9be000);transform-origin:left;transform:scaleX(var(--progress,0));pointer-events:none}
.has-reveal [data-reveal],.has-reveal .line{--d:calc((var(--i,0) + var(--o,0))*var(--step,90ms))}
.has-reveal [data-reveal]{transition:opacity .8s var(--ease) var(--d),translate .8s var(--ease) var(--d),color .3s}
.has-reveal [data-reveal]:not(.is-in){opacity:0;translate:0 22px}
/* Gruppenkinder bekommen data-reveal erst durch main.js. Ohne diese Regel stuenden sie beim ersten Bild sichtbar da
   und blendeten ueber ihre Transition sichtbar aus, bevor sie im Takt wieder einblenden. */
.has-reveal :is([data-reveal-stagger]:not([data-reveal-deep])>*,[data-reveal-deep]>*>:not(ul,ol),[data-reveal-deep]>*>:is(ul,ol)>*):not(.is-in){opacity:0}
.has-reveal [data-reveal=right]:not(.is-in){translate:28px 0}
/* Panel: Flaeche steigt aus der Tiefe, Rahmen und Kreisboegen wachsen mit, Inhalt folgt eng gestaffelt (Offset 2). */
.has-reveal [data-reveal=panel]{transition:opacity 1.1s var(--ease) var(--d),translate 1.1s var(--ease) var(--d),scale 1.1s var(--ease) var(--d)}
.has-reveal [data-reveal=panel]:not(.is-in){opacity:0;translate:0 44px;scale:.965}
.has-reveal [data-reveal=panel] .offer-answer{transition:border-color 1s var(--ease) .2s}
.has-reveal [data-reveal=panel]:not(.is-in) .offer-answer{border-color:transparent}
.has-reveal [data-reveal=panel] .offer-answer:before,.has-reveal [data-reveal=panel] .offer-answer:after{transition:scale 1.7s var(--ease) .1s,opacity 1.3s var(--ease) .1s}
.has-reveal [data-reveal=panel]:not(.is-in) .offer-answer:before{scale:.86;opacity:0}
.has-reveal [data-reveal=panel]:not(.is-in) .offer-answer:after{scale:.8;opacity:0}
.has-reveal .offer-answer [data-reveal]:not(.is-in){translate:0 16px}
/* Flug: Bloecke steigen weit von unten und wachsen dabei minimal, kurzer Fade, Bahn mit Hauch Ueberschwingen; Spalten links nach rechts im 150-ms-Takt. */
.has-reveal [data-reveal=fly]{--step:95ms;transform-origin:50% 100%;transition:opacity .3s var(--ease) var(--d),translate .6s var(--fly) var(--d),scale .6s var(--fly) var(--d),color .3s}
.has-reveal [data-reveal=fly]:not(.is-in){opacity:0;translate:0 72px;scale:.94}
.has-reveal [data-reveal=portrait]{--step:120ms;transition:opacity .6s var(--ease) var(--d),translate .7s var(--ease) var(--d),border-color .45s var(--ease),background .45s}
.has-reveal [data-reveal=portrait]:not(.is-in){opacity:0;translate:0 30px}
.has-reveal [data-reveal=portrait] .board-curtain{transition:transform .8s var(--ease) calc(var(--d) + 620ms)}
.has-reveal [data-reveal=portrait]:not(.is-in) .board-curtain{transform:scaleX(1)}
.has-reveal [data-reveal=portrait] .board-photo img{transition:scale 1.5s var(--ease) calc(var(--d) + 620ms)}
.has-reveal [data-reveal=portrait]:not(.is-in) .board-photo img{scale:1.16}
/* Behaelter-Bloecke (main.js setzt .reveal-behaelter): Deckkraft nur kurz, Bewegung wie gehabt; die Staffel ihres Inhalts traegt das Einblenden.
   Alle Deckkraft-Uebergaenge nutzen dieselbe Kurve (--ease), damit ein spaeter startendes Element ein frueheres nicht ueberholt. */
.has-reveal [data-reveal].reveal-behaelter{transition:opacity .3s var(--ease) var(--d),translate .8s var(--ease) var(--d),color .3s}
.has-reveal [data-reveal=panel].reveal-behaelter{transition:opacity .4s var(--ease) var(--d),translate 1.1s var(--ease) var(--d),scale 1.1s var(--ease) var(--d)}
.has-reveal [data-reveal=fly].reveal-behaelter{transition:opacity .3s var(--ease) var(--d),translate .6s var(--fly) var(--d),scale .6s var(--fly) var(--d),color .3s}
.has-reveal [data-reveal=portrait].reveal-behaelter{transition:opacity .3s var(--ease) var(--d),translate .7s var(--ease) var(--d),border-color .45s var(--ease),background .45s}
.has-reveal [data-reveal=lines]:not(.is-in){opacity:1;translate:0 0}
.line{display:inline-block;clip-path:inset(-15% -2% -15% -2%);transition:clip-path .9s var(--ease) var(--d,0s),translate .9s var(--ease) var(--d,0s),opacity .9s var(--ease) var(--d,0s)}
h1 .line{display:block}
h1 .line+br{display:none}
.has-reveal [data-reveal=lines]:not(.is-in) .line{clip-path:inset(-15% 100% -15% -2%);translate:0 .18em;opacity:0}
.has-reveal .offer-questions button[data-reveal]{transition:opacity .8s var(--ease) var(--d),translate .8s var(--ease) var(--d),color .2s,background .3s var(--ease)}
.has-reveal .email-link[data-reveal]:not(.is-in):before{transform:scaleX(0)}
.has-reveal .partners-group li[data-reveal]:not(.is-in){translate:0 14px}
@media(max-width:700px){.has-reveal [data-reveal=up]:not(.is-in),.has-reveal [data-reveal=right]:not(.is-in){translate:0 16px}}
/* Schicht 3: jedes Element in main und footer blendet kurz von 0 auf 1, zusaetzlich zu Schicht 1 und 2.
   main.js setzt data-fade (in = folgt dem Reveal-Elternteil, wait = eigener Beobachter, on = vom Takt freigegeben)
   und dazu --d; --f bleibt 0 (nur das Antragsformular staffelt beim Neu-Einblenden damit). Spezifitaet 0 ueber :where, damit eigene animation-Regeln Vorrang behalten. */
@media screen{:where(.has-reveal [data-fade]:not([data-fade=on])){opacity:0}}
:where(.has-reveal [data-fade=on]){animation:fade-in .6s var(--ease) backwards;animation-delay:calc(var(--d,0ms) + var(--f,0)*70ms)}
@media print{.has-reveal [data-reveal],.has-reveal .line{opacity:1!important;translate:none!important;animation:none!important}.has-reveal [data-fade]{animation:none!important}}
/* Hover-Choreografie. Zeigerposition liefert main.js als --mx/--my (px) und --dx/--dy (-1..1);
   ohne Skript gelten die Mittelwerte. Nur fuer echte Zeiger, Bewegungsreduzierung schaltet alles ab.
   Die grossen Panels bleiben bewusst ruhig: keine Neigung, kein wandernder Lichtfleck. */
@media(hover:hover){
.brand:hover .brand-mark polygon{animation:star-rise .8s var(--ease) both,star-twinkle 1.1s var(--ease) both;animation-delay:calc(.3s + var(--i)*.07s),calc(var(--i)*.06s)}
.brand:hover .brand-star{animation-name:star-rise,star-twinkle-blue}
.brand:hover .brand-name{color:#fff}
.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}
.desktop-nav a:hover .nav-roll>span{transform:translateY(-100%)}
.nav-cta:hover{color:var(--blue);border-color:#dee0f7}
.nav-cta:hover:before{transform:scale(1)}
.button:hover{box-shadow:0 16px 36px #03033259}
.button:hover:before{opacity:1}
.button:hover:after{transform:translateX(520%) rotate(14deg);transition:transform .95s var(--ease)}
.button-light:hover .icon{background:var(--blue);color:var(--ink);box-shadow:0 0 0 5px #0707501a}
.button-dark:hover{background:#0c1160;border-color:#ccd0f8a6}
.button-dark:hover .icon{background:#ccd0f8;color:var(--blue);box-shadow:0 0 0 5px #ccd0f826}
.button:hover .icon use,.text-link:hover .icon use,.nav-cta:hover .icon use,.email-link:hover .icon use,.footer-email:hover .icon use,.offer-questions button:hover:not([aria-selected=true]) .icon use{animation:arrow-swap .6s var(--ease)}
.text-link:hover{color:#fff}
.text-link:hover:after{transform:scaleX(1);transform-origin:left}
.text-link:hover .icon{transform:translateX(8px);color:#ccd0f8;filter:drop-shadow(0 0 8px #ccd0f899)}
.membership:hover{border-color:#d4dfff8a}
.offer-answer:hover{border-color:#c9d5ff80}
.offer-questions button:hover{color:#fff}
.offer-questions button:hover:before{transform:scaleY(1);opacity:1}
.offer-questions button:hover:after{opacity:1}
.offer-questions button:hover span{translate:-6px 0}
.offer-questions button:hover small{color:#d6e1fb}
.offer-questions button:hover:not([aria-selected=true]) .icon{border-color:#d4dfff;background:#d4dfff1f}
.together:has(.text-link:hover) .study-photo img{transform:scale(1.045);filter:saturate(1.12) brightness(1.06)}
.partners-group li:hover img{transform:perspective(600px) rotateX(calc(var(--dy,0)*-9deg)) rotateY(calc(var(--dx,0)*11deg)) scale(1.12);transition:transform .15s ease-out,opacity .5s}
.partners-group:has(li:hover) li:not(:hover) img{opacity:.4}
.email-link:hover{background-position:0 0;transition:background-position 1.2s var(--ease)}
.email-link:hover:after{transform:scaleX(1);transform-origin:left}
.email-link:hover .icon{background:#d5dfff;color:var(--blue);border-color:#d5dfff;box-shadow:0 0 0 10px #d5dfff1f,0 14px 32px #03033259;transition:background .35s,color .35s,border-color .35s,box-shadow .5s,translate .2s ease-out}
.footer a:hover{color:#fff}
.footer-brand:hover .brand-mark polygon{animation:star-twinkle 1.1s var(--ease) both;animation-delay:calc(var(--i)*.06s)}
.footer-brand:hover .brand-star{animation-name:star-twinkle-blue}
.footer-email:hover:after,.footer-links a:hover:after{transform:scaleX(1);transform-origin:left}
.footer-email:hover .icon{transform:translate(3px,-3px);color:#ccd0f8}
.footer-links a:hover{translate:6px 0}
.back-top:hover .icon{background:#ccd0f8;color:var(--blue);border-color:#ccd0f8;transition:background .35s,color .35s,border-color .35s,translate .2s ease-out}
.back-top:hover .icon use{animation:arrow-nudge .9s var(--ease) infinite}
.menu-toggle[aria-expanded=false]:hover span:first-child{transform:translateY(-2px)}
.menu-toggle[aria-expanded=false]:hover span:last-child{transform:translateY(2px)}
}
@keyframes arrow-swap{0%{transform:translate(0,0);opacity:1}42%{transform:translate(10px,-10px);opacity:0}50%{transform:translate(-10px,10px);opacity:0}100%{transform:translate(0,0);opacity:1}}
@keyframes arrow-nudge{0%,100%{transform:translate(0,0)}50%{transform:translate(2.5px,-2.5px)}}
@keyframes star-twinkle{0%{transform:none}45%{transform:translateY(-9px) scale(1.1)}100%{transform:none}}
@keyframes star-twinkle-blue{0%{transform:none;filter:none}45%{transform:translateY(-11px) scale(1.14);filter:drop-shadow(0 0 6px #a9bffb99)}100%{transform:none;filter:none}}
@keyframes star-rise{from{opacity:0;transform:translateY(16px) scale(.85)}to{opacity:1;transform:none}}
/* Unterseiten (Ueber uns, Mitglied werden, Impressum, Datenschutz): gleiche Sprache wie die Startseite,
   Panels und Linien werden wiederverwendet, Fliesstext bekommt eine ruhige Lesespalte. */
.desktop-nav a[aria-current=page]:after{transform:scaleX(1);transform-origin:left;background:#ccd0f8}
.page-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,4vw,80px);align-items:end;padding-top:196px;padding-bottom:76px}
.page-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 55% 75% at 92% 25%,#536fc78c,transparent 74%),radial-gradient(ellipse 50% 40% at 18% 105%,#273b9359,transparent 78%);mask-image:linear-gradient(#000 70%,transparent)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#c7d6f5;margin-bottom:28px}
.eyebrow:before{content:"";width:22px;height:1px;background:#ccd0f8}
.page-hero h1{font-size:clamp(50px,5.5vw,106px);line-height:1.04;letter-spacing:-.04em;font-weight:700;overflow-wrap:break-word;hyphens:auto}
.page-hero>*{min-width:0}
.hero-fit{container-type:inline-size}
.page-hero .hero-fit h1{font-size:min(9.3cqw,106px)}
.page-hero h1 .line{max-width:100%}
.page-hero h1 em{font-style:normal;color:#ccd0f8}
.page-lead{font-size:clamp(18px,1.2vw,23px);line-height:1.65;color:var(--soft);max-width:540px;padding-bottom:14px}
.page-lead p+p{margin-top:16px}
.page-section{position:relative;padding-block:var(--section-space)}
.page-section.is-ruled:before{content:"";position:absolute;top:0;left:var(--gutter);right:0;height:1px;background:linear-gradient(90deg,#ced2f6e6,#ced2f680 25%,#ced2f61a 45%,transparent 55%)}
/* Trennlinien wechseln die Richtung: erste Linie einer Seite verblasst nach rechts, die naechste nach links. */
.page-section.is-ruled.ruled-right:before{left:0;right:var(--gutter);background:linear-gradient(270deg,#ced2f6e6,#ced2f680 25%,#ced2f61a 45%,transparent 55%)}
.together.ruled-right:before,.offers.ruled-right:before{background:linear-gradient(270deg,#ced2f6e6,#ced2f680 25%,#ced2f61a 45%,transparent 55%)}
.section-head{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px,4vw,80px);align-items:start;margin-bottom:clamp(36px,4vw,64px)}
.section-head h2{font-size:clamp(38px,3.2vw,60px);line-height:1.12;letter-spacing:-.035em}
.section-head h2 span:not(.line){color:#bcc0ea}
.section-head p{font-size:19px;line-height:1.7;color:var(--soft);max-width:640px}
.section-head p+p{margin-top:16px}
.section-head-stack{display:block;margin-bottom:28px}
.page-section>.section-head:last-child{margin-bottom:0}
.section-head-note{margin-top:22px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.section-head-title{font-size:clamp(28px,2.4vw,40px);letter-spacing:-.03em;line-height:1.15;margin-bottom:12px}
/* Kontaktblock Startseite: beide Links im Stil des Textlinks, gleiche Groesse, untereinander */
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:34px}
.contact-links .contact-link{margin-top:0;font-size:clamp(19px,1.35vw,24px);gap:16px;min-height:52px}
.contact-links .contact-link .icon{width:20px;height:20px}
.contact-links .contact-link:after{bottom:12px;width:calc(100% - 36px)}
@media(max-width:700px){.contact-links{margin-top:24px;gap:2px}.contact-links .contact-link{font-size:18px;min-height:46px}}
.cta-top{padding-top:0}
.hero-cta{margin-top:30px}
.hero-cta .button{font-size:17px;padding:14px 14px 14px 30px}
.hero-cta .button .icon{width:40px;height:40px}
@media(hover:hover){.hero-cta .button:hover .icon use{animation:arrow-swap-down .5s var(--ease)}}
@keyframes arrow-swap-down{0%{transform:translate(0,0);opacity:1}42%{transform:translate(0,10px);opacity:0}50%{transform:translate(0,-10px);opacity:0}100%{transform:translate(0,0);opacity:1}}
.mt-l{margin-top:28px}
.mt-xl{margin-top:48px}
.prose{max-width:720px;font-size:19px;line-height:1.75;color:#dce5f8}
.prose p+p,.prose ul+p,.prose p+ul,.prose ol+p,.prose p+ol{margin-top:20px}
.prose h3{font-size:27px;letter-spacing:-.02em;line-height:1.2;margin:44px 0 14px;color:var(--ink)}
.prose h3:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:22px;margin:0}
.prose li+li{margin-top:8px}
.prose a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ccd0f880;transition:text-decoration-color .3s,color .3s}
/* Verweise auf Satzungsparagraphen: dezent unterstrichen, oeffnen die Satzung an der zitierten Stelle. */
.law-link{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccd0f866;white-space:nowrap;transition:color .3s,text-decoration-color .3s}
.law-link:hover{color:#fff;text-decoration-color:#ccd0f8}
.prose a:hover{color:#fff;text-decoration-color:#ccd0f8}
.prose strong{color:#fff;font-weight:700}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4vw,80px);align-items:start}
/* Beitragsabschnitt: links Ueberschrift und Kontofeld, rechts der Text weit aussen. */
.beitrag-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(32px,4vw,80px);align-items:start}
.beitrag-grid .prose{max-width:640px}
.beitrag-side h2{font-size:clamp(38px,3.2vw,60px);line-height:1.12;letter-spacing:-.035em}
.beitrag-side h2 span:not(.line){color:#bcc0ea}
.beitrag-side .bank{margin-top:clamp(20px,2.4vw,32px);grid-template-columns:1fr;gap:1px 0;padding:24px 30px;font-size:16px;line-height:1.4}
.beitrag-side .bank dt{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.beitrag-side .bank dd+dt{margin-top:11px}
.beitrag-side .bank dd small{margin-top:1px;line-height:1.3}
@media(max-width:1100px){.beitrag-grid{grid-template-columns:1fr;gap:30px}.beitrag-side .bank{margin-top:22px;padding:26px 22px}}
.form-befreiung .form-note{margin-top:2px}
.bank-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,3.5vw,64px);align-items:center;margin-top:clamp(28px,3vw,44px)}
.bank-row .form-note{grid-column:auto;margin:0;font-size:16px;line-height:1.7;max-width:420px}
.bank-row .form-note a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccd0f880}
@media(max-width:1100px){.bank-row{grid-template-columns:1fr;gap:22px}}
.two-col-tight .prose h3:first-child{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}
.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:701px) and (max-width:1250px){.cards:has(>.card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cards{grid-template-columns:minmax(0,1fr)}}
.card h3{overflow-wrap:anywhere}
.card{--panel-light:#789cdf70;position:relative;isolation:isolate;overflow:hidden;overflow:clip;padding:34px 36px 30px;border:1px solid #b7c4f34d;border-radius:var(--radius);background:radial-gradient(ellipse 60% 145% at 3% -20%,#9cb8f259,transparent 72%),radial-gradient(ellipse 100% 85% at 105% 0,var(--panel-light),transparent 72%),linear-gradient(150deg,#314b96,#17286e 65%,#121b5f);min-height:250px;display:flex;flex-direction:column;transition:border-color .6s}
.card:before{content:"";position:absolute;width:520px;height:520px;left:-140px;top:-170px;border:1px solid #cfdaff33;border-radius:50%;z-index:-1;pointer-events:none}
.card:hover{border-color:#c9d5ff80}
.card-index{font-size:13px;letter-spacing:.08em;color:var(--ink);margin-bottom:26px}
.card h3{font-size:clamp(24px,1.6vw,30px);line-height:1.2;letter-spacing:-.025em;margin-bottom:14px}
.card :where(p:not(.card-index,.card-foot)){font-size:17px;line-height:1.65;color:#dce5f8}
.card ul{margin:12px 0 0;padding-left:20px;font-size:16px;line-height:1.6;color:#dce5f8}
.card li+li{margin-top:6px}
.card-foot{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:10px;font-size:13px;color:#c7d6f5}
.card-foot:before{content:"";width:6px;height:6px;background:#b8ccff;border-radius:50%}
.card-quiet{--panel-light:#556cd44d;background:linear-gradient(150deg,#161c6a,#0f1458)}
/* Feinschliff 13.09.2026: Kartenreihen richten Etikett, Titel und Fuss gemeinsam aus, auch wenn ein Etikett umbricht. */
@supports (grid-template-rows:subgrid){.cards>.card{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;align-content:start}.cards>.card>.card-index{grid-row:1}.cards>.card>h3{grid-row:2}.cards>.card>.card-foot{grid-row:5;align-self:end}}
.card-foot{align-items:baseline}.card-foot:before{flex:none;translate:0 -.12em}
.nobr{white-space:nowrap}
/* Ueber uns: „Warum braucht es Mijus?“ als erste Sektion unter dem Hero, Ueberschrift in Hero-Groesse, Text groesser (17.09.2026). */
.warum-section{padding-top:clamp(40px,4.5vw,72px)}
.warum-section .section-head{grid-template-columns:1.15fr 1.35fr;align-items:start;margin-bottom:0}
.warum-section .section-head h2{font-size:clamp(40px,5vw,72px);line-height:1.04;letter-spacing:-.04em}
.warum-section .prose{max-width:820px;font-size:clamp(20px,1.6vw,25px);line-height:1.6}
@media(max-width:900px){.warum-section .section-head{grid-template-columns:1fr}}
.desktop-nav>a,.nav-group-button{border-radius:4px}
.offers-heading>p{text-wrap:balance}
@media(max-width:700px){.page-hero+.page-section:has(>.facts:first-child){padding-top:6px}}
/* Vorstandsvorstellung: Bildkarten in Gruppen, Vorhang gibt das Portraet beim Hereinscrollen frei. */
/* Profilknoepfe: gleicher runder Stil in den Vorstandskarten und in der Fusszeile. */
.social{display:flex;align-items:center;gap:10px}
.social a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #afc1f770;color:#becaeb;background:transparent;transition:border-color .35s var(--ease),color .35s,background .35s,scale .35s var(--ease)}
.social a:hover{border-color:#ccd0f8;color:#fff;background:#ccd0f81a}
.social .icon{width:19px;height:19px;fill:currentColor;stroke:none}
.footer-contact .social{margin-top:18px}
/* Vorstandsseite: nur die Ueberschrift ueber den Karten, damit die erste Reihe sofort im Bild steht. */
.vorstand-page .page-hero{grid-template-columns:1fr;padding-top:clamp(112px,9vw,150px);padding-bottom:clamp(22px,2vw,34px)}
.vorstand-page .page-section{padding-top:clamp(30px,2.6vw,46px)}
.board-group + .board-group{margin-top:clamp(44px,4.4vw,76px)}
.board-group-title{font-size:clamp(26px,2.1vw,38px);letter-spacing:-.03em;line-height:1.15;margin-bottom:clamp(20px,1.8vw,30px);color:var(--ink)}
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,1.7vw,30px)}
.board-card{display:flex;flex-direction:column;min-width:0;border:1px solid #b7c4f34d;border-radius:var(--radius);background:linear-gradient(160deg,#1b2573,#131c62 68%,#0e1358);overflow:hidden;overflow:clip;transition:border-color .5s var(--ease)}
.board-card:hover{border-color:#ccd0f8a6}
.board-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#05053a}
.board-photo img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s var(--ease)}
.board-card:hover .board-photo img{scale:1.045}
.board-curtain{position:absolute;inset:0;background:linear-gradient(105deg,#141966,#242c8e 55%,#38449f);transform-origin:100% 50%;transform:scaleX(0);pointer-events:none}
.board-text{padding:clamp(20px,1.5vw,28px) clamp(20px,1.5vw,28px) clamp(22px,1.7vw,30px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.board-ident{display:flex;flex-direction:column;gap:9px;min-width:0}
.board-name{font-size:clamp(19px,1.25vw,24px);font-weight:700;letter-spacing:-.025em;line-height:1.25;color:#fff;margin:0;overflow-wrap:anywhere}
.board-role{font-size:13px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;line-height:1.55;color:#9db2ea;overflow-wrap:anywhere}
@media(max-width:1080px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.board{grid-template-columns:minmax(0,1fr)}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}
.facts>div{padding:30px 26px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--line)}
.facts>div:first-child{padding-left:0}
.facts>div:last-child{border-right:0}
.facts dt{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#aabade}
.facts dd{margin:0;font-size:clamp(26px,2vw,38px);letter-spacing:-.03em;line-height:1.15;color:#fff;font-weight:500}
.facts dd small{display:block;font-size:14px;letter-spacing:0;color:#c7d6f5;font-weight:400;margin-top:8px;line-height:1.5}
.steps{counter-reset:step;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{position:relative;padding-top:30px;border-top:1px solid var(--line)}
.step:before{counter-increment:step;content:"0" counter(step);position:absolute;top:-11px;left:0;padding-right:12px;background:var(--blue);font-size:14px;letter-spacing:.08em;color:#ccd0f8}
.step h3{font-size:22px;letter-spacing:-.02em;margin-bottom:10px;line-height:1.25}
.step p{font-size:16px;line-height:1.65;color:#c8d0eb}
.milestones{border-left:1px solid var(--line);padding-left:34px;margin:0;list-style:none}
.milestone{position:relative;padding-bottom:36px}
.milestone:last-child{padding-bottom:0}
.milestone:before{content:"";position:absolute;left:-39px;top:8px;width:9px;height:9px;border-radius:50%;background:#ccd0f8;box-shadow:0 0 0 5px #ccd0f81f}
.milestone time,.milestone .when{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#aabade;margin-bottom:8px}
.milestone h3{font-size:24px;letter-spacing:-.02em;margin-bottom:8px;line-height:1.25}
.milestone p{font-size:17px;line-height:1.65;color:#c8d0eb;max-width:560px}
.cta-band{position:relative;isolation:isolate;overflow:hidden;overflow:clip;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;padding:clamp(40px,4vw,64px);border:1px solid #bdcfff52;border-radius:24px;background:radial-gradient(ellipse 60% 145% at 97% 120%,#9cb8f299,transparent 72%),radial-gradient(ellipse 85% 100% at 8% 0,#556cd47a,transparent 68%),linear-gradient(115deg,#171e72,#30449f)}
.cta-band:before,.cta-band:after{content:"";position:absolute;width:600px;height:600px;right:-140px;top:40px;border:1px solid #cfdaff33;border-radius:50%;z-index:-1}
.cta-band:after{right:-200px;top:100px}
.cta-band h2{font-size:clamp(36px,3.4vw,62px);line-height:1.08;letter-spacing:-.04em}
.cta-band h2 span:not(.line){font-weight:700;color:#fff}
.cta-band p{margin-top:18px;font-size:18px;line-height:1.7;color:#e0e6ff;max-width:560px}
.cta-band .membership-actions{justify-content:end}
.legal{max-width:72ch;font-size:17px}
.legal h2{font-size:clamp(28px,2.2vw,38px);letter-spacing:-.03em;line-height:1.15;margin:56px 0 18px;padding-top:34px;border-top:1px solid var(--line)}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal h3{font-size:22px;letter-spacing:-.02em;margin:30px 0 10px;line-height:1.25}
.legal p,.legal li{font-size:17px;line-height:1.75;color:#dce5f8}
.legal p+p{margin-top:14px}
.legal ul{padding-left:22px;margin:12px 0}
.legal li+li{margin-top:6px}
.legal a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ccd0f880;transition:color .3s,text-decoration-color .3s}
.legal a:hover{color:#fff;text-decoration-color:#ccd0f8}
.legal address{font-style:normal;margin-block:18px}
.legal p.legal-meta{font-size:14px;color:var(--quiet);margin-top:44px}
.legal dl{display:grid;grid-template-columns:minmax(170px,230px) 1fr;gap:10px 28px;margin:18px 0;font-size:17px;line-height:1.6}
.legal dt{color:#aabade}
.legal dd{margin:0;color:#f2f5ff}
.legal .note{padding:22px 26px;border:1px solid #ccd0f84d;border-radius:var(--radius);background:#0c1160;font-size:16px;line-height:1.65;color:#dce5f8;margin-top:22px}
/* Die fruehere helle Impressum-Sondergestaltung ist jetzt der globale Hellmodus (Dateiende). */
.legal-meta{font-size:14px;color:#aabade;margin-top:44px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.form fieldset{display:contents;border:0;padding:0;margin:0;min-width:0}
.form legend{grid-column:1/-1;font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--ink);padding:0;margin-top:24px}
.form .field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form .field-full{grid-column:1/-1}
.form :where(label){font-size:14px;letter-spacing:.02em;color:#c7d6f5}
.form label small{color:#7f8cbf;margin-left:6px;letter-spacing:0}
.form input,.form textarea{font:inherit;font-size:17px;line-height:1.4;color:var(--ink);background:#0c1160;border:1px solid #a9b9ee4d;border-radius:12px;padding:14px 16px;width:100%;transition:border-color .3s,background .3s,box-shadow .3s}
.form input:hover,.form textarea:hover{border-color:#ccd0f880}
.form input:focus-visible,.form textarea:focus-visible{outline:0;border-color:#d4dfff;box-shadow:0 0 0 4px #d4dfff26}
.form input::placeholder,.form textarea::placeholder{color:#7f8cbf}
.form textarea{min-height:120px;resize:vertical}
.form input:user-invalid,.form textarea:user-invalid{border-color:#f0a3b8}
.form input[type=date]{color-scheme:dark}
/* Eigener Kalender fuer das Geburtsdatum: gleiche Sprache wie die uebrigen Felder, Monat und Jahr direkt waehlbar. */
.datum-feld{position:relative}
.datum-feld input{padding-right:52px}
.datum.is-custom input[type=date]{-webkit-appearance:none;appearance:none}
.datum.is-custom input[type=date]::-webkit-calendar-picker-indicator{display:none}
.datum-knopf{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#c7d6f5;cursor:pointer;transition:background .25s,color .25s}
.datum-knopf:hover{background:#ccd0f81f;color:#fff}
.datum-knopf:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.datum-knopf svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.kalender{position:absolute;z-index:30;top:calc(100% + 10px);left:0;width:min(330px,100%);padding:14px;border:1px solid #b7c4f34d;border-radius:16px;background:linear-gradient(160deg,#141a63,#0d1256);box-shadow:0 24px 60px #03032e80;opacity:0;translate:0 -8px;pointer-events:none;transition:opacity .25s var(--ease),translate .25s var(--ease)}
.kalender.is-open{opacity:1;translate:0 0;pointer-events:auto}
.kalender-kopf{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;align-items:center;margin-bottom:12px}
.kalender-kopf .wahl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0}
.kalender select{font:inherit;font-size:14px;color:var(--ink);background:#0c1160;border:1px solid #a9b9ee4d;border-radius:10px;padding:8px 6px;width:100%;min-width:0;text-align:center;text-align-last:center;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .25s}
.kalender select:hover{border-color:#ccd0f880}
.kalender select:focus-visible{outline:0;border-color:#d4dfff;box-shadow:0 0 0 3px #d4dfff26}
.kalender-pfeil{width:32px;height:32px;display:grid;place-items:center;border:1px solid #a9b9ee4d;border-radius:50%;background:transparent;color:#ccd0f8;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.kalender-pfeil:hover{border-color:#ccd0f8;background:#ccd0f81f;color:#fff}
.kalender-pfeil:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.kalender-pfeil:before{content:"";width:7px;height:7px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateX(2px) rotate(45deg)}
.kalender-pfeil.weiter:before{transform:translateX(-2px) rotate(-135deg)}
.kalender-tage,.kalender-namen{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.kalender-namen{margin-bottom:4px}
.kalender-namen span{text-align:center;font-size:12px;letter-spacing:.04em;color:#8f9dd0;padding:4px 0}
.kalender-tage button{aspect-ratio:1;display:grid;place-items:center;font:inherit;font-size:14px;color:#dce5f8;background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.kalender-tage button:hover{background:#ccd0f81f;color:#fff}
.kalender-tage button:focus-visible{outline:0;border-color:#d4dfff;box-shadow:0 0 0 3px #d4dfff26}
.kalender-tage button[disabled]{color:#5b6499;cursor:default;background:transparent}
.kalender-tage button.is-heute{border-color:#ccd0f84d}
.kalender-tage button.is-gewaehlt{background:linear-gradient(150deg,#dfe4ff,#ccd0f8);color:#0b1150;font-weight:500}
.kalender-fuss{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;color:#aabade}
.kalender-fuss button{font:inherit;font-size:13px;color:#c7d6f5;background:transparent;border:0;padding:4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .25s}
.kalender-fuss button:hover{color:#fff}
.choice-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.choice-group-2{grid-template-columns:repeat(2,1fr)}
/* Unterwahl der Foerdermitgliedschaft: schlichte Pillen unter den beiden grossen Feldern. */
.subchoice{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px}
.subchoice-label{font-size:14px;letter-spacing:.02em;color:#c7d6f5;margin-right:4px}
.pill{position:relative;display:inline-flex;align-items:center;padding:10px 18px;border:1px solid #a9b9ee4d;border-radius:999px;background:#0c1160;font-size:15px;color:#dce5f8;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.pill:hover{border-color:#ccd0f880;color:#fff}
.pill:has(input:checked){border-color:#d4dfff;background:linear-gradient(250deg,#7e9be03d,#667ed409);color:#fff}
.pill:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}
.pill input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.choice.is-active{border-color:#d4dfff;background:linear-gradient(250deg,#7e9be03d,#667ed409)}
/* Abschluesse: wiederholbare Gruppe aus vier Feldern, spaeter hinzugefuegte mit eigener Linie. */
.alumni-groups{grid-column:1/-1;display:grid;gap:24px}
.alumni-group{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.alumni-group+.alumni-group{border-top:1px solid var(--line);padding-top:24px}
.alumni-remove{grid-column:1/-1;margin:0}
.alumni-group:first-child .alumni-remove{display:none}
.alumni-add{grid-column:1/-1;margin:0}
@media(max-width:700px){.alumni-group{grid-template-columns:1fr}}
.choice{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 22px;border:1px solid #a9b9ee4d;border-radius:14px;background:#0c1160;cursor:pointer;transition:border-color .3s,background .3s}
.choice:hover{border-color:#ccd0f880}
.choice:has(input:checked){border-color:#d4dfff;background:linear-gradient(250deg,#7e9be03d,#667ed409)}
.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:4px}
.choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.choice strong{font-size:18px;letter-spacing:-.02em;color:#fff;line-height:1.3}
.choice span{font-size:14px;line-height:1.55;color:#c8d0eb}
.check{grid-column:1/-1;display:flex;gap:14px;max-width:78ch;min-height:44px;align-items:start;font-size:15px;line-height:1.6;color:#dce5f8;cursor:pointer}
/* Ankreuzfelder im Stil der uebrigen Formularfelder: dunkles Quadrat, heller Haken beim Auswaehlen. */
.check input{appearance:none;-webkit-appearance:none;position:relative;width:16px;height:16px;min-width:16px;padding:0;margin:4px 0 0;flex-shrink:0;border:1px solid #a9b9ee66;border-radius:4px;background:#0c1160;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}
.check:hover input{border-color:#ccd0f8a6}
.check input:checked{background:linear-gradient(150deg,#dfe4ff,#ccd0f8);border-color:#dfe4ff}
.check input:before{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #0b1150;border-width:0 2px 2px 0;transform:rotate(42deg) scale(.4);opacity:0;transition:transform .25s var(--spring),opacity .18s}
.check input:checked:before{transform:rotate(42deg) scale(1);opacity:1}
.check input:focus-visible{outline:0;border-color:#d4dfff;box-shadow:0 0 0 3px #d4dfff2e}
.check input:user-invalid{border-color:#f0a3b8}
.check a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccd0f880}
/* Hochschulwahl: das Freitextfeld gehoert zur Auswahl „Meine Hochschule ist nicht dabei“.
   main.js blendet es per hidden ein und aus; ohne JavaScript uebernimmt das :has()-Paar, und ganz
   ohne :has() bleibt es dauerhaft sichtbar, sodass die Angabe nie verloren geht. */
@supports selector(:has(*)){
.field-wahl-frei{display:none}
.field-wahl:has(option[value="__andere"]:checked)+.field-wahl-frei{display:flex}
}
.form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-top:8px}
.form-note{grid-column:1/-1;max-width:78ch;font-size:14px;line-height:1.6;color:#aabade}
.form-sent{grid-column:1/-1;padding:18px 22px;border:1px solid #ccd0f84d;border-radius:12px;background:#10165d;font-size:15px;line-height:1.6;color:#e0e6ff}
.form-sent:focus{outline:2px solid var(--focus);outline-offset:4px}
.form-error{grid-column:1/-1;padding:18px 22px;border:1px solid #f0a3b866;border-radius:12px;background:#10165d;font-size:15px;line-height:1.6;color:#ffe3ea}
.form-error:focus{outline:2px solid var(--focus);outline-offset:4px}
.form select:user-invalid{border-color:#f0a3b8}
.form .is-invalid input,.form .is-invalid textarea,.form .is-invalid select{border-color:#f0a3b8;box-shadow:0 0 0 4px #f0a3b826}
.form .check.is-invalid{color:#ffe3ea}
.form button[disabled]{opacity:.7;cursor:progress}
.form .field input,.form .field textarea,.form .field select,.check input{border-color:#a9b9ee80}
.form .field input:focus-visible,.form .field textarea:focus-visible,.form .field select:focus-visible{border-color:var(--focus)}
.form .field :is(input,textarea,select):user-invalid,.form .is-invalid :is(input,textarea,select){border-color:#f0a3b8}
.check input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.form label small{font-size:13px;color:var(--quiet)}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.print-only{display:none}
/* Aktuelles, Veranstaltungen, Kooperation, Unterstuetzen, Satzung, Kontakt (08.09.2026) */
.news-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}
.news{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:40px 0;border-bottom:1px solid var(--line)}
.news time,.news .when{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#aabade;padding-top:10px}
.news h2{font-size:clamp(26px,2.2vw,36px);letter-spacing:-.03em;line-height:1.15;margin-bottom:14px}
.news p,.news li{font-size:17px;line-height:1.7;color:#dce5f8;max-width:720px}
.news p+p,.news ul+p,.news p+ul{margin-top:12px}
.news ul{margin:0;padding-left:22px}
.news li+li{margin-top:4px}
.news .text-link{margin-top:18px}
.tag{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#c7d6f5;border:1px solid #ccd0f84d;border-radius:999px;padding:5px 12px;margin-bottom:14px}
.events{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}
.event{display:grid;grid-template-columns:200px 1fr auto;gap:32px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.event-date{display:flex;flex-direction:column;gap:4px}
.event-date strong{font-size:22px;letter-spacing:-.02em;color:#fff;line-height:1.2;font-weight:500}
.event-date span{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#aabade}
.event h3{font-size:22px;letter-spacing:-.02em;margin-bottom:6px;line-height:1.25}
.event p{font-size:16px;line-height:1.65;color:#c8d0eb;max-width:640px}
.event .tag{margin:0 0 10px}
.event-meta{font-size:14px;line-height:1.6;color:#aabade;white-space:nowrap;padding-top:4px;text-align:right}
.bank{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:12px 24px;padding:28px 30px;border:1px solid #ccd0f84d;border-radius:var(--radius);background:#0c1160;font-size:17px;line-height:1.5;margin:0}
.bank dt{color:#aabade}
.bank dd{margin:0;color:#fff;font-weight:500;font-variant-numeric:tabular-nums}
.bank dd.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.08em}
.bank dd small{display:block;font-size:14px;font-weight:400;color:#c7d6f5;margin-top:4px;line-height:1.5}
.doc-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:26px}
.doc-meta{font-size:15px;line-height:1.65;color:#aabade;max-width:640px}
.doc-meta strong{color:#dce5f8;font-weight:500}
.doc-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.download{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:#fff;padding:11px 18px;border:1px solid #ccd0f866;border-radius:999px;transition:border-color .3s,background .3s}
.download:hover{border-color:#ccd0f8;background:#ccd0f81a}
.download small{color:#aabade;font-size:13px}
.tool-button{font:inherit;font-size:14px;color:#c7d6f5;background:transparent;border:1px solid #ccd0f84d;border-radius:999px;padding:9px 16px;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.tool-button:hover{color:#fff;border-color:#ccd0f8;background:#ccd0f81a}
.doc-column{max-width:920px;margin-inline:auto;border-top:1px solid var(--line);padding-top:clamp(36px,4vw,56px)}
.page-hero-column{display:block;padding-bottom:0}
/* Satzungsseite: Titel zentriert, Abstaende zwischen den Dokumentbloecken eng, Linie als einziger Trenner */
.satzung-page .page-hero{padding-top:176px;padding-bottom:34px}
.satzung-page .page-hero h1{text-align:center}
.satzung-page .page-section{padding-block:18px 24px}
.satzung-page .doc-column{padding-top:34px}
.satzung-page .legal-meta{margin-top:22px}
.satzung-page .section-head h2{font-size:clamp(28px,2.4vw,40px);line-height:1.15}
.satzung-page .footer{margin-top:60px}
.page-hero-column .doc-column{border-top:0;padding-top:0;display:grid;gap:26px}
.page-hero-column .page-lead{max-width:680px}
.page-section .doc-column .section-head-stack{margin-bottom:22px}
.clauses{border-top:1px solid var(--line)}
.clause{border-bottom:1px solid var(--line)}
.clause summary{list-style:none;display:grid;grid-template-columns:72px 1fr 26px;gap:18px;align-items:center;padding:13px 0;cursor:pointer;font-size:clamp(18px,1.2vw,21px);letter-spacing:-.02em;font-weight:500;color:#fff;transition:color .3s}
.clause summary::-webkit-details-marker{display:none}
.clause summary:hover{color:#ccd0f8}
.clause summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.clause summary .no{font-size:14px;letter-spacing:.08em;color:#aabade;font-weight:400;white-space:nowrap}
.clause summary .chev{width:26px;height:26px;border:1px solid #ccd0f84d;border-radius:50%;display:grid;place-items:center;transition:transform .45s var(--ease),background .3s,border-color .3s}
.clause summary .chev:before{content:"";width:8px;height:8px;border-right:1.5px solid #ccd0f8;border-bottom:1.5px solid #ccd0f8;transform:translateY(-2px) rotate(45deg)}
.clause[open]:not(.is-closing) summary .chev{transform:rotate(180deg);background:#ccd0f81f;border-color:#ccd0f8}
.clause-body{padding:2px 0 26px 90px;max-width:calc(72ch + 90px);font-size:17px}
.clause-body h4{font-size:18px;letter-spacing:.005em;color:#c7d6f5;margin:24px 0 8px;display:flex;gap:14px;font-weight:500}
.clause-body h4:first-child{margin-top:0}
/* Satzung und Ordnungen: Paragraphentitel > Unterpunkt > Fliesstext (PC ca. 22 > 18 > 17 px, Handy 19 > 17 > 16 px). */
.satzung-page .clause summary{font-size:clamp(21px,1.55vw,25px)}
/* Fragen und Antworten im selben Aufklapp-Stil wie die Satzung, aber ohne Nummernspalte. */
.faq .clause summary{grid-template-columns:1fr 26px;gap:20px}
.faq .clause-body{padding-left:0;padding-bottom:22px}
.fragen-section{padding-top:0}
.fragen-section .doc-column{padding-top:34px}
.faq-title{font-size:clamp(38px,3.2vw,60px);line-height:1.12;letter-spacing:-.035em;text-align:center;margin-bottom:clamp(26px,3vw,40px)}
.clause,.clause-body h4{scroll-margin-top:120px}
.clause-body h4.is-target,.clause.is-target>summary{position:relative}
.clause-body h4.is-target:before,.clause.is-target>summary:before{content:"";position:absolute;left:-18px;top:-6px;right:-14px;bottom:-6px;border-radius:8px;background:linear-gradient(90deg,#ccd0f81f,#ccd0f800);box-shadow:inset 2px 0 0 #ccd0f8;animation:target-fade 3.4s var(--ease) forwards;pointer-events:none}
@keyframes target-fade{0%{opacity:0}12%{opacity:1}70%{opacity:1}100%{opacity:0}}
.clause-body h4 span{color:#7f8cbf;font-variant-numeric:tabular-nums}
.clause-body p,.clause-body li{font-size:17px;line-height:1.75;color:#dce5f8}
.clause-body p+p{margin-top:10px}
.clause-body ol{margin:8px 0;padding-left:36px}
.clause-body ol.roman{list-style:lower-roman}
.clause-body ol.alpha{list-style:lower-alpha}
.clause-body ol.decimal{list-style:decimal}
.clause-body li+li{margin-top:6px}
.clause-body li::marker{color:#aabade}
.clause-body li p{margin-top:6px}
.channels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.channel{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#0c1160;display:flex;flex-direction:column;gap:8px;transition:border-color .4s}
.channel:hover{border-color:#ccd0f866}
.channel .label{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#aabade}
.channel strong{font-size:19px;letter-spacing:-.02em;color:#fff;line-height:1.3}
.channel p,.channel a{font-size:15px;line-height:1.6;color:#c8d0eb}
.channel a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccd0f866}
.channel a:hover{color:#fff}
:where(.news,.event,.card,.clause-body,.step,.page-lead,.section-head,.notfound-text) :where(p,li)>a:not(.button,.text-link,.law-link),a.card-foot{text-decoration:underline;text-decoration-color:#ccd0f8a6;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
a.card-foot{min-height:44px}
a.card-foot:before{display:none}
:where(.news,.event,.card,.clause-body,.step,.page-lead,.section-head,.notfound-text) a:hover{color:#fff;text-decoration-color:#ccd0f8}
.select{position:relative}
.select:after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:1.5px solid #ccd0f8;border-bottom:1.5px solid #ccd0f8;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.form :where(select){font:inherit;font-size:17px;line-height:1.4;color:var(--ink);background:#0c1160;border:1px solid #a9b9ee4d;border-radius:12px;padding:14px 44px 14px 16px;width:100%;appearance:none;-webkit-appearance:none;transition:border-color .3s,box-shadow .3s;cursor:pointer}
.form select:hover{border-color:#ccd0f880}
.form select:focus-visible{outline:0;border-color:#d4dfff;box-shadow:0 0 0 4px #d4dfff26}
.form select option{background:#0c1160;color:#fff}
/* Fehlerseite: gleicher Bildraum, kein eigenes Gestaltungsvokabular. */
.notfound{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:90px}
.notfound:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 70% at 78% 45%,#475bc08c,transparent 74%),radial-gradient(ellipse 43% 40% at 8% 100%,#222b8059,transparent)}
.notfound-code{font-size:17px;font-weight:500;color:var(--quiet);letter-spacing:.1em;margin-bottom:26px}
.notfound h1{font-size:clamp(43px,5.4vw,104px);font-weight:700;line-height:1.05;letter-spacing:-.04em;max-width:15ch}
.notfound-text{margin-top:30px;max-width:520px;font-size:clamp(17px,1.1vw,20px);line-height:1.7;color:var(--soft)}
.notfound-text a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccd0f880}
.notfound-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px;margin-top:40px}
@media(max-width:700px){.notfound{min-height:100svh;padding-block:100px 64px}.notfound-actions{gap:14px 22px;margin-top:32px}.notfound .button{font-size:14px}}

@media(min-width:1101px) and (max-height:850px){
.site-header{height:86px}.hero{min-height:max(700px,100svh);padding-top:124px;padding-bottom:48px}h1{font-size:clamp(76px,6.7vw,119px)}.hero-description{font-size:18px}
.offers{padding-block:36px;gap:28px}.membership{min-height:clamp(510px,69svh,600px);padding:40px 44px;gap:48px}.membership h2{font-size:clamp(48px,4vw,74px)}
.offer-answer{min-height:480px;padding:34px 40px}.offer-answer h3{font-size:46px}.offer-answer>p{font-size:18px}.offer-questions button{padding-block:18px;font-size:24px}.offers-heading h2{font-size:52px}.offers-heading>p{margin-top:18px}.together{min-height:max(740px,100svh)}.together-copy h2{font-size:52px}.together-inner{padding-block:60px}
}
@media(max-width:1100px){
:root{--gutter:34px}.site-header{gap:25px;height:88px}.brand-name{display:none}.desktop-nav{gap:24px}.hero{gap:40px;min-height:800px;padding-top:130px;padding-bottom:65px}h1{font-size:7.7vw}.button{font-size:14px;padding:10px 11px 10px 22px;gap:20px}.button .icon{width:36px;height:36px;padding:8px}.hero-description{font-size:18px}
.membership{min-height:560px;padding:40px 36px;gap:48px}.membership h2{font-size:clamp(42px,5vw,62px)}.membership-bottom p{font-size:17px}
.offers{gap:36px;padding-block:65px}.offers-heading h2{font-size:48px}.offers-heading>p{max-width:600px;font-size:17px}.offers-workspace{gap:32px;grid-template-columns:1.2fr 1fr}.offer-questions button{font-size:23px;padding:22px 18px}.offer-answer{padding:34px;min-height:600px}.offer-answer h3{font-size:40px}.offer-answer>p:not(.offer-status){font-size:17px}.offer-answer-bottom{align-items:start;flex-direction:column;gap:10px}
.together{min-height:850px}.together-inner{gap:40px;grid-template-columns:1fr 1.1fr}.together-copy h2{font-size:48px}.together-copy>p{font-size:18px}
.contact{gap:40px;padding-block:80px;grid-template-columns:1.3fr 1fr;min-height:0}.contact-main h2{font-size:48px}.contact-partners{padding-left:24px}.contact-partners p{font-size:17px}.email-link{gap:22px;font-size:36px}.email-link .icon{width:44px;height:44px;padding:9px}
.footer-main{grid-template-columns:1fr 1fr;gap:40px 60px}.footer-bottom{gap:20px}.back-top{margin-left:0}.footer-vision>p{max-width:410px}
.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}.news{grid-template-columns:150px 1fr;gap:20px}.event{grid-template-columns:150px 1fr;gap:16px 20px}.event-meta{grid-column:2;text-align:left;white-space:normal;padding-top:0}.clause summary{grid-template-columns:54px minmax(0,1fr) 30px;gap:16px}.clause-body{padding-left:0}.doc-head{grid-template-columns:1fr;align-items:start}
.page-hero{padding-top:150px;padding-bottom:56px;gap:32px}.page-hero h1{font-size:clamp(48px,6.4vw,84px)}.section-head{grid-template-columns:1fr;gap:18px}.steps{grid-template-columns:1fr 1fr}.cta-band{grid-template-columns:1fr;gap:28px}.cta-band .membership-actions{justify-content:start}
}
.desktop-nav a{white-space:nowrap}
@media(max-width:1440px){.brand-name{display:none}}
@media(max-width:1280px){.site-header{gap:26px}.desktop-nav{gap:20px;font-size:15px}}
@media(max-width:1100px){
.site-header{height:80px}.site-header.is-scrolled{height:80px}section[id]{scroll-margin-top:80px}.brand-mark{height:44px}.desktop-nav,.nav-cta{display:none}
.menu-toggle{display:flex;background:none;border:0;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .3s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav:not([hidden]){display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;gap:5px;background:#10165d;padding:20px var(--gutter) 30px;border-bottom:1px solid var(--line)}
.mobile-nav a{font-size:23px;padding-block:11px}
.site-header:has(.menu-toggle[aria-expanded=true]){background:#10165d}
.mobile-nav:not([hidden]){max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-color:#7e9be0;text-decoration-thickness:2px;text-underline-offset:7px}
.mobile-group-button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 0;background:none;border:0;color:inherit;font:inherit;font-size:23px;text-align:left}
.mobile-group-button .nav-chevron{width:20px;height:20px}
.mobile-group-button[aria-expanded=true] .nav-chevron{rotate:180deg}
.mobile-submenu:not([hidden]){display:flex;flex-direction:column;margin:2px 0 8px 4px;padding-left:18px;border-left:1px solid var(--line)}
.mobile-nav .mobile-submenu a{font-size:19px;padding-block:9px;color:#d3dbf5}
.mobile-nav .mobile-submenu a[aria-current=page]{color:#fff}
}
@media(max-width:900px){
.hero{grid-template-columns:1fr;min-height:100svh;gap:44px;padding-top:128px;padding-bottom:64px}.hero-copy{padding:0}h1{font-size:clamp(64px,10vw,88px)}
.membership{max-width:none;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;padding:40px 32px}.membership h2{font-size:42px}.membership-bottom p{font-size:16px}.membership-actions{gap:12px}.membership .button{max-width:100%;font-size:13px;gap:12px;padding-left:18px}
.offers-workspace{grid-template-columns:1fr;gap:28px}.offer-questions,.offer-answers{order:0}.offer-questions{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.offer-questions button{padding:22px 12px;font-size:21px;flex-direction:row;text-align:left}.offer-questions button:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.offer-questions button .icon{transform:none}.offer-questions button[aria-selected=true] .icon{transform:rotate(45deg)}.offer-questions button:before{display:none}.offer-questions button:hover span{translate:0}.offer-answer{min-height:460px}.offer-answer-bottom{flex-direction:row;align-items:center}
.together-inner{grid-template-columns:1fr 1.2fr}.together-copy h2{font-size:46px}
.page-hero{grid-template-columns:1fr;padding-top:132px;align-items:start}.page-lead{padding-bottom:0}.two-col{grid-template-columns:1fr;gap:36px}.form{grid-template-columns:1fr}.choice-group,.choice-group-2{grid-template-columns:1fr}.legal dl{grid-template-columns:1fr;gap:4px 0}.legal dd{margin-bottom:12px}
}
@media(max-width:700px){
:root{--gutter:24px}
.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:119px;padding-bottom:48px;gap:35px;overflow:hidden;overflow:clip}
.hero:before{background:radial-gradient(ellipse 100% 70% at 100% 70%,#3a51b08c,transparent 80%)}
.hero-copy{padding:0}h1{font-size:clamp(47px,12.9vw,88px);line-height:1.03}
.hero-description{margin-top:25px;max-width:470px;font-size:17px}.button{font-size:14px;padding:10px 11px 10px 22px;gap:18px}
.membership{width:100%;max-width:none;min-height:0;display:block;padding:34px 24px;border-radius:19px;margin-top:8px}.membership h2{font-size:clamp(35px,9.6vw,64px);line-height:1.12}.membership-bottom{margin-top:27px;max-width:none}.membership-bottom p{font-size:16px;margin-bottom:25px}.membership-actions{display:grid;grid-template-columns:1fr;gap:12px}.membership .button{width:100%;font-size:14px}.membership:before,.membership:after{width:450px;height:450px;right:-270px}.membership:after{right:-300px}.offer-answer:before,.offer-answer:after{width:450px;height:450px;left:-200px;top:-200px}.offer-answer:after{left:-240px;top:-240px}
.offers{min-height:0;padding-block:52px;gap:32px}.offers-heading{display:block}.offers-heading h2{font-size:clamp(34px,8.5vw,48px);line-height:1.12}.offers-heading>p{max-width:420px;margin-top:21px;font-size:16px}
.offers-workspace{display:flex;flex-direction:column;gap:26px}.offer-questions,.offer-answers{order:0}.offer-questions{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.offer-questions button{font-size:17px;padding:18px 10px;gap:8px;min-height:95px;align-items:start;flex-direction:row;text-align:left}.offer-questions button[aria-selected=true]{color:#fff}.offer-questions button:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.offer-questions button .icon{width:26px;height:26px;padding:4px;transform:none}.offer-questions button[aria-selected=true] .icon{transform:rotate(45deg)}.offer-questions button span br{display:none}
.offer-questions button small{font-size:12px;line-height:1.5;margin-top:10px}.offer-answer{min-height:520px;padding:30px 26px;border-radius:var(--radius)}.offer-answer h3{font-size:clamp(33px,8.8vw,48px);margin-block:0 22px}.offer-answer>p:not(.offer-status){font-size:16px}.offer-answer-bottom{gap:12px;padding-top:25px;flex-direction:column;align-items:start}.offer-status{font-size:13px}
.together{min-height:0}.together-inner{display:block;padding-top:370px;padding-bottom:55px}.study-photo img{width:100%;height:480px;object-position:50% 25%}.study-photo:after{background:linear-gradient(180deg,transparent 160px,#080c4fbd 345px,#080c4f 470px)}.study-photo figcaption{bottom:auto;top:20px;font-size:11px}.together-copy h2{font-size:clamp(40px,10.7vw,66px);line-height:1.1;margin-bottom:25px}.together-copy>p{font-size:17px}.together-copy .text-link{font-size:15px}
.partners{padding-block:28px}.partners-heading{margin-bottom:18px}.partners-heading h2{font-size:16px}.partners-group{width:1160px;gap:42px;padding-inline:21px}.partners-group li{width:190px;height:95px}.partner-jurafuchs img{width:170px}.partner-rlc img{width:84px;max-height:84px}.partner-adj img{width:164px}.partner-hamburg img,.partner-clifford img{width:190px}.partners.is-animated .partners-track{animation-duration:36s}

.contact{display:block;padding-block:64px}.contact-main h2{font-size:clamp(35px,9vw,51px)}.email-link{font-size:29px;gap:20px;margin-top:25px}.email-link .icon{width:36px;height:36px;padding:7px}.contact-partners{margin-top:44px;max-width:none;padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-partners h3{font-size:23px}.contact-partners p{font-size:16px}.contact-partners .text-link{font-size:14px}
.cards-3{grid-template-columns:1fr}.news{grid-template-columns:1fr;gap:8px;padding:30px 0}.news time,.news .when{padding-top:0}.event{grid-template-columns:1fr;gap:8px;padding:24px 0}.event-meta{grid-column:1}.bank{grid-template-columns:1fr;gap:2px;padding:22px 20px}.bank dt{margin-top:12px}.bank dt:first-child{margin-top:0}.clause summary{font-size:17px;padding:11px 0}.clause-body{padding-bottom:26px}.clause-body p,.clause-body li{font-size:16px}.satzung-page .clause summary{font-size:19px}.clause-body h4{font-size:17px}
.satzung-page .page-hero{padding-top:110px;padding-bottom:22px}
.hero h1 span{white-space:normal}
.event-meta{white-space:normal}
.page-hero{padding-top:118px;padding-bottom:44px}.page-hero h1{font-size:clamp(40px,11vw,64px)}.eyebrow{margin-bottom:20px}.page-lead{font-size:17px}.section-head h2{font-size:clamp(32px,8vw,44px)}.section-head p{font-size:17px}.prose{font-size:17px}.prose h3{font-size:23px;margin-top:32px}.steps{grid-template-columns:1fr;gap:28px}.facts{border-top:0}.facts>div{border-right:0;border-top:1px solid var(--line);padding:22px 0}.facts>div:first-child{border-top:0}.card{padding:28px 24px 26px;min-height:0}.cta-band{padding:34px 26px;border-radius:19px}.cta-band .membership-actions{display:grid;grid-template-columns:1fr}.legal h2{font-size:27px;margin-top:40px;padding-top:26px}.legal p,.legal li{font-size:16px}
.footer{padding-block:42px 24px}.footer-main{gap:36px 24px}.footer-identity,.footer-vision{grid-column:1/-1}.footer-brand .brand-mark{height:56px}.footer-identity>p{margin-top:16px}.footer-identity>.footer-description{margin-top:12px}.footer h2{font-size:15px;margin:0 0 14px}.footer-email{font-size:14px;gap:6px;margin-bottom:4px}.footer-email .icon{width:15px;height:15px}.footer-links a{font-size:14px;min-height:44px;line-height:1.55}.footer-vision>p{font-size:22px;max-width:420px}.footer-vision>p+p{font-size:14px;max-width:420px;margin-top:12px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px 20px;margin-top:32px;padding-top:18px}.footer-legal{grid-column:1/-1;grid-row:2;flex-wrap:wrap;gap:6px 20px;font-size:12px}.footer-legal small{flex-basis:100%;font-size:11px}.back-top{grid-column:2;grid-row:1;min-height:40px;font-size:12px}
}
@media(max-width:370px){:root{--gutter:20px}.offer-questions{gap:0 12px}.offer-questions button{font-size:16px}.offer-answer{padding-inline:23px}.offer-answer h3{font-size:31px}.membership{padding-inline:22px}.membership h2{font-size:9.8vw}.membership .button{font-size:14px}.email-link{font-size:26px}}
/* One entrance sequence establishes the headline, then the invitation.
   Content stays visible by default, including without JavaScript. */
@media(prefers-reduced-motion:no-preference){
.site-header{animation:header-arrive .9s var(--ease) both}
.site-header .brand-mark polygon{animation:star-rise .8s var(--ease) both;animation-delay:calc(.3s + var(--i)*.07s)}
.hero .membership{animation:hero-arrive 1.1s .06s var(--ease) both}
}
@keyframes hero-arrive{from{opacity:.65;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes header-arrive{from{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}
@media print{body.print-satzung{background:#fff;color:#000}body.print-satzung .site-header,body.print-satzung .footer,body.print-satzung .page-hero:before,body.print-satzung .clauses-tools,body.print-satzung .doc-actions,body.print-satzung .page-lead,body.print-satzung .print-hide{display:none}body.print-satzung .page-hero{display:block;padding:0 0 18px}body.print-satzung .page-hero h1{font-size:30px;color:#000}body.print-satzung .eyebrow,body.print-satzung .doc-meta,body.print-satzung .doc-meta strong{color:#333}body.print-satzung .eyebrow:before{background:#333}body.print-satzung .page-section{padding-block:14px}body.print-satzung .page-section.is-ruled:before{display:none}body.print-satzung .doc-column{max-width:none;border-top:0;padding-top:0}body.print-satzung .section-head h2{color:#000;font-size:24px}body.print-satzung .clauses,body.print-satzung .clause{border-color:#bbb}body.print-satzung .clause summary{color:#000;font-size:16px;padding:12px 0;grid-template-columns:70px 1fr}body.print-satzung .clause summary .no{color:#555}body.print-satzung .clause summary .chev{display:none}body.print-satzung .clause-body{padding:0 0 18px 70px;max-width:none}body.print-satzung .clause-body h4{color:#000;font-size:13px;margin:12px 0 4px}body.print-satzung .clause-body h4 span{color:#555}body.print-satzung .clause-body p,body.print-satzung .clause-body li{color:#000;font-size:11.5px;line-height:1.5}body.print-satzung .clause-body li::marker{color:#000}body.print-satzung .legal-meta{color:#333}
body.print-antrag{background:#fff;color:#000}body.print-antrag .site-header,body.print-antrag .footer,body.print-antrag .page-section:not(.antrag-section),body.print-antrag .page-hero:before,body.print-antrag .form-actions,body.print-antrag .form-note,body.print-antrag .form-sent,body.print-antrag .page-lead{display:none}body.print-antrag .page-hero{padding-top:20px;padding-bottom:10px;display:block}body.print-antrag .page-hero h1{font-size:34px;color:#000}body.print-antrag .page-hero h1 em{color:#333}body.print-antrag .eyebrow{color:#333}body.print-antrag .eyebrow:before{background:#333}body.print-antrag .antrag-section{padding-block:10px}body.print-antrag .section-head h2,body.print-antrag .section-head p,body.print-antrag .form label,body.print-antrag .form legend,body.print-antrag .check,body.print-antrag .choice strong,body.print-antrag .choice span,body.print-antrag .prose,body.print-antrag .prose h3{color:#000}body.print-antrag .form input,body.print-antrag .form textarea,body.print-antrag .form select{background:#fff;color:#000;border:0;border-bottom:1px solid #000;border-radius:0;padding:6px 0}body.print-antrag .form .select:after{display:none}body.print-antrag .choice{background:#fff;border:1px solid #000;color:#000}body.print-antrag .choice input{opacity:1;position:static;width:16px;height:16px;inset:auto}body.print-antrag .check input{accent-color:#000}body.print-antrag .print-only{display:block}body.print-antrag .print-only p{color:#000;font-size:14px}body.print-antrag .print-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}body.print-antrag .print-sign div{border-top:1px solid #000;padding-top:6px;font-size:13px;color:#000}.offer-answers.is-tabbed{display:block}.offer-answers.is-tabbed>.offer-answer[hidden]{visibility:visible}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.partners.is-animated .partners-window{overflow-x:auto;mask-image:none}.partners-group[aria-hidden=true]{display:none}.partners-group{width:auto;gap:45px;padding-inline:var(--gutter)}}
@media print{body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.site-header{position:relative;transform:none;left:auto}.hero,.offers,.together{min-height:0}.offer-questions,.menu-toggle,.back-top{display:none}.offer-answer[hidden]{display:flex!important}.offers-workspace{display:block}.offer-answer{break-inside:avoid;margin-bottom:20px}.partners-track{animation:none!important}.partners-group[aria-hidden=true]{display:none}}

/* Scroll-Choreografie, Schicht 2: an die Scrollposition gekoppelt (Scroll-Driven Animations).
   Browser ohne animation-timeline ignorieren den Block; die Fortschrittslinie faellt dann auf main.js zurueck. */
@supports (animation-timeline:view()){
@media(prefers-reduced-motion:no-preference){
.scroll-progress{animation:progress-draw linear both;animation-timeline:scroll(root)}
.hero-copy{animation:hero-recede linear both;animation-timeline:scroll(root);animation-range:0 85vh}
.hero .membership{animation:hero-arrive 1.1s .06s var(--ease) both,membership-recede linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 85vh}
@media(max-width:900px){.hero .membership{animation:hero-arrive 1.1s .06s var(--ease) both}}
.membership:before{animation:circle-drift linear both;animation-timeline:--membership;animation-range:cover 0% cover 100%}
.membership:after{animation:circle-drift-far linear both;animation-timeline:--membership;animation-range:cover 0% cover 100%}
.together:before{transform-origin:left;animation:line-draw linear both;animation-timeline:--together;animation-range:entry 0% entry 45%}
.together.ruled-right:before,.offers.ruled-right:before{transform-origin:right}
.offers:before{transform-origin:left;animation:line-draw linear both;animation-timeline:--offers;animation-range:entry 0% entry 45%}
.footer:before{transform-origin:left;animation:line-draw linear both;animation-timeline:--footer;animation-range:entry 0% entry 70%}
.study-photo img{scale:1.09;animation:photo-drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.together-copy{animation:copy-drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.offer-answer:before{animation:circle-drift linear both;animation-timeline:--answer;animation-range:cover 0% cover 100%}
.offer-answer:after{animation:circle-drift-far linear both;animation-timeline:--answer;animation-range:cover 0% cover 100%}
/* Unterseiten: dieselbe Tiefe wie die Startseite */
.page-hero{animation:page-recede linear both;animation-timeline:scroll(root);animation-range:0 85vh}
.page-section.is-ruled{view-timeline-name:--section}
.page-section.is-ruled:before{transform-origin:left;animation:line-draw linear both;animation-timeline:--section;animation-range:entry 0% entry 45%}
.page-section.is-ruled.ruled-right:before,.offers.ruled-right:before,.together.ruled-right:before{transform-origin:right}
.card{view-timeline-name:--card}
.card:before{animation:circle-drift linear both;animation-timeline:--card;animation-range:cover 0% cover 100%}
.cta-band{view-timeline-name:--band}
.cta-band:before{animation:circle-drift linear both;animation-timeline:--band;animation-range:cover 0% cover 100%}
.cta-band:after{animation:circle-drift-far linear both;animation-timeline:--band;animation-range:cover 0% cover 100%}
.board-photo img{scale:1.06;animation:photo-drift-soft linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.board-card:hover .board-photo img{scale:1.095}
}
}
@keyframes progress-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hero-recede{to{opacity:.06;translate:0 -64px}}
@keyframes membership-recede{to{scale:.94;opacity:.18}}
@keyframes circle-drift{from{translate:0 24px}to{translate:0 -24px}}
@keyframes circle-drift-far{from{translate:0 42px}to{translate:0 -42px}}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes photo-drift{from{translate:0 -4%}to{translate:0 4%}}
@keyframes copy-drift{from{translate:0 22px}to{translate:0 -22px}}
@keyframes page-recede{to{opacity:.08;translate:0 -48px}}
@keyframes photo-drift-soft{from{translate:0 -2.5%}to{translate:0 2.5%}}
@keyframes fade-in{from{opacity:0}}

/* Hell / Nacht: gleiche Typografie und Geometrie, umschaltbare Oberflaechen.
   Der Nachtmodus bleibt die bestehende Gestaltung. Kopf/Fuss bleiben auch tagsueber navy. */
.theme-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:9px 12px;background:transparent;border:1px solid #ccd0f866;border-radius:8px;font-size:14px;line-height:1;color:#f5f5ff;transition:background .2s,border-color .2s}
.theme-toggle:hover{background:#ffffff14;border-color:#ccd0f8}
.theme-toggle .icon{width:19px;height:19px}
.theme-moon{display:none}
html[data-theme=light] .theme-sun{display:none}
html[data-theme=light] .theme-moon{display:block}
.theme-standalone{--focus:#d4dfff;position:absolute;z-index:20;top:24px;right:var(--gutter);padding:4px;background:#070750;border-radius:10px}
@media(min-width:1101px) and (max-width:1700px){
  .site-header{gap:20px}
  .site-header .brand-name{display:none}
  .desktop-nav{gap:18px;font-size:14px}
  .nav-group-button{font-size:14px}
  .nav-cta{gap:14px;padding:12px 16px;font-size:14px}
  .site-header .brand-mark{height:50px}
  .site-header .theme-toggle{padding:10px}
  .site-header .theme-toggle [data-theme-label]{display:none}
}
@media(max-width:1100px){
  .site-header{gap:14px}
  .theme-toggle{padding:10px;gap:7px}
}
@media(max-width:370px){.site-header{gap:8px}.theme-toggle [data-theme-label]{display:none}}

@media screen{
html[data-theme=light]{color-scheme:light;background:#fff;scrollbar-color:#767687 #fff}
html[data-theme=light] body{
  --ink:#000;--soft:#000;--quiet:#3c3c49;--line:#07075026;--surface:#dce6f8;--focus:#070750;
  --day-panel:#dce6f8;--day-border:#7b8caf;--day-selected:#c5d6f5;--day-error:#a51c3c;
  background:#fff;color:#000;
}
html[data-theme=light] :is(.site-header,.footer){
  --ink:#f5f5ff;--soft:#c8d0eb;--quiet:#acb9df;--line:#a9b9ee33;--surface:#141966;--focus:#d4dfff;
  color:var(--ink);color-scheme:dark;
}
html[data-theme=light] .site-header:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:#070750;z-index:-1}
html[data-theme=light] main :focus-visible{outline-color:#070750}
html[data-theme=light] .skip-link{background:#070750;color:#fff}
html[data-theme=light] ::selection{background:#070750;color:#fff}
html[data-theme=light] :is(.site-header,.footer) ::selection{background:#d0d3f6;color:#070750}
html[data-theme=light] :is(.hero,.page-hero,.notfound):before{display:none}
html[data-theme=light] :is(.offers,.contact){background:#fff}
html[data-theme=light] :is(.card,.board-card,.bank,.channel,.legal .note){
  background:linear-gradient(125deg,#e5ecfa,var(--day-panel) 65%,#cbdaf3);border-color:#a4b8de;color:#000;
}
html[data-theme=light] .card:before{border-color:#07075014}
html[data-theme=light] :is(.card,.board-card,.channel):hover{border-color:#07075066}
html[data-theme=light] main :is(
  h1 em,.page-hero h1 em,.eyebrow,.membership h2 span:not(.line),.membership-bottom p,
  .offers-heading h2 span:not(.line),.offer-questions button,.offer-questions button small,
  .offer-answer>p,.offer-meta>span,.offer-status,.together-copy h2 span:not(.line),.together-copy>p,
  .section-head h2 span:not(.line),.prose,.prose strong,.beitrag-side h2 span:not(.line),
  .card p,.card ul,.card-foot,.board-name,.board-role,.facts dt,.facts dd,.facts dd small,
  .step p,.milestone time,.milestone .when,.milestone p,.cta-band h2 span:not(.line),.cta-band p,
  .legal p,.legal li,.legal dt,.legal dd,.legal p.legal-meta,.legal-meta,
  .form label,.form label small,.subchoice-label,.choice strong,.choice span,.check,.form-note,
  .datum-knopf,.kalender-pfeil,.kalender-namen span,.kalender-tage button,.kalender-fuss,.kalender-fuss button,
  .news time,.news .when,.news p,.news li,.tag,.event-date strong,.event-date span,.event p,.event-meta,
  .bank dt,.bank dd,.bank dd small,.doc-meta,.doc-meta strong,.download,.download small,.tool-button,
  .clause summary,.clause summary .no,.clause-body h4,.clause-body h4 span,.clause-body p,.clause-body li,
  .channel .label,.channel strong,.channel p,.channel a
){color:#000}
html[data-theme=light] .legal dt{font-weight:500}
html[data-theme=light] :is(.prose,.legal,.clause-body,.form-note,.check,.news,.event,.card,.channel,.notfound-text) a,
html[data-theme=light] .law-link{color:#000;text-decoration-color:#00000080}
html[data-theme=light] main a:hover{color:#070750;text-decoration-color:#070750}
html[data-theme=light] main :is(.button-light,.button-dark){
  color:#fff;background:#070750;border-color:#070750;box-shadow:none;
  --spot:#ffffff18;--sheen:#ffffff26;--sheen-soft:#ffffff0d;
}
html[data-theme=light] main :is(.button-light,.button-dark) .icon{background:#ffffff18;color:#fff}
html[data-theme=light] main .button-dark{background:transparent;color:#070750}
html[data-theme=light] main .button-dark .icon{background:#0707500c;color:#070750}
html[data-theme=light] main .button:hover{color:#fff;background:#161668}
html[data-theme=light] main .button:hover .icon{background:#fff;color:#070750}
html[data-theme=light] .text-link:after{background:#070750}
html[data-theme=light] main .text-link:hover .icon{color:#070750;filter:none}
html[data-theme=light] .eyebrow:before{background:#070750}
html[data-theme=light] .offer-questions button[aria-selected=true]{background:var(--day-selected);border-top-color:#070750;color:#000}
html[data-theme=light] .offer-questions button[aria-selected=true] small{color:#000}
html[data-theme=light] .offer-questions button:before{background:#070750}
html[data-theme=light] .offer-questions button .icon{border-color:var(--day-border);color:#070750}
html[data-theme=light] .offer-questions button[aria-selected=true] .icon{background:#070750;color:#fff;border-color:#070750}
html[data-theme=light] .offer-questions button:hover{color:#070750;background:#e0e9fa}
html[data-theme=light] .offer-questions button:hover small{color:#000}
html[data-theme=light] :is(.offer-status,.card-foot):before{background:#070750}
html[data-theme=light] :is(.page-section.is-ruled,.offers,.together):before{background:linear-gradient(90deg,#000000b3,#00000040 25%,#0000000d 45%,transparent 55%)}
html[data-theme=light] :is(.page-section.is-ruled,.offers,.together).ruled-right:before{background:linear-gradient(270deg,#000000b3,#00000040 25%,#0000000d 45%,transparent 55%)}
html[data-theme=light] .together{background:#fff}
html[data-theme=light] .study-photo:after{background:linear-gradient(90deg,#ffffff00 6%,#ffffff1a 22%,#ffffff66 38%,#ffffffb3 50%,#ffffffe0 60%,#fffffff5 70%,#fff 82%),linear-gradient(0deg,#ffffff44,transparent 24%)}
html[data-theme=light] .email-link{background:none;-webkit-text-fill-color:currentColor;color:#000}
html[data-theme=light] .email-link .icon{color:#070750;border-color:var(--day-border)}
html[data-theme=light] .step:before{background:#fff;color:#070750}
html[data-theme=light] .milestone:before{background:#070750;box-shadow:0 0 0 5px #07075012}
html[data-theme=light] main .social a{color:#070750;border-color:var(--day-border)}
html[data-theme=light] main .social a:hover{background:var(--day-selected);border-color:#070750}
html[data-theme=light] main :is(.tag,.download,.tool-button,.clause summary .chev){border-color:var(--day-border)}
html[data-theme=light] main :is(.download,.tool-button,.datum-knopf,.kalender-pfeil,.kalender-tage button):hover{background:var(--day-selected);color:#000}
html[data-theme=light] .clause summary .chev:before,
html[data-theme=light] .select:after{border-color:#070750}
html[data-theme=light] .clause[open]:not(.is-closing) summary .chev{border-color:#070750;background:var(--day-selected)}
html[data-theme=light] .clause-body li::marker{color:#000}
html[data-theme=light] :is(.clause-body h4.is-target,.clause.is-target>summary):before{background:linear-gradient(90deg,#07075014,transparent);box-shadow:inset 2px 0 0 #070750}
/* Eingaben: auch Kalender, native Optionen und dynamisch ergaenzte Abschlussfelder. */
html[data-theme=light] .form :is(input,textarea,select),
html[data-theme=light] :is(.choice,.pill,.kalender){
  color:#000;background:#fff;border-color:var(--day-border);color-scheme:light;
}
html[data-theme=light] .kalender{box-shadow:0 18px 42px #07075024}
html[data-theme=light] .form select option{background:#fff;color:#000}
html[data-theme=light] .form :is(input,textarea)::placeholder{color:#5c5c69;opacity:1}
html[data-theme=light] .form :is(input,textarea,select):hover,
html[data-theme=light] :is(.choice,.pill,.kalender-pfeil):hover{border-color:#070750}
html[data-theme=light] .form :is(input,textarea,select):focus-visible,
html[data-theme=light] .kalender-tage button:focus-visible{border-color:#070750;box-shadow:0 0 0 3px #07075026}
html[data-theme=light] :is(.choice,.pill):has(input:checked),
html[data-theme=light] .choice.is-active{border-color:#070750;background:var(--day-selected);color:#000}
html[data-theme=light] .check input:checked{background:#070750;border-color:#070750}
html[data-theme=light] .check input:before{border-color:#fff}
html[data-theme=light] .kalender-pfeil{border-color:var(--day-border)}
html[data-theme=light] .kalender-tage button.is-heute{border-color:#070750}
html[data-theme=light] .kalender-tage button.is-gewaehlt{background:#070750;color:#fff}
html[data-theme=light] .kalender-tage button[disabled]{color:#767680;background:transparent}
html[data-theme=light] .form-sent{background:var(--day-selected);border-color:#7281a7;color:#000}
html[data-theme=light] .form-error{background:#fff2f5;border-color:var(--day-error);color:#711229}
html[data-theme=light] .form .check.is-invalid{color:#711229}
html[data-theme=light] .form :is(input,textarea,select):user-invalid,
html[data-theme=light] .form .is-invalid :is(input,textarea,select){border-color:var(--day-error);box-shadow:0 0 0 3px #a51c3c14}
/* Auch eine spaeter wieder aktivierte Partnerleiste bekommt keine dunkle Innenkante. */
html[data-theme=light] :is(.partners,.partners-track){background:#fff}
html[data-theme=light] .partners-heading h2{color:#000}
html[data-theme=light] .partner-monochrome img{filter:none;mix-blend-mode:normal}
/* Weiss ist die Leinwand; tragende Inhaltsflaechen behalten die MIJUS-Blautoene. */
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band){
  --ink:#f5f5ff;--soft:#dbe5ff;--quiet:#c4d5f7;--line:#a9b9ee55;--focus:#d4dfff;
  color:var(--ink);border-color:#415594;
  background:linear-gradient(135deg,#070750,#192c78 68%,#304b94);
}
html[data-theme=light] :is(.membership,.offer-answer,.cta-band):before,
html[data-theme=light] :is(.membership,.offer-answer,.cta-band):after{border-color:#cfdaff26}
html[data-theme=light] main :is(
  .membership h2 span:not(.line),.membership-bottom p,.offer-answer>p,
  .offer-meta>span,.offer-status,.cta-band h2 span:not(.line),.cta-band p
){color:#f5f5ff}
html[data-theme=light] body main :is(.membership,.offer-answer,.cta-band) .eyebrow{color:#dbe5ff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .eyebrow:before,
html[data-theme=light] main .offer-answer .offer-status:before{background:#b8ccff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) :focus-visible{outline-color:#d4dfff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) ::selection{background:#d0d3f6;color:#070750}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) a:hover{color:#fff;text-decoration-color:#fff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button-light{
  background:#f5f5ff;color:#070750;border-color:#f5f5ff;
  --spot:#0707500c;--sheen:#07075014;--sheen-soft:#07075008;
}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button-light .icon{background:#0707500c;color:#070750}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button-dark{background:#07075066;color:#f5f5ff;border-color:#a9b9ee99}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button-dark .icon{background:#ffffff14;color:#f5f5ff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button:hover{background:#dbe5ff;color:#070750;border-color:#dbe5ff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .button:hover .icon{background:#070750;color:#fff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .text-link:after{background:#b8ccff}
html[data-theme=light] main :is(.membership,.offer-answer,.cta-band) .text-link:hover .icon{color:#fff}
html[data-theme=light] :is(.choice,.pill):not(:has(input:checked)):not(.is-active){background:#e5ecfa}
@media(max-width:700px){
  html[data-theme=light] .study-photo:after{background:linear-gradient(180deg,transparent 160px,#ffffffed 345px,#fff 470px)}
}
}
@media print{.theme-toggle,.theme-standalone{display:none!important}}
