:root{--view-bg:#fffdfa;--view-surface:#f9f6f1;--view-raised:#fffdfa;--view-alt:#f4efe7;--view-text:#202023;--view-muted:#665c63;--view-line:#b9a9af;--view-accent:#76535e;--view-hover:#e8dfe3;--view-hero:#f4efe7;--view-glow:#e8dfe3;--view-button:#322935;--view-button-text:#fffdfa;color-scheme:light;}
:root[data-theme="dark"]{--view-bg:#29232d;--view-surface:#332b34;--view-raised:#3c303a;--view-alt:#3c303a;--view-text:#fffdfa;--view-muted:#e8dfe3;--view-line:#806c77;--view-accent:#cfaaa0;--view-hover:#54394f;--view-hero:#322935;--view-glow:#54394f;--view-button:#f4efe7;--view-button-text:#202023;color-scheme:dark;}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--view-bg:#29232d;--view-surface:#332b34;--view-raised:#3c303a;--view-alt:#3c303a;--view-text:#fffdfa;--view-muted:#e8dfe3;--view-line:#806c77;--view-accent:#cfaaa0;--view-hover:#54394f;--view-hero:#322935;--view-glow:#54394f;--view-button:#f4efe7;--view-button-text:#202023;color-scheme:dark;}}

body,html{color:var(--view-text);background:var(--view-bg)}
body{padding-bottom:3.5rem}
.theme-logo-ivory{display:none!important}
[data-theme="dark"] .theme-logo-ink{display:none!important}
[data-theme="dark"] .theme-logo-ivory{display:block!important}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-logo-ink{display:none!important}:root:not([data-theme]) .theme-logo-ivory{display:block!important}}
.site-header,.site-footer{background:var(--view-bg);color:var(--view-text);border-color:var(--view-line)}
.site-nav>a:not(.button):hover{background:var(--view-hover)}
.section-light{background:var(--view-surface);color:var(--view-text)}
.hero{background:var(--view-hero);color:var(--view-text)}
.hero::before{background:radial-gradient(ellipse at 78% 45%,var(--view-glow),transparent 65%);opacity:.7}
.section-dark{color:var(--view-text);background:var(--view-bg)}
.principles{background:linear-gradient(145deg,var(--view-glow) -65%,var(--view-bg) 65%)}
.contact{background:linear-gradient(180deg,var(--view-alt),var(--view-bg))}
.hero-description,.hero .eyebrow,.quiet-note,.hero-foot,.section-dark p,.section-dark .eyebrow,.intro-copy,.insight-closing,.source-note,.paper-caption,.contact-copy>p:not(.eyebrow),#email-hint,.contact-caution,.footer-inner p,.footer-bottom{color:var(--view-muted)}
.hero-foot,.trust-layout,.principle+.principle,.disclosure-cue,.source-note,address,.footer-inner{border-color:var(--view-line)}
.paper,.example-label{color:var(--view-text);background:var(--view-surface);border-color:var(--view-line)}
.paper-context,.example-label{background:var(--view-alt)}
.source-note strong,.insight-closing strong{color:var(--view-text)}
.story::before{border-color:var(--view-line)}
.station-dot{background:var(--view-surface);color:var(--view-text);border-color:var(--view-line)}
.note-mark span{background:var(--view-line)}
.button-dark,.button-light{background:var(--view-button);color:var(--view-button-text)}
.button-dark:hover,.button-light:hover{background:var(--view-accent);color:var(--view-bg)}
.text-link,.hero .text-link,.section-dark .text-link,.whatsapp-link,.motion-control,.orbit-label,address a{color:var(--view-text);border-color:var(--view-accent)}
.motion-control,.orbit-label{background:var(--view-hero)}
.text-link:hover,.hero .text-link:hover,.section-dark .text-link:hover,.whatsapp-link:hover,address a:hover,.footer-inner nav a:hover,.orbit-label:hover,.orbit-topic[open]>.orbit-label{background:var(--view-hover);border-color:var(--view-accent)}
.orbit-explanation{background:var(--view-raised);color:var(--view-text);border-color:var(--view-line)}
.menu-toggle{color:var(--view-text);border-color:var(--view-line)}
.orbit-lines{stroke:var(--view-accent);stroke-width:1.5;opacity:.76}
.orbit-lines ellipse:nth-child(2n){stroke:var(--view-text);opacity:.5}
.light-point{fill:var(--view-text);stroke:var(--view-accent);stroke-width:2}
.centre-point{fill:var(--view-text)}
.centre-ring{stroke:var(--view-accent)}
.principle-graphic svg{stroke:var(--view-accent);stroke-width:1.6}
.principle-graphic .point{fill:var(--view-text);stroke:var(--view-text)}
.principle>summary:hover,.principle[open]>summary{background:var(--view-hover)}
.principle>summary:focus-visible{outline-color:var(--view-text)}
.principle-detail{border-color:var(--view-accent)}
.disclosure-cue,.trust-flow span{color:var(--view-muted)}
.trust-copy .decision{color:var(--view-text)}
.trust-flow::before{background:var(--view-line)}
.trust-flow i{border-color:var(--view-accent);background:var(--view-bg)}
.trust-flow span:last-child i{background:var(--view-text);border-color:var(--view-text)}
.trust-orbit{border-color:var(--view-line)}
.question-stroke{color:var(--view-accent)}
/* Hilfe, Kontakt und Darstellung sind an einer Stelle erreichbar. */
.help-launcher{position:fixed;z-index:30;bottom:max(1rem,env(safe-area-inset-bottom));right:1rem;display:flex;align-items:center;gap:.65rem;min-height:48px;padding:.65rem 1.1rem;border:1px solid var(--view-accent);border-radius:999px;font:inherit;font-size:.9rem;background:var(--view-button);color:var(--view-button-text);box-shadow:0 5px 20px #20202324;cursor:pointer}
.help-symbol{display:block;flex:0 0 1.25rem;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.help-symbol .help-dot{fill:currentColor;stroke:none}
.help-panel{position:fixed;inset:auto 1rem max(5.2rem,env(safe-area-inset-bottom)) auto;margin:0;padding:1.4rem;width:24rem;max-width:calc(100% - 2rem);max-height:calc(100svh - 7rem);overflow:auto;border:1px solid var(--view-line);border-radius:1.5rem;background:var(--view-raised);color:var(--view-text);box-shadow:0 18px 60px #20202330;font:inherit;font-size:1rem;line-height:1.5}
.help-panel::backdrop{background:#20202336}
.help-heading{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.help-panel .eyebrow{font-size:.65rem;letter-spacing:.1em;margin:0 0 .6rem;color:var(--view-muted)}
.help-panel h2{font-size:1.55rem;letter-spacing:-.02em;line-height:1.2;margin:0;text-wrap:balance}
.help-panel h3,.theme-picker legend{font-size:.95rem;font-weight:700;margin:0 0 .7rem}
.help-close{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--view-line);border-radius:50%;font:inherit;font-size:1.6rem;color:var(--view-text);background:transparent;cursor:pointer}
.theme-picker{margin:0;padding:0;border:0;min-width:0}
.theme-choices{display:flex;gap:.3rem;padding:.3rem;border:1px solid var(--view-line);border-radius:1rem}
.theme-choices label{position:relative;flex:1;text-align:center;cursor:pointer;min-width:0}
.theme-choices input{position:absolute;width:1px;height:1px;opacity:0}
.theme-choices span{display:flex;justify-content:center;align-items:center;min-height:44px;padding:.5rem .35rem;border:1px solid transparent;border-radius:.7rem;line-height:1.3}
.theme-choices input:checked+span{background:var(--view-button);color:var(--view-button-text)}
.theme-choices input:focus-visible+span{outline:3px solid var(--view-accent);outline-offset:3px}
.theme-status,.motion-hint{font-size:.8125rem;margin:.65rem 0 0;color:var(--view-muted)}
.help-motion-group,.help-contact{margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid var(--view-line)}
.help-motion-actions{display:grid;gap:.6rem;margin-top:1rem}
.help-panel button,.help-panel a{transition:background-color .2s,border-color .2s;text-decoration:none;overflow-wrap:anywhere}
.help-motion-actions button,.help-contact a{font:inherit;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:44px;padding:.7rem .85rem;border:1px solid var(--view-line);border-radius:.8rem;background:transparent;color:var(--view-text);text-align:left;cursor:pointer}
.help-contact a+a{margin-top:.6rem}
.help-panel button:hover,.help-contact a:hover{background:var(--view-hover)}
.help-panel button:disabled{opacity:.6;cursor:default}
.help-panel :focus-visible{outline:3px solid var(--view-accent);outline-offset:3px}
/* Übernommene Rechts- und Fehlerseiten verwenden dieselbe Darstellungswahl. */
.legal-page,.error-page{--body:var(--view-text);--text:var(--view-text);--muted:var(--view-muted);--paper:var(--view-bg);--line:var(--view-line)}
.legal-page .site-header,.error-page .site-header{background:var(--view-bg)}
.legal-page .legal-hero,.legal-page .legal-content,.error-page main{color:var(--view-text)}
.legal-page .legal-content article{background:var(--view-surface);border-color:var(--view-line)}
.legal-page .legal-content a:hover{background:var(--view-hover)}
.legal-page .lead,.legal-page .legal-version,.legal-page p,.error-page p{color:var(--view-muted)}
.legal-page h1,.legal-page h2,.error-page h1{color:var(--view-text)}
.legal-page .site-footer,.error-page .site-footer{background:var(--view-bg);color:var(--view-text)}
.legal-page .footer-links a,.legal-page .footer-provider,.legal-page .footer-provider strong,.error-page .footer-links a,.error-page .footer-provider{color:var(--view-text)}
@media(max-width:26rem){.help-panel{padding:1.1rem;inset:auto .7rem 4.7rem auto;max-width:calc(100% - 1.4rem);max-height:calc(100svh - 6rem)}.help-heading{gap:.6rem}.help-panel h2{font-size:1.35rem}.theme-choices{flex-wrap:wrap}.theme-choices label{flex:1 1 4rem}}
@media(prefers-reduced-motion:reduce){.help-panel *{animation:none!important;transition:none!important}}
@media print{.help-launcher,.help-panel{display:none!important}}

[hidden]{display:none!important}
.insight .section-intro{align-items:center;gap:4.5rem}
.insight .intro-copy{padding-top:1.8rem}
.editorial-photo{width:100%;margin:0 auto;min-width:0;justify-self:center}
.editorial-photo img{width:100%;height:auto;border-radius:1.2rem;border:1px solid var(--view-line)}
.contact-photo{margin:1.8rem 0 0;max-width:35rem}
@media(max-width:52rem){.insight .section-intro{gap:2rem}.editorial-photo{max-width:38rem}.contact-photo{max-width:35rem}}

.legal-page,.error-page{background:var(--view-bg);color:var(--view-text)}
.legal-page .legal-back,.legal-page .legal-content a{color:var(--view-text);border-color:var(--view-line)}
.legal-page .legal-back:hover{color:var(--view-text);background:var(--view-hover)}
.legal-page .eyebrow,.error-page .eyebrow{color:var(--view-muted)}
.error-page .button{color:var(--view-button-text);background:var(--view-button)}
.error-brand-icon{background:#fffdfa;border-radius:.8rem;padding:.3rem}

/* Ein gemeinsamer ruhiger Abschluss auf Start-, Datenschutz- und Fehlerseite. */
.contact{padding-bottom:3.5rem}
.site-footer{padding-block:1.5rem 1rem;border-top:0}
.site-footer .footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem 2rem;border-top:1px solid var(--view-line);padding-top:1.8rem}
.site-footer .footer-inner .brand img{width:10rem;height:auto}
.site-footer .footer-inner nav{display:flex;flex-wrap:wrap;gap:.3rem .45rem;font-size:.75rem}
.site-footer .footer-inner nav a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem .75rem;border-radius:999px;color:var(--view-text);text-decoration:none}
.site-footer .footer-inner nav a:hover{background:var(--view-hover)}
.site-footer .footer-bottom{display:block;border:0;padding-top:1.2rem;padding-bottom:0;font-size:.75rem;line-height:1.6;color:var(--view-muted)}
@media(max-width:52rem){.contact{padding-bottom:3rem}.site-footer .footer-inner{gap:1rem}.site-footer .footer-inner nav{width:100%}}

/* Kontaktwege bleiben mit Symbol und ausgeschriebenem Text verständlich. */
.contact-method{display:inline-flex;align-items:center;gap:.65rem;max-width:100%;vertical-align:middle}
.contact-icon{display:block;flex:0 0 1.125rem;width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-method .contact-label{font-size:inherit;line-height:inherit;min-width:0;overflow-wrap:anywhere}
.help-contact .contact-method{justify-content:flex-start}
.contact-photo img{aspect-ratio:8/5;object-fit:cover;object-position:center bottom}

.legal-page .legal-content .contact-method{display:inline-flex;vertical-align:middle}
