/* Navigation and the opening section. Keep these rules scoped so approved
   reference cards and existing product sections retain their appearance. */
html{scroll-padding-top:108px}
section{scroll-margin-top:0}
#software-ki{scroll-margin-top:0}
.head{height:104px;gap:24px}
.head .original-logo,.footer .original-logo{width:270px}
.head nav{font-size:14px;gap:27px}
.head .btn{background:#002923;border-color:#002923;min-height:45px;padding:12px 22px;font-size:14px;font-weight:400}
.entry-header{background:linear-gradient(115deg,#fcfbf8,#fff 80%);padding:46px 0 52px;color:#052925}
.entry-header h1{font-size:clamp(64px,6.8vw,102px);font-weight:700;line-height:.98;letter-spacing:-.065em;max-width:950px;margin-bottom:42px}
.entry-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}
.entry-offer{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.entry-software{padding-right:50px}
.entry-network{padding-left:50px;border-left:1px solid #dcded7}
.entry-label{display:block;font-size:11px;font-weight:700;letter-spacing:.23em;text-transform:uppercase;line-height:1.5;margin-bottom:15px}
.entry-label:before{content:"";display:block;width:45px;height:2px;background:var(--orange);margin-bottom:12px}
.entry-header h2{font-size:clamp(29px,3vw,45px);font-weight:600;line-height:1.04;letter-spacing:-.05em}
.entry-description{font-size:19px;line-height:1.45;margin-top:12px;max-width:535px;color:#666962;letter-spacing:-.025em}
.entry-button{background:#002923;border-color:#002923;font-size:15px;font-weight:400;padding:14px 23px;min-height:50px;gap:24px;margin-top:25px}
.entry-button:hover{background:#16453c}
.entry-software .entry-button{margin-top:auto}
.entry-software .entry-product{margin-bottom:25px}
.entry-product{position:relative;width:100%;height:275px;isolation:isolate;margin-top:15px}
.entry-sun{position:absolute;width:185px;height:185px;background:var(--orange);border-radius:50%;top:8px;left:27%;z-index:-1}
.entry-monitor{position:absolute;width:72%;max-width:340px;left:15%;bottom:5px;clip-path:polygon(9% 4.2%,91% 4.2%,92% 5.5%,92.5% 89%,91.5% 92.2%,59.3% 92.2%,59.8% 95.8%,61.9% 98.3%,61.9% 99.2%,38.3% 99.2%,38.3% 98.3%,40.2% 96%,40.8% 92.2%,9.3% 92.2%,7.8% 91.2%,7.8% 6%)}
.entry-phone{position:absolute;bottom:0;left:8%;width:119px;background:#101916;border:2px solid #303a35;border-radius:20px;padding:6px;box-shadow:0 10px 17px #102d221a;overflow:hidden}
.entry-phone img{border-radius:13px;width:100%}
.phone-speaker{position:absolute;width:39%;height:7px;background:#101916;top:5px;left:30%;border-radius:0 0 8px 8px}
.entry-assistant{position:absolute;right:0;bottom:3px;background:#fff;border:1px solid #e3e3dd;border-radius:15px;box-shadow:0 9px 25px #102d2210;padding:13px;width:215px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.entry-robot{width:40px;height:40px;fill:none;stroke:#143e33;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.entry-robot circle{fill:var(--orange);stroke:none}
.entry-assistant strong{font-size:11px;letter-spacing:-.02em;font-weight:600}
.entry-example{display:block;font-size:9px;color:#70746d}
.entry-assistant p{width:100%;font-size:12px;line-height:1.5;border-radius:9px;background:#f3f4f0;padding:10px;color:#31463d}
.entry-topics{margin-top:27px;margin-bottom:0;width:100%;flex:1}
.entry-topics a{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #dcded7;padding:18px 0;font-size:22px;line-height:1.2;letter-spacing:-.035em;min-height:73px}
.entry-topics a:first-child{padding-top:10px}
.entry-topics a:hover{color:#a33b00}
.entry-topics a span{font-size:29px;flex-shrink:0}
.practice-trust{background:#082c27;color:#fff;padding:44px 0}
.practice-grid{display:grid;grid-template-columns:1fr 2fr;gap:55px;align-items:start}
.practice-trust .entry-label{color:#e6eee6;font-size:10px;margin:5px 0 0}
.practice-trust h2{font-size:clamp(26px,2.5vw,37px);line-height:1.12;letter-spacing:-.035em}
.practice-trust p{font-size:15px;line-height:1.65;color:#d6e0d7;max-width:720px;margin-top:16px}
@media(max-width:1150px){
 .head nav{gap:19px;font-size:13px}.head .original-logo{width:235px}
 .entry-software{padding-right:32px}.entry-network{padding-left:32px}
 .entry-description{font-size:17px}.entry-topics a{font-size:20px}
 .entry-product{height:260px}.entry-phone{left:0;width:112px}.entry-assistant{width:195px}
}
@media(min-width:761px) and (max-width:980px){
 .head{gap:15px}.head nav{gap:13px;font-size:11px}.head .original-logo{width:200px}.head .btn{font-size:12px;padding:11px 14px}
 .entry-header h2{font-size:29px}.entry-description{font-size:16px}.entry-software{padding-right:25px}.entry-network{padding-left:25px}
 .entry-product{height:240px}.entry-phone{width:100px}.entry-monitor{left:2%;width:93%}.entry-assistant{width:170px;padding:10px}.entry-robot{width:30px;height:30px}.entry-assistant strong{font-size:10px}
 .entry-topics a{font-size:18px}.entry-button{font-size:13px;padding:13px 17px}
}
@media(max-width:760px){
 html{scroll-padding-top:101px}#software-ki{scroll-margin-top:0}
 .head{height:90px;gap:10px}.head .original-logo{width:210px}.head .btn{min-height:40px;padding:10px 13px;font-size:12px;gap:8px}.head-actions{gap:7px}.menu{min-width:39px;min-height:39px}.head nav{display:none}
 .entry-header{padding:33px 0 40px}.entry-header h1{font-size:clamp(45px,10.8vw,74px);line-height:1.02;margin-bottom:34px;letter-spacing:-.06em}
 .entry-columns{grid-template-columns:1fr;gap:36px}.entry-software{padding:0}.entry-network{padding:32px 0 0;border-left:0;border-top:1px solid #dcded7}
 .entry-label{font-size:10px;margin-bottom:13px}.entry-header h2{font-size:clamp(29px,7.2vw,42px)}.entry-description{font-size:17px;max-width:520px}.desktop-break{display:none}
 .entry-product{height:285px;max-width:480px;align-self:center;margin-top:19px}.entry-phone{width:116px;left:2%}.entry-monitor{width:90%;left:0;max-width:none;bottom:5px}.entry-sun{left:24%;width:170px;height:170px;top:35px}.entry-assistant{width:185px;right:0;padding:12px}.entry-robot{width:35px;height:35px}.entry-assistant strong{font-size:10px}
 .entry-button{margin-top:23px;font-size:14px}.entry-topics{margin-top:22px}.entry-topics a{font-size:21px;min-height:70px;padding:17px 0}
 .practice-trust{padding:33px 0}.practice-grid{grid-template-columns:1fr;gap:20px}.practice-trust h2{font-size:29px}.practice-trust p{font-size:14px}.footer .original-logo{width:245px}
}
@media(max-width:400px){
 .experiences .title-row{flex-wrap:wrap;row-gap:18px}
 .head .original-logo{width:185px}.head .btn{padding:10px 11px;font-size:11px}.head-actions{gap:5px}.menu{min-width:36px;min-height:36px}
 .entry-product{height:260px}.entry-phone{width:106px;left:0}.entry-assistant{width:173px}.entry-robot{width:30px;height:30px}.entry-example{font-size:8px}.entry-assistant strong{font-size:9px}
}
@media(max-width:350px){.head .original-logo{width:155px}.head{gap:5px}.head .btn{gap:5px;padding:10px 9px}.entry-header h1{font-size:42px}.entry-header h2{font-size:28px}.entry-assistant{width:158px;padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Header illustration, revised against the supplied reference. */
.entry-sun{width:160px;height:160px;left:19%;top:23px}
.entry-assistant{width:186px;padding:11px;gap:8px;border-radius:13px}
.entry-agent-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%}
.entry-robot{width:29px;height:29px;margin-left:auto}
.entry-example{font-size:9px;letter-spacing:0;color:#6a706c}
.entry-assistant strong{font-size:11px}
.entry-assistant p{font-size:11px;line-height:1.4;padding:9px}
@media(min-width:761px) and (max-width:980px){
 .entry-assistant{width:158px;padding:10px}.entry-robot{width:25px;height:25px}.entry-assistant strong{font-size:10px}.entry-assistant p{font-size:10px}
 .entry-sun{width:145px;height:145px;left:15%;top:30px}
}
@media(max-width:760px){
 .entry-sun{width:155px;height:155px;left:17%;top:42px}
 .entry-assistant{width:171px;padding:10px}.entry-robot{width:27px;height:27px}.entry-assistant strong{font-size:10px}.entry-assistant p{font-size:10px}
}
@media(max-width:350px){
 .entry-assistant{width:153px;padding:9px}.entry-example{font-size:8px}.entry-robot{width:23px;height:23px}.entry-assistant p{font-size:10px;padding:8px}
 .entry-sun{width:135px;height:135px;left:12%;top:45px}
}

.entry-agent-heading>div{min-width:0;line-height:1.3}
.entry-agent-heading strong{display:block;font-size:10px;line-height:1.3}
.entry-agent-heading .entry-example{font-size:8px;line-height:1.35;margin-top:4px}

@media(min-width:1101px){#expertennetzwerk .team-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:28px 20px}}

#expertennetzwerk .team-person img[src*="soeren-wagner-emden"]{transform:scale(1.25);transform-origin:50% 12%}
#expertennetzwerk .team-person button:hover img[src*="soeren-wagner-emden"]{transform:scale(1.25) translateY(-3px)}

#expertennetzwerk .team-invitation{min-width:0}
#expertennetzwerk .network-invite{display:block;text-decoration:none;color:#072f2b}
#expertennetzwerk .network-invite-picture{aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:16px;position:relative;background:#fff;border:1px solid #b7c8bf;border-radius:3px;transition:background .2s,border-color .2s}
#expertennetzwerk .network-invite-picture svg{width:34px;height:34px;fill:none;stroke:#50756b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#expertennetzwerk .network-invite-picture strong{font-size:clamp(12px,1.2vw,17px);line-height:1.2;font-weight:500}
#expertennetzwerk .network-invite-arrow{position:absolute;top:10px;right:12px;color:#a83d00}
#expertennetzwerk .network-invite-label{display:block;margin-top:12px;font-size:12px;line-height:1.35}
#expertennetzwerk .network-invite:hover .network-invite-picture{background:#f3f6f2;border-color:#50756b}
#expertennetzwerk .network-invite:focus-visible{outline:3px solid #a83d00;outline-offset:4px}
#expertennetzwerk .network-outlook{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;margin-top:38px;padding-top:30px}
#expertennetzwerk .network-outlook h3{font-size:clamp(27px,3vw,40px);line-height:1.1;letter-spacing:-.035em;font-weight:500;margin:0}
#expertennetzwerk .network-outlook p{font-size:15px;line-height:1.65;margin:0;max-width:680px}
#expertennetzwerk .network-outlook h4{font-size:20px;font-weight:500;margin:25px 0 8px}
#expertennetzwerk .network-outlook .textlink{margin-top:18px}
@media(max-width:760px){#expertennetzwerk .network-outlook{grid-template-columns:1fr;gap:22px;margin-top:28px;padding-top:25px}#expertennetzwerk .network-outlook p{font-size:14px}}
@media(max-width:760px){#expertennetzwerk .network-invite-picture{padding:7px;gap:5px}#expertennetzwerk .network-invite-picture svg{width:21px;height:21px}#expertennetzwerk .network-invite-picture strong{font-size:10px}#expertennetzwerk .network-invite-arrow{top:4px;right:5px;font-size:12px}#expertennetzwerk .network-invite-label{font-size:10px;margin-top:8px}}

/* Expertenprofile: Hover am Computer, Antippen auf Touchscreens. */
#expertennetzwerk .team-person{position:relative;z-index:1}
#expertennetzwerk .team-trigger{cursor:default}
#expertennetzwerk .team-person button:hover img{transform:none}
#expertennetzwerk .team-person button:hover img[src*="soeren-wagner-emden"]{transform:scale(1.25)}
#expertennetzwerk .team-person button:hover img[src*="marcel-kesseler"]{transform:scale(1.55)}
#expertennetzwerk .profile-hint{display:block;font-size:10px;color:#666;margin-top:8px;line-height:1.4}
#expertennetzwerk .person-popover{position:absolute;top:0;left:50%;width:260px;max-width:calc(100vw - 40px);transform:translateX(-50%) scale(.9);transform-origin:center top;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border:1px solid #d7d6d0;border-radius:5px;box-shadow:0 16px 50px #0003;overflow:hidden;transition:opacity .2s,transform .25s,visibility .2s}
#expertennetzwerk .person-popover .team-image{border-radius:0}
#expertennetzwerk .profile-copy{padding:18px}
#expertennetzwerk .profile-copy h4{font-size:20px;line-height:1.15;font-weight:500;letter-spacing:-.025em;margin:0 0 12px}
#expertennetzwerk .profile-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
#expertennetzwerk .profile-copy li{font-size:13px;line-height:1.45;color:#444}
#expertennetzwerk .team-person.active{z-index:12}
#expertennetzwerk .team-person.active .person-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) scale(1)}
@media(max-width:760px){#expertennetzwerk .profile-hint{font-size:9px;margin-top:5px}#expertennetzwerk .person-popover{width:245px}#expertennetzwerk .team-trigger{cursor:pointer}}
@media(prefers-reduced-motion:reduce){#expertennetzwerk .person-popover{transition:none}}

#expertennetzwerk .team-person[hidden],#expertennetzwerk .expert-filter-bar[hidden]{display:none!important}
#expertennetzwerk .expert-filter-bar{margin:0 0 28px}
#expertennetzwerk .expert-filters{display:flex;flex-wrap:wrap;gap:9px}
#expertennetzwerk .expert-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #b7c8bf;border-radius:24px;color:#173d33;background:#fff;font-size:13px;line-height:1.3;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
#expertennetzwerk .expert-filters button:hover{background:#edf3ef;border-color:#50756b}
#expertennetzwerk .expert-filters button[aria-pressed=true]{background:#072f2b;color:#fff;border-color:#072f2b}
#expertennetzwerk .expert-filters button[aria-pressed=true]:not([data-expert-filter=all])::before{content:'✓';color:#ff9852}
#expertennetzwerk .expert-filters button:focus-visible{outline:3px solid #b44812;outline-offset:3px}
#expertennetzwerk .expert-filter-meta{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-size:11px;line-height:1.4;color:#666}
#expertennetzwerk .person-popover{left:var(--profile-left,0);right:auto;transform:scale(.9);transform-origin:center top}
#expertennetzwerk .team-person.active .person-popover{transform:scale(1)}
@media(max-width:760px){#expertennetzwerk .expert-filter-bar{margin-bottom:22px}#expertennetzwerk .expert-filters{gap:7px}#expertennetzwerk .expert-filters button{font-size:12px;padding:9px 12px}#expertennetzwerk .expert-filter-meta{font-size:10px;margin-top:10px}}

#kontakt .steps{margin-top:48px;gap:32px}
#kontakt .step{border-top:1px solid #50504b;padding-top:18px}
#kontakt .step>span{color:#ff9852}
#kontakt .step h3{font-size:21px;color:#fff;margin:0 0 10px}
#kontakt .step p{font-size:13px;line-height:1.6;margin:0;max-width:310px}
#kontakt .contact-grid .actions{margin-top:26px}
@media(max-width:760px){#kontakt .steps{margin-top:34px;gap:18px}#kontakt .step{padding-top:14px}#kontakt .step h3{font-size:19px;margin-bottom:6px}#kontakt .step p{font-size:12px;max-width:none}#kontakt .contact-grid{gap:24px}}

#ueber-uns.vision{background:#f4f3ef;padding-top:76px;padding-bottom:56px}
#ueber-uns .vision-copy{margin-bottom:56px}
#ueber-uns .vision-copy .eyebrow::before{content:'';display:block;width:44px;height:2px;background:#ff701b;margin-bottom:15px}
#ueber-uns .vision-image{border-top:0}
#ueber-uns .vision-caption{padding-top:18px;padding-bottom:0}
.footer-bottom{justify-content:flex-end}
@media(max-width:760px){#ueber-uns.vision{padding-top:48px;padding-bottom:38px}#ueber-uns .vision-copy{margin-bottom:34px}#ueber-uns .vision-copy .eyebrow::before{margin-bottom:12px}#ueber-uns .vision-caption{padding-top:13px}}

#expertennetzwerk .team-person:not(.active) .person-popover{display:none}

.about-origin{padding:64px 0;background:#fff}
.about-origin-grid{display:grid;grid-template-columns:1fr .9fr;gap:90px;align-items:start}
.about-origin h2{font-size:clamp(30px,3.2vw,44px);line-height:1.1}
.about-origin .origin-question{font-size:19px;line-height:1.5;color:#173d33;margin:0}
.about-story{margin-top:24px;border-top:1px solid #d4dad4}
.about-story summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;font-size:14px;color:#173d33;list-style:none;cursor:pointer}
.about-story summary::-webkit-details-marker{display:none}
.about-story summary:focus-visible{outline:3px solid #b44812;outline-offset:4px}
.about-toggle::before{content:'+';font-size:23px;font-weight:400}
.about-story[open] .about-toggle::before{content:'−'}
.about-story .when-open,.about-story[open] .when-closed{display:none}
.about-story[open] .when-open{display:inline}
.about-story-copy p{font-size:15px;line-height:1.7;margin:0 0 19px}
.about-story-copy p:last-child{margin-bottom:0}
.about-story-copy a{text-decoration:underline;text-decoration-color:#a4b9ae;text-underline-offset:3px;color:#173d33}
.about-story-copy a:hover{text-decoration-color:#b44812}
@media(max-width:1100px){.about-origin-grid{gap:50px}}
@media(max-width:760px){.about-origin{padding:40px 0}.about-origin-grid{grid-template-columns:1fr;gap:22px}.about-origin .eyebrow{margin-bottom:16px}.about-origin h2{font-size:31px}.about-origin .origin-question{font-size:17px}.about-story{margin-top:20px}.about-story-copy p{font-size:14px;line-height:1.65}.about-story summary{font-size:13px;min-height:48px}}

#expert-filter-status.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

#kontakt.contact{background:#082c27}
#kontakt .step{border-top-color:#527169}
#kontakt p{color:#d6e0d7}
#fachpraxis.practice-trust{background:#151515}

#software .product-tabs button[aria-selected=true]{background:#111;color:#fff}
#software .software-controls button{color:#111}
#software .software-controls{color:#60605c}
#software .software-number{color:#60605c}
.faq-section{background:#f4f3ef;padding:56px 0}
.faq-section h2{font-size:clamp(30px,3.2vw,44px)}
.faq-list .about-story{margin-top:0;border-top:1px solid #d4dad4}
.faq-list .about-story:last-child{border-bottom:1px solid #d4dad4}
.faq-list summary{align-items:flex-start;line-height:1.5}
.faq-list .about-story-copy{padding:0 0 19px}
#erfahrungen{background:#f4f3ef}
@media(max-width:760px){.faq-section{padding:40px 0}.faq-section h2{font-size:31px}}

#kontakt .contact-person-card{border:1px solid #527169;border-radius:12px;background:#ffffff08;padding:28px}
#kontakt .contact-person-heading{display:flex;align-items:center;gap:18px}
#kontakt .contact-person-heading img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:center 25%;flex-shrink:0}
#kontakt .contact-person-heading strong{display:block;font-size:21px;font-weight:500;line-height:1.25}
#kontakt .contact-person-heading span{display:block;font-size:12px;line-height:1.5;color:#d6e0d7;margin-top:7px}
#kontakt .contact-person-card p{font-size:14px;line-height:1.6;margin:22px 0}
#kontakt .contact-person-actions{display:grid;gap:9px}
#kontakt .contact-person-actions a{display:flex;justify-content:space-between;gap:18px;border:1px solid #7e9a90;border-radius:7px;padding:13px 16px;min-height:48px;font-size:14px;text-decoration:none}
#kontakt .contact-person-actions a:hover{background:#ffffff12;border-color:#fff}
#kontakt .contact-person-email{display:inline-block;font-size:13px;text-underline-offset:4px;margin-top:17px}
@media(max-width:760px){#kontakt .contact-person-card{padding:22px}#kontakt .contact-person-heading{gap:14px}#kontakt .contact-person-heading img{width:72px;height:72px}#kontakt .contact-person-heading strong{font-size:20px}}

#expertennetzwerk .expert-request{font-size:15px;line-height:1.65;color:#60605c;max-width:820px;margin:0 0 26px}
#expertennetzwerk .expert-request a{color:#111;text-underline-offset:4px}

/* Die Illustration geht an allen Seiten in den warmen Abschnitt über. */
#ueber-uns .vision-image{
  --vision-edge-x:clamp(14px,4vw,54px);
  --vision-edge-y:clamp(14px,3.2vw,44px);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--vision-edge-x),#000 calc(100% - var(--vision-edge-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--vision-edge-y),#000 calc(100% - var(--vision-edge-y)),transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 var(--vision-edge-x),#000 calc(100% - var(--vision-edge-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--vision-edge-y),#000 calc(100% - var(--vision-edge-y)),transparent);
  mask-composite:intersect;
}
@media(max-width:760px){#ueber-uns .vision-image{--vision-edge-x:14px;--vision-edge-y:18px}}
