/* Farben und Maße zentral anpassen */
:root{--purple:#491980;--green:#209c40;--tint:#f3edfa;--ink:#24212c;--muted:#625c6b;--line:#ded5e7;--track:3px;--rail:24px;--curve:32px;--width:1120px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:180px}body{margin:0;background:#fff;color:var(--ink);font:18px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--purple);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}h1,h2,h3{color:var(--purple);line-height:1.15;margin:0 0 20px;overflow-wrap:anywhere}h1{font-size:clamp(2.2rem,4.8vw,3.7rem);letter-spacing:-.045em;max-width:850px}h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em}h3{font-size:1.23rem;line-height:1.3;margin-bottom:12px}p{margin:0 0 18px}p:last-child{margin-bottom:0}.shell{width:calc(100% - 48px);max-width:var(--width);margin:0 auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;z-index:10}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:2px solid var(--purple);box-shadow:0 4px 18px #49198012;transition:background-color .2s ease,box-shadow .2s ease}.site-header.is-scrolled{background:#fff;box-shadow:0 5px 20px #49198020}.site-header.is-scrolled .nav a:hover{background:var(--tint)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;transition:padding .2s ease}.brand{display:inline-flex;align-items:center;gap:15px;text-decoration:none;color:var(--green);font-size:1.9rem;font-weight:750;white-space:nowrap;transition:font-size .2s ease}.brand img{width:104px;height:104px;object-fit:contain;transition:width .2s ease,height .2s ease}.site-header.is-scrolled .header-inner{padding:12px 0}.site-header.is-scrolled .brand img{width:62px;height:62px}.site-header.is-scrolled .brand{font-size:1.5rem}.nav{display:flex;gap:28px;align-items:center;font-size:.95rem;font-weight:650}.nav a{text-decoration:none;padding:8px 10px;border-radius:6px}.nav a:hover{background:var(--tint)}.nav a:hover{text-decoration:underline}.block{--section-bg:#fff;position:relative;isolation:isolate;background:var(--section-bg)}.block>.shell{position:relative;padding:64px 96px 64px 0}.blocks>.block:nth-child(even),.legal-title{--section-bg:var(--tint)}.block>.shell::after{content:"";position:absolute;width:0;right:calc(var(--rail) - var(--track) / 2);top:0;bottom:0;border-right:var(--track) solid var(--green);pointer-events:none}.heading{position:relative}.heading::after{content:"";position:absolute;right:-72px;top:13px;width:48px;border-top:var(--track) solid var(--green)}.heading::before{content:"";position:absolute;right:-32.5px;top:6px;width:17px;height:17px;border:var(--track) solid var(--green);border-radius:50%;background:var(--section-bg);z-index:1}.eyebrow{font-size:.8rem;line-height:1.4;color:var(--green);font-weight:750;letter-spacing:.065em;text-transform:uppercase;margin-bottom:12px}.lead{font-size:1.2rem;max-width:740px;line-height:1.6}.hero>.shell{padding-top:70px;padding-bottom:75px;min-height:340px}.hero>.shell::after{top:192px}.hero .hero-copy{padding-right:85px}.hero-art{position:absolute;right:24px;top:24px;width:200px;height:200px;color:var(--green);overflow:visible;pointer-events:none}.blocks>.block:last-of-type>.shell::after,.legal-body>.block:last-of-type>.shell::after{display:none}.blocks>.block:last-of-type>.shell::before,.legal-body>.block:last-of-type>.shell::before{content:"";position:absolute;left:0;right:calc(var(--rail) - var(--track) / 2);top:0;bottom:calc(var(--track) / -2);border-right:var(--track) solid var(--green);border-bottom:var(--track) solid var(--green);border-bottom-right-radius:var(--curve);mask-image:linear-gradient(to right,transparent,#000 24%);-webkit-mask-image:linear-gradient(to right,transparent,#000 24%);pointer-events:none}.grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.grid-three article+article{border-left:1px solid #cfc1dc;padding-left:28px}.grid-three p{font-size:1rem}.work-copy{max-width:800px}.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.support-card{background:#fff;border:1px solid #d5c8e0;border-radius:12px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.icon{width:42px;height:42px;fill:none;stroke:var(--green);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.support-card h3{margin:20px 0}.button{display:inline-flex;gap:18px;align-items:center;justify-content:center;border:2px solid var(--purple);border-radius:7px;padding:12px 18px;color:#fff;background:var(--purple);font-size:1rem;font-weight:650;text-decoration:none;width:100%;margin-top:auto}.button.secondary{color:var(--purple);background:#fff}.button:hover{background:#391365;color:#fff}.support-hint{font-size:.9rem;color:var(--muted);margin-top:22px}.contact-grid{display:flex;flex-wrap:wrap;gap:28px 64px;margin-top:25px}.contact-item{display:flex;align-items:center;gap:18px;min-width:0}.contact-item strong{display:block;color:var(--purple)}.contact-item a{overflow-wrap:anywhere}.site-footer{font-size:.9rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px calc(var(--rail) + var(--curve) - var(--track) / 2) 23px 0}.footer-brand{font-weight:750;color:var(--green)}.footer-links{display:flex;gap:25px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.footer-links [aria-current]{font-weight:750}.back{display:inline-block;margin:22px 0;font-size:.95rem;text-decoration:none}.legal-title>.shell{padding-top:42px;padding-bottom:42px;min-height:260px}.legal-title h1{margin-bottom:0;max-width:calc(100% - 135px)}.legal-title>.shell::after{top:192px}.legal-body .block>.shell{padding-top:38px;padding-bottom:26px}.legal-body .block:nth-child(even){--section-bg:#fff}.prose{max-width:780px;overflow-wrap:anywhere}.prose h3{margin-top:30px}.prose h4{color:var(--purple);margin-bottom:12px;font-size:1.05rem}.prose li{margin:10px 0}.toc{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.95rem}.legal-end{font-size:.9rem;color:var(--muted);margin-top:32px}
@media(max-width:760px){:root{--rail:8px}body{font-size:16px}.shell{width:calc(100% - 32px)}.header-inner{flex-wrap:wrap;gap:8px;padding:12px 0}.brand{font-size:1.35rem;gap:10px}.brand img{width:76px;height:76px}.site-header.is-scrolled .brand img{width:48px;height:48px}.site-header.is-scrolled .brand{font-size:1.2rem}.site-header.is-scrolled .header-inner{padding:8px 0}.nav{gap:4px 12px;font-size:.85rem;flex-wrap:wrap}.nav a{padding:4px 0}.block>.shell{padding:42px 48px 42px 0}.heading::after{right:-40px;width:21px;top:11px;border-width:var(--track)}.heading::before{right:-26px;top:5.5px;width:14px;height:14px;border-width:var(--track)}.hero>.shell{min-height:0;padding-top:42px;padding-bottom:42px}.hero .hero-copy{padding-right:40px}.hero-art{width:88px;height:88px;top:24px;right:8px;opacity:1}.hero>.shell::after{top:97.92px}.hero h1{max-width:85%}.lead{font-size:1.06rem}.grid-three,.support-grid{grid-template-columns:1fr;gap:24px}.grid-three article+article{border-left:0;border-top:1px solid #d8cce2;padding:24px 0 0}.support-card{padding:22px}.support-card h3{margin:12px 0 18px}.contact-grid{gap:24px}.footer-inner{align-items:flex-start;flex-wrap:wrap}.footer-links{gap:18px}.legal-title>.shell{padding-top:35px;padding-bottom:35px;min-height:180px}.legal-title h1{max-width:calc(100% - 40px)}.legal-title>.shell::after{top:97.92px}.legal-body .block>.shell{padding-top:32px;padding-bottom:20px}.prose h3{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.header-inner,.brand,.brand img{transition:none}}
@media print{.nav,.back,.skip,.hero-art,.block>.shell::before,.block>.shell::after,.heading::before,.heading::after{display:none}body{font-size:11pt}.block>.shell{padding:20px 0}.shell{width:100%}.block{background:#fff!important}a{color:inherit}.site-header{position:static;border:0;box-shadow:none}}

/* Gemeinsame SVG-Ebene. Statische CSS-Bahnen bleiben als Ersatz ohne JavaScript. */
main{position:relative;isolation:isolate}.page-circuit{position:absolute;inset:0;display:block;overflow:visible;pointer-events:none;z-index:4}.has-circuit .hero-art,.has-circuit .block>.shell::after,.has-circuit .block>.shell::before,.has-circuit .heading::after,.has-circuit .heading::before{display:none!important}
@media print{.page-circuit{display:none}}

/* Hintergrund und Abschluss blenden von der rechten Textkante nach links aus. */
.blocks>.block:nth-child(even),.legal-title{--fade-start:0px;--fade-end:max(8px,calc(max(24px,(100% - var(--width)) / 2) - 24px));--bg-end:calc(50% + min(560px,50% - 24px) - var(--rail));background:linear-gradient(to right,#fff var(--fade-start),var(--section-bg) var(--fade-end),var(--section-bg) var(--bg-end),#fff var(--bg-end))}
@media(max-width:760px){.blocks>.block:nth-child(even),.legal-title{--fade-start:0px;--fade-end:8px;--bg-end:calc(100% - 16px - var(--rail))}}

/* SVG-Hintergrund und Abschluss nutzen exakt dieselbe Kurve. */
.has-circuit .block{isolation:auto}
.has-circuit .block>.shell{z-index:1}
.page-circuit-background{position:absolute;inset:0;display:block;overflow:visible;pointer-events:none;z-index:0}
.has-circuit.blocks>.block:last-of-type,.has-circuit .legal-body>.block:last-of-type{background:#fff}
@media print{.page-circuit-background{display:none}}

/* Dasselbe Logo in beiden Headergrößen. */
.brand{gap:0}
.brand-logo{position:relative;display:block;flex:none;width:136px;height:136px;transition:width .2s ease,height .2s ease}
.brand .brand-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .2s ease}
.site-header.is-scrolled .brand-logo{width:62px;height:62px}
@media(max-width:760px){.brand-logo{width:96px;height:96px}.site-header.is-scrolled .brand-logo{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.brand-logo,.brand .brand-logo img{transition:none}}

/* Logo und Kopfzeile verkleinern sich gemeinsam und sanft. */
.header-inner{transition:padding .45s cubic-bezier(.22,1,.36,1)}
.brand-logo{transition:width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1)}
.site-header.is-scrolled .brand .brand-logo img{width:100%;height:100%}
@media(prefers-reduced-motion:reduce){.header-inner,.brand-logo{transition:none}}
