:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#19232b;background:#f7faf8;font-synthesis:none;font-size:16px;line-height:1.45}
*{box-sizing:border-box} html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(160deg,#f8fbfa,#fcfcfd 36%,#f6f9f8);min-width:320px}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #85add1;outline-offset:3px}h1,h2,p{margin:0}h2{line-height:1.14;letter-spacing:-.02em} .shell{max-width:790px;width:calc(100% - 30px);margin:0 auto} .topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 5px}.brand{display:flex;flex-direction:column;line-height:1.24}.brand strong{font-size:clamp(1.42rem,4.4vw,1.85rem);letter-spacing:.025em;font-weight:730}.brand small{font-size:clamp(.80rem,2.4vw,.94rem);color:#657281;margin-top:4px}.header-actions{display:flex;align-items:center;gap:17px}.header-link{display:grid;place-items:center;color:#2b5c46}.shell main{display:flex;flex-direction:column;gap:15px}.hero,.panel,.chat-strip{background:white;border:1px solid #e5eae8;border-radius:23px;box-shadow:0 7px 18px rgba(29,42,42,.045);overflow:hidden}.hero{position:relative}.video-hero{min-height:250px;background:radial-gradient(ellipse at 85% 20%,#fff1cb 0%,transparent 34%),linear-gradient(130deg,rgba(251,253,250,.97),rgba(241,248,249,.75) 58%,rgba(196,220,227,.65)),linear-gradient(150deg,#e2eae6 30%,#b5cbd4 100%);display:flex;align-items:center;padding:25px 28px}.video-hero:after{content:"";position:absolute;width:420px;height:200px;right:-70px;bottom:-85px;background:linear-gradient(15deg,#8caeaa,#bfd5c6);border-radius:55% 48% 0 0;transform:rotate(-10deg);filter:blur(2px);opacity:.47}.hero-text{max-width:60%;position:relative;z-index:1}.tag{display:inline-block;border-radius:20px;padding:5px 13px;background:#e3ede1;color:#3e7357;font-size:.80rem;font-weight:700;letter-spacing:.075em}.hero h2{font-size:clamp(1.95rem,5.7vw,2.55rem);font-weight:720;margin:12px 0}.hero-text p{font-size:1.02rem;color:#526778;max-width:365px;margin-bottom:19px}.btn{border:0;border-radius:28px;padding:12px 21px;display:inline-flex;gap:11px;align-items:center;justify-content:center;font-weight:620;font-size:1rem;line-height:1.25;transition:transform .16s,box-shadow .16s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #0001}.btn-green{background:#4b7c5d;color:white}.btn-blue{background:#3f81c7;color:white}.btn.muted{color:#527563;background:#e7f0e9;cursor:default}.big-play{position:absolute;left:74%;top:45%;z-index:1;width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:#ffffffc9;border:1px solid white;box-shadow:0 7px 16px #0002;color:#3a7553}.library-hero{min-height:240px;padding:25px 25px 24px;background:radial-gradient(circle at 87% 80%,#c3d9cf 0 8%,transparent 24%),radial-gradient(circle at 90% 14%,#dae7e0 0 6%,transparent 25%),linear-gradient(105deg,#fff 30%,#f2f7f2 100%)}.library-hero:after{content:"";position:absolute;right:-5%;bottom:-19%;width:230px;height:145px;border-radius:65% 40%;background:radial-gradient(ellipse at 40% 10%,#a1a99c 0 18%,transparent 19%),radial-gradient(ellipse at 54% 46%,#929f99 0 29%,transparent 30%),radial-gradient(ellipse at 55% 83%,#b2b9a7 0 31%,transparent 32%);opacity:.48}.library-content{display:flex;gap:20px;position:relative;z-index:1}.library-icon{width:74px;height:74px;flex:none;background:#e4efe3;color:#315e43;display:grid;place-items:center;border-radius:21px}.library-copy{max-width:480px}.eyebrow{font-size:.72rem;letter-spacing:.105em;color:#738083;font-weight:700}.library-copy h2{font-size:clamp(2rem,5.3vw,2.42rem);margin:7px 0 8px}.library-copy p{font-size:1.08rem;color:#526574;line-height:1.39;margin-bottom:18px}.panel{padding:24px 24px 20px}.section-heading{display:flex;gap:18px;align-items:center;position:relative}.icon-tile{flex:none;width:65px;height:65px;border-radius:20px;display:grid;place-items:center}.icon-tile.green{background:#e3eee4;color:#3c7651}.icon-tile.blue{background:#e2f1f8;color:#237399}.heading-copy{min-width:0;flex:1}.heading-copy h2{font-size:clamp(1.65rem,4.7vw,2.02rem);font-weight:730;margin-top:2px}.text-link{color:#256a9d;font-weight:550;font-size:.93rem;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:transparent;border:0;padding:5px 0}.text-link:hover{text-decoration:underline}.panel-body{margin:10px 0 0 83px}.event-row{display:flex;align-items:center;gap:15px;padding:10px 4px;border-bottom:1px solid #edf0ef}.event-row:last-child{border-bottom:0}.event-row:hover,.news-row:hover{background:#f8fbfa}.date-chip{width:64px;min-height:71px;border-radius:12px;background:#e5f3f7;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.date-chip span{font-size:.78rem;color:#306176;font-weight:700}.date-chip strong{font-size:1.8rem;line-height:1.1}.event-copy,.news-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.event-copy strong,.news-copy strong{font-size:1.05rem;line-height:1.29;font-weight:675}.event-copy span,.event-copy small,.news-copy span{font-size:.86rem;color:#6b7785}.row-arrow{flex:none;color:#6a7887}.empty-state{padding:14px 3px;color:#5d6a71;font-size:.95rem}.inline-link{display:inline-flex;align-items:center;color:#316f9c;gap:3px;margin-left:5px}.news-list{margin:10px 0 0 83px;max-height:245px;overflow-y:auto;scrollbar-width:thin}.news-row{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #e9eeee;min-height:66px}.news-row:last-child{border-bottom:0}.news-dot{width:42px;height:42px;border-radius:12px;flex:none;background:linear-gradient(135deg,#e4efe3,#d9eafa)}.news-copy span{font-size:.77rem}.news-actions{display:flex;justify-content:flex-end;gap:22px;margin:12px 2px 0}.contact-subtitle{color:#627483;font-size:1rem;margin:10px 0 17px 83px;max-width:550px}.contact-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.contact-action{display:flex;min-width:0;min-height:100px;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;padding:12px 7px;background:#f7f9fa;border:1px solid #edf0ef;border-radius:17px;font-size:.88rem;font-weight:560;color:#263743}.contact-action.is-primary{background:#e9f1e7;color:#2e6046}.contact-action span{line-height:1.22}.contact-action:hover{background:#edf6f4}.disabled-link{opacity:.55;pointer-events:none}.chat-strip{display:flex;align-items:center;gap:20px;padding:21px 24px;background:linear-gradient(105deg,#f0f7f1,#fff)}.chat-icon{border-radius:17px;background:#dcece1;color:#38724a;padding:17px}.chat-strip>div:nth-child(2){flex:1}.chat-strip h2{font-size:1.5rem;margin-top:4px}.chat-strip p{color:#667584;font-size:.93rem;margin-top:4px}.install-banner{display:flex;align-items:center;gap:18px;position:relative;background:#e7f3fb;border-radius:19px;padding:18px 20px}.install-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#d7ebf7;color:#1d6597;flex:none}.install-copy{flex:1;display:flex;flex-direction:column;gap:3px}.install-copy strong{font-size:1.02rem;color:#234968}.install-copy p{font-size:.84rem;color:#577086}.install-instructions{padding:7px 9px;border-radius:8px;background:#fff9}.install-banner .btn{font-size:.83rem;max-width:195px;padding:11px 13px}.dismiss{border:none;color:#61798c;background:transparent;position:absolute;right:7px;top:5px}.footer{padding:29px 5px 115px;display:flex;justify-content:space-between;gap:15px;color:#667584;font-size:.75rem}.footer>div{display:flex;gap:13px}.footer>div:first-child{flex-direction:column;gap:2px}.footer strong{color:#24353b;letter-spacing:.045em;font-size:.85rem}.footer a:hover{text-decoration:underline}.mobile-nav{display:none}.login,.setup{min-height:100dvh;display:flex;flex-direction:column;gap:25px;align-items:center;justify-content:center;padding:25px}.login-title{text-align:center}.login h1,.setup h1{letter-spacing:.04em}.login-title p{color:#677886;font-size:1rem}.setup{max-width:590px;margin:auto;text-align:center}.setup p{font-size:1rem;color:#5b6870}.setup code{overflow-wrap:anywhere}
@media(max-width:700px){.shell{width:calc(100% - 26px)}.topbar{min-height:77px;padding:12px 6px}.header-actions{gap:11px}.hero,.panel,.chat-strip{border-radius:19px}.video-hero{min-height:250px;padding:21px 20px}.hero-text{max-width:69%}.hero-text p{font-size:.99rem}.big-play{left:auto;right:6%;top:44%;width:60px;height:60px}.library-hero{padding:21px 17px;min-height:230px}.library-icon{height:62px;width:62px;border-radius:18px}.library-content{gap:14px}.library-copy p{font-size:1rem}.panel{padding:20px 17px 18px}.section-heading{gap:12px;flex-wrap:wrap}.icon-tile{width:54px;height:56px;border-radius:16px}.heading-copy h2{font-size:1.65rem}.section-heading .text-link{width:auto;margin-left:auto;font-size:.85rem}.panel-body,.news-list,.contact-subtitle{margin-left:0}.news-row{min-height:67px}.contact-grid{gap:7px}.contact-action{min-height:90px;font-size:.77rem;padding:9px 4px}.install-banner{flex-wrap:wrap;padding:18px 16px;gap:12px;padding-right:28px}.install-icon{width:48px;height:48px}.install-copy{flex-basis:70%}.install-banner .btn{margin-left:auto;max-width:none}.chat-strip{flex-wrap:wrap}.chat-strip .btn{margin-left:auto}.footer{padding-bottom:110px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-around;background:#fffffff2;backdrop-filter:blur(10px);border-top:1px solid #e5e9ec;padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:3px;font-size:.72rem;color:#5c6b77}.mobile-nav a:first-child{color:#317147}}
@media(max-width:410px){.brand strong{font-size:1.35rem}.brand small{font-size:.75rem}.hero h2{font-size:1.72rem}.hero-text{max-width:72%}.hero-text p{font-size:.90rem}.big-play{width:51px;height:51px;right:5%;top:40%}.library-icon{display:none}.library-copy h2{font-size:1.95rem}.heading-copy h2{font-size:1.38rem}.eyebrow{font-size:.66rem}.section-heading .text-link{font-size:.75rem}.date-chip{width:51px}.event-row{gap:10px}.event-copy strong{font-size:.97rem}.event-copy span{font-size:.77rem}.contact-action{font-size:.72rem}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-action{min-height:84px}.install-banner .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
@media(max-width:700px){.section-heading>.text-link{order:3;width:100%;justify-content:flex-end;margin:-5px 0 2px}.section-heading>.heading-copy{min-width:0}}

/* Vereintes Portal: Ergänzungen ohne Layoutwechsel */
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#182b32;line-height:1.42}
[hidden]{display:none!important}.header-actions{gap:14px}.top-icon{display:inline-grid;place-items:center;border:0;background:none;color:#2b5c46;font-size:1.16rem}
.brand{color:#1c2935}.section-heading .text-link{color:#256a9d}.chat-strip .btn{flex:none}.brand small{line-height:1.3}
.news-list{min-height:145px;max-height:245px;overflow:auto}.news-row{width:100%}.news-actions{align-items:center}
.pwa-note{font-size:.87rem;color:#4e6475;margin-top:8px}.status-text{font-size:.84rem;color:#547168}
.member-info{font-size:.8rem;color:#657281}.empty-state .inline-link{margin-top:10px;display:inline-flex}.is-loading{opacity:.65}
.modal{border:none;border-radius:22px;box-shadow:0 15px 60px #1b333349;padding:26px;width:min(600px,calc(100vw - 28px));max-height:80dvh;overflow:auto}
.modal::backdrop{background:rgba(24,41,47,.55)}.modal h2{font-size:1.4rem;margin-bottom:14px}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal .news-list{max-height:none;overflow:visible}.modal button{border:0;background:transparent;font-size:1.3rem}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(460px,100%);background:#fff;border:1px solid #e5eae8;border-radius:23px;padding:30px;box-shadow:0 7px 20px #1d2a2a12}
.login-card h1{font-size:1.9rem;letter-spacing:.03em}.login-card p{color:#667584}.login-card form{display:grid;gap:16px;margin-top:27px}.login-card label{display:grid;gap:7px;font-weight:650;font-size:.95rem}
.login-card input{height:50px;border:1px solid #bfcbd0;border-radius:11px;padding:12px;font:inherit;background:white;min-width:0}
.login-card button{min-height:48px}.form-error{color:#ab3030!important;font-size:.92rem}.login-card a{color:#246c9d;text-decoration:underline}
.chathome .mobile-nav a[aria-current="page"]{color:#317147}.contact-action[href]{cursor:pointer}.member-logout{border:1px solid #d5e1dd;color:#315a46;border-radius:15px;padding:10px;background:#f4f9f5}
@media(max-width:700px){.chat-strip{gap:12px}.header-actions{gap:8px}.member-info{display:none}.news-list{max-height:236px}.login-card{padding:23px}}
@media(max-width:410px){.chat-strip h2{font-size:1.36rem}.chat-strip .btn{margin-left:0;width:100%}.login-card h1{font-size:1.55rem}}
.uiicon{height:29px;width:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:inline-block;flex-shrink:0}.uiicon.small{width:19px;height:19px}.uiicon.large{width:40px;height:40px}.big-play .uiicon{height:34px;width:34px}.dismiss{cursor:pointer}.contact-action .uiicon{height:27px;width:27px}.mobile-nav .uiicon{width:22px;height:22px}

/* Geschäftsdaten dezent und platzsparend im vorhandenen Kontaktbereich. */
.contact-details{margin-top:18px;border-top:1px solid #e6ece8;padding-top:14px}
.contact-details summary{font-weight:650;color:#436a5d;cursor:pointer;font-size:.96rem;padding:5px 0}
.contact-detail-rows{margin:10px 0 0;display:grid;gap:7px}
.contact-detail-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #edf1ef}
.contact-detail-row dt{font-weight:640;color:#536b74;font-size:.87rem}
.contact-detail-row dd{margin:0;white-space:normal;overflow-wrap:anywhere;color:#253942;font-size:.92rem}
.news-actions{flex-wrap:wrap}
@media(max-width:480px){.contact-detail-row{grid-template-columns:1fr;gap:3px}.news-actions{justify-content:flex-start;gap:12px}}

/* HTML hidden muss gegenüber Display-Regeln stets Vorrang behalten. */
[hidden]{display:none!important}
