.story-cover{position:relative;isolation:isolate;background:#e9eff1;min-height:580px;border-bottom:1px solid var(--line)}
.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-1}
.cover-content{padding-top:64px;padding-bottom:46px;min-height:580px}
.cover-content h1{font-size:60px;line-height:1.05;color:#153d35}
.cover-content .eyebrow{max-width:450px;color:#264b42}
.cover-title{font-size:36px;line-height:1.18;font-weight:600;color:var(--ink);white-space:pre-line;max-width:510px;margin-top:24px}
.cover-intro{max-width:430px;margin-top:22px;color:#304640;font-size:17px;line-height:1.65}
.cover-content .actions{align-items:center;gap:24px}
.cover-module-link{font-size:14px;font-weight:600;color:#173d35}
.cover-note{font-size:10px;color:#3c504c;margin-top:30px}
.journey-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:16px 80px;padding-top:48px;padding-bottom:48px}
.journey-intro .eyebrow{grid-column:1/-1;margin:0}.journey-intro h2{font-size:30px;white-space:pre-line}.journey-intro>p:last-child{font-size:17px;align-self:end}
.journey{display:grid;grid-template-columns:200px minmax(0,1fr);gap:64px;padding-top:0;padding-bottom:0;align-items:start}.journey-rail,.journey-chapters{min-width:0}
.journey-rail{position:sticky;top:110px;padding:24px 0 30px}.rail-title{font-size:17px;font-weight:700;color:var(--ink)}.rail-title span{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.journey-rail ol{list-style:none;padding:0;margin:22px 0 0;border-left:1px solid #cbdad4}.journey-rail li{margin:0}.journey-rail a{display:flex;gap:12px;text-decoration:none;font-size:13px;color:var(--muted);padding:10px 10px 10px 15px;border-left:3px solid transparent;margin-left:-2px;transition:background .2s,color .2s}.journey-rail a span{color:#71827b;font-size:11px;font-variant-numeric:tabular-nums}.journey-rail a[aria-current],.journey-rail a:hover{border-color:var(--green);color:var(--green);background:#eef5f1}
.journey-chapter{padding:38px 0 46px;border-top:1px solid #c9d8d2;scroll-margin-top:100px}.chapter-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--green)}.chapter-meta span:last-child{color:var(--muted);text-align:right}.chapter-copy h2{font-size:35px;max-width:690px;line-height:1.2}.chapter-copy>p{font-size:17px;max-width:720px;margin-top:20px}.chapter-footer{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px}.module-link{font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #a5c6b7;padding-bottom:4px}.module-link:hover{border-color:var(--green)}
.story-connection{border-left:3px solid #6a93a5;background:#f1f6f8;padding:20px 24px;margin-top:24px}.story-connection h3{font-size:20px;color:#244b5d}.story-connection p{font-size:15px;margin:10px 0 15px}.connection-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:#4e6e7b;margin-bottom:8px}.story-connections{display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-connections .story-connection{padding:18px}.result-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}.result-paths>div{border-top:2px solid #448b74;padding-top:14px}.result-paths h3{font-size:17px}.result-paths p{font-size:14px;margin-top:10px}.story-inline{margin-top:18px}
.journey-shot{margin:28px 0 0}.journey-shot img{display:block;width:100%;height:auto;border:1px solid #cddbd5;box-shadow:0 9px 28px #153d3510;border-radius:5px}.journey-shot a{display:block}.journey-shot figcaption{font-size:11px;color:var(--muted);line-height:1.5;margin-top:10px}.phone-shot{max-width:245px;margin-left:auto;margin-right:auto}.phone-shot img{max-height:470px;width:auto;margin:auto;object-fit:contain}.phone-shot figcaption{max-width:260px}
.story-end{background:#173d35}.story-end .section{padding-top:55px;padding-bottom:55px}.story-end h2{color:white;max-width:710px}.story-end p{color:#d1e2da;max-width:720px;margin-top:18px}.story-end .eyebrow{color:#a4d2bd;margin-top:0}.story-end .button{margin-top:26px;background:#fff;color:#173d35;border-color:#fff}.story-end .button:hover{background:#e2efe9;border-color:#e2efe9}
.network-intro{max-width:1440px;padding:48px 48px 32px;text-align:left}
.network-intro h1{font-size:48px;max-width:none;line-height:1.13}
.network-intro .intro{font-size:20px;max-width:none;margin-top:16px}
.network-intro .eyebrow{margin-bottom:18px;font-size:14px}
.module-explorer{scroll-margin-top:10px}
.network-wrap{max-width:1440px;margin:auto;padding:12px 48px 0;background:white}
.process-phases{display:grid;grid-template-columns:35% 33% 32%;gap:0}
.process-phases span{font-size:14px;font-weight:700;text-transform:uppercase;color:var(--green);border-top:1px solid #abd1c1;padding:14px 18px 0 0}
.process-phases span+span{color:#387bac;border-color:#bbd5e7;margin-left:24px}
.module-network{position:relative;height:520px;margin:0}
.network-edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.network-edges path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.map-edge{stroke:#b4d5c9;stroke-width:1.25}
.edge-flow{stroke:#238563;stroke-width:1.6}
.edge-specialist,.edge-access{stroke:#8dbadb}
.edge-oversight{stroke:#a9c9e0;stroke-dasharray:4 5}
.map-edge.is-connected{stroke:#08734e;stroke-width:2;opacity:1}
.edge-trace{stroke:#08734e;stroke-width:2.2;opacity:0}
.flow-direction{stroke:#198668;stroke-width:1.3}
.process-group{display:contents}.mobile-map-heading{display:none}
.network-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-36px);display:flex;flex-direction:column;align-items:center;width:176px;min-height:110px;text-decoration:none;color:var(--ink);text-align:center;background:none;border:0;padding:0;z-index:1}
.node-symbol{display:flex;align-items:center;justify-content:center;width:72px;height:72px;flex-shrink:0;border:1px solid #71b59b;border-radius:50%;background:#fff;color:#176650;box-shadow:0 0 0 8px #e6f1ec66;transform-origin:center}
.node-symbol svg{width:29px;height:29px}
.node-label{font-size:15px;font-weight:600;line-height:1.35;margin-top:14px;padding:0 5px;background:#fff;max-width:100%;overflow-wrap:anywhere}
.node-note{font-size:12px;line-height:1.45;color:var(--muted);background:#fff;margin-top:5px;max-width:170px;padding:0 5px}
.node-specialist .node-symbol,.node-access .node-symbol,.node-oversight .node-symbol{border-color:#91bcdf;color:#24648e;box-shadow:0 0 0 8px #e9f2f866}
.network-node[aria-current] .node-symbol{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 0 8px #dbece3,0 0 0 16px #edf5f1}
.network-node[aria-current] .node-label{color:var(--green)}
.network-node.is-related .node-symbol{border-color:#2b946e;background:#f0f7f3}
.network-node:hover .node-symbol,.network-node:focus-visible .node-symbol{border-color:var(--green);box-shadow:0 0 0 8px #e1eee7}
.map-context{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:20px 0 28px;border-bottom:1px solid #cbdad3}
.map-context p{font-size:14px;line-height:1.65;max-width:560px}.map-context p+p{margin:0}
.module-details{max-width:1440px;padding:34px 48px 64px}
.module-detail{scroll-margin-top:10px;padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--line)}
.module-detail[hidden]{display:none}
.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.detail-heading .eyebrow{margin:0;font-size:14px}.network-back{font-size:14px;white-space:nowrap}
.detail-summary{display:grid;grid-template-columns:1.2fr 1.15fr .7fr;gap:38px;align-items:start}
.module-detail h2{font-size:36px;max-width:470px;line-height:1.14}.module-detail h2:focus{outline:none}
.detail-overview{border-left:1px solid var(--line);padding-left:30px;min-width:0}
.detail-lead{font-size:17px;line-height:1.65;margin:0}
.detail-overview .text-link{font-size:14px;margin-top:16px}
.detail-overview .status{margin-top:14px}
.related-modules{border-left:1px solid var(--line);padding-left:26px;display:flex;flex-direction:column;align-items:start;gap:10px;min-width:0}
.related-modules h3{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:3px}
.related-module{font-size:14px;text-decoration:none;border-bottom:1px solid #b4cec0;line-height:1.5;max-width:100%}
.related-module:hover{color:#06593e;border-color:#06593e}
.detail-content{scroll-margin-top:10px;padding-top:24px}
.detail-points{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin:0}
.detail-points li{padding-top:16px;border-top:2px solid #b6cfc2;color:var(--muted);font-size:16px}
.module-detail .journey-shot{max-width:1000px}.module-detail .phone-shot{max-width:245px}
.lifecycle-note{margin-top:24px;max-width:920px;font-size:16px}
.legacy-anchor{display:block;scroll-margin-top:10px}
@media(min-width:1600px){.story-cover,.cover-content{min-height:620px}.cover-photo{object-position:center 48%}}
@media(max-width:1100px){.journey{grid-template-columns:165px minmax(0,1fr);gap:35px}.cover-title{font-size:32px;max-width:430px}.cover-intro{max-width:375px}.cover-content h1{font-size:52px}}
@media(max-width:850px){.cover-photo{object-position:62% center}.cover-content{background:#f3f6f5b8}.story-cover,.cover-content{min-height:530px}.journey-intro{gap:20px;grid-template-columns:1fr}.journey{grid-template-columns:1fr;gap:0}.journey-rail{top:75px;z-index:9;background:#fffffff5;margin:0 -24px;padding:8px 24px;border-bottom:1px solid var(--line)}.rail-title{display:none}.journey-rail ol{display:flex;overflow-x:auto;border:0;margin:0;gap:5px;scrollbar-width:thin}.journey-rail a{white-space:nowrap;margin:0;border-left:0;border-bottom:2px solid transparent;padding:8px;font-size:11px;gap:6px}.journey-chapter{scroll-margin-top:140px}}
@media(max-width:550px){.cover-content{padding-top:35px;padding-bottom:32px;background:#edf3f1d9}.story-cover,.cover-content{min-height:540px}.cover-photo{object-position:69% center}.cover-content h1{font-size:46px}.cover-title{font-size:30px}.cover-intro{font-size:16px;max-width:340px}.cover-content .eyebrow{font-size:10px;max-width:280px}.cover-content .actions{gap:18px}.cover-module-link{font-size:12px}.cover-note{font-size:9px}.journey-intro{padding-top:34px;padding-bottom:34px}.journey-intro h2{font-size:25px}.journey-intro>p:last-child{font-size:15px}.journey-rail{margin:0 -22px;padding-left:16px;padding-right:16px;top:76px}.chapter-copy h2{font-size:28px}.chapter-copy>p{font-size:16px}.chapter-meta{font-size:10px;gap:10px}.story-connections,.result-paths{grid-template-columns:1fr}.result-paths{gap:14px}.result-paths p{margin-top:5px}.story-connection{padding:17px}.story-connection h3{font-size:18px}.journey-chapter{padding-top:30px;padding-bottom:35px}.story-end h2{font-size:28px}}
@media(max-width:1200px){.network-intro,.network-wrap,.module-details{padding-left:32px;padding-right:32px}.network-intro h1{font-size:42px}.network-node{width:150px}.node-label{font-size:14px}.node-note{max-width:145px}.detail-summary{gap:26px;grid-template-columns:1.1fr 1.2fr .8fr}.module-detail h2{font-size:32px}.detail-overview{padding-left:22px}.related-modules{padding-left:22px}}
@media(max-width:1050px){
  .network-intro{padding-top:36px;padding-bottom:30px}.network-intro h1{font-size:38px;max-width:680px}.network-intro .intro{font-size:18px;max-width:680px}
  .process-phases,.network-edges{display:none}.network-wrap{padding-top:0}
  .module-network{height:auto;display:block}
  .process-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;padding:0 0 34px;margin-bottom:30px;border-bottom:1px solid var(--line)}
  .mobile-map-heading{display:block;grid-column:1/-1;font-size:17px;line-height:1.5;color:var(--green);padding-bottom:12px}
  .network-node{position:relative;left:auto;top:auto;transform:none;width:auto;min-height:128px}
  .node-label{font-size:16px;max-width:230px}.node-note{max-width:220px;font-size:14px}
  .process-core{grid-template-areas:'heading heading' 'orders orders' 'sampling sampling' 'results microbiology' 'reports portal';position:relative}
  .process-core .mobile-map-heading{grid-area:heading}.process-core [data-node=orders]{grid-area:orders}.process-core [data-node=sampling]{grid-area:sampling}.process-core [data-node=results]{grid-area:results}.process-core [data-node=microbiology]{grid-area:microbiology}.process-core [data-node=reports]{grid-area:reports}.process-core [data-node=portal]{grid-area:portal}
  .process-core [data-node=orders]:after,.process-core [data-node=sampling]:after{content:'';position:absolute;top:111px;height:22px;width:1px;background:#98c7b2;left:50%}
  .process-core [data-node=results]:before{content:'';position:absolute;top:111px;height:22px;width:1px;background:#98c7b2;left:50%}
  .process-core [data-node=results]:after,.process-core [data-node=reports]:after{content:'';position:absolute;left:calc(50% + 44px);right:calc(-50% + 12px);top:36px;height:1px;background:#a9c9e0;z-index:-1}
  .process-support{grid-template-columns:repeat(4,minmax(0,1fr));border:0;margin:0;padding-bottom:24px}
  .map-context{gap:24px}.detail-summary{grid-template-columns:1fr 1.25fr;gap:24px}.related-modules{grid-column:1/-1;border:0;border-top:1px solid var(--line);padding:20px 0 0;flex-direction:row;flex-wrap:wrap;gap:10px 24px}.related-modules h3{width:100%}.module-detail h2{font-size:32px}
}
@media(max-width:600px){
  .network-intro,.network-wrap,.module-details{padding-left:22px;padding-right:22px}.network-intro h1{font-size:34px}.network-intro .intro{font-size:17px}.network-intro .eyebrow{font-size:12px}
  .process-group{gap:22px 24px;margin-bottom:24px;padding-bottom:28px}.process-support{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.node-symbol{width:64px;height:64px}.node-symbol svg{width:27px;height:27px}.node-label{font-size:14px;margin-top:13px}.node-note{font-size:12px;max-width:150px}.network-node{min-height:122px}
  .process-core [data-node=results]:after,.process-core [data-node=reports]:after{top:32px;left:calc(50% + 38px);right:calc(-50% + 12px)}
  .map-context{grid-template-columns:1fr;gap:14px;padding-top:0}.map-context p{font-size:14px}
  .module-details{padding-top:28px}.detail-summary{grid-template-columns:1fr;gap:20px}.detail-overview{border:0;padding:0}.module-detail h2{font-size:30px;max-width:450px}.detail-lead{font-size:16px}.detail-heading{gap:14px;align-items:start}.detail-heading .eyebrow,.network-back{font-size:12px}.detail-points{grid-template-columns:1fr;gap:20px}.detail-content{padding-top:24px}.detail-points li{font-size:16px}
}

/* module list as an accordion (tester, 8 Oct 2026): every module has its own row, the map opens the matching one */
.module-explorer .module-detail{padding:0;margin:0;border-bottom:1px solid var(--line);scroll-margin-top:-24px}   /* with html scroll-padding (100px) the opened header lands just below the sticky navigation */
.module-explorer .module-detail:first-child{border-top:1px solid var(--line)}
.module-detail>summary{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr) auto;align-items:center;gap:6px 28px;margin:0;padding:20px 4px;cursor:pointer;list-style:none}
.module-detail>summary::-webkit-details-marker{display:none}
.module-detail>summary{position:relative}.module-detail>summary .legacy-anchor{position:absolute;top:0;left:0}   /* old jump targets stay out of the grid */
.module-detail>summary::after{content:"";width:10px;height:10px;margin:0 8px 5px 0;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);transition:transform .2s}
.module-detail[open]>summary::after{margin:5px 8px 0 0;transform:rotate(-135deg)}
.module-detail>summary .eyebrow{margin:0;font-size:14px}
.module-explorer .module-detail h2{margin:0;max-width:none;font-size:26px;line-height:1.2}
.module-detail>summary:hover h2{color:var(--green)}
.module-detail>summary:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.detail-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:38px;padding:4px 4px 0}
.detail-cols .detail-overview{border:0;padding:0}
.module-detail .detail-content{padding:26px 4px 42px}
.detail-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:24px 0 0}
.detail-links .text-link,.detail-links .network-back{margin:0}
.detail-overview .topic-link{margin-left:0}   /* it no longer follows another link */
@media(prefers-reduced-motion:reduce){.module-detail>summary::after{transition:none}}
@media(max-width:1050px){.detail-cols{grid-template-columns:1fr;gap:20px}.detail-cols .related-modules{border:0;border-top:1px solid var(--line);padding:18px 0 0;flex-direction:row;flex-wrap:wrap;gap:10px 24px}.detail-cols .related-modules h3{width:100%}}
@media(max-width:600px){.module-detail>summary{grid-template-columns:minmax(0,1fr) auto;padding:16px 2px}.module-detail>summary .eyebrow,.module-detail>summary h2{grid-column:1}.module-detail>summary::after{grid-column:2;grid-row:1/3}.module-explorer .module-detail h2{font-size:20px}.module-detail>summary .eyebrow{font-size:12px}}

/* About: figures and locations */
.about-facts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.about-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px;margin:0}
.about-numbers div{border-top:2px solid var(--green);padding-top:12px}
.about-numbers dt{font-size:34px;font-weight:700;line-height:1.1;color:var(--green-d)}
.about-numbers dd{margin:4px 0 0;color:var(--muted)}
.about-places h2{font-size:24px;margin:0 0 14px}
.about-places div{padding:14px 0;border-top:1px solid var(--line)}
.about-places h3{font-size:17px;margin:0 0 4px}.about-places p{margin:0;color:var(--muted)}
@media(max-width:800px){.about-facts{grid-template-columns:1fr;gap:32px}}

/* AI page: a question typed into Ask your Dashboard and its answer */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ask-demo{max-width:720px;margin:26px 0;padding:20px 22px 22px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 10px 30px #12342d14}
.ask-demo figcaption{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green-d)}
.ask-demo figcaption::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green)}
.ask-q{min-height:3.2em;margin:0;padding:12px 14px;border:1px solid var(--line-2);border-radius:8px;background:var(--wash);font-size:17px}
.ask-demo.is-typing .ask-type::after{content:"";display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-.15em;background:var(--ink);animation:ask-caret 1s steps(1) infinite}
@keyframes ask-caret{50%{opacity:0}}
.ask-a{margin:14px 0 0;padding:14px 16px;border-left:3px solid var(--green);background:var(--green-l);border-radius:0 8px 8px 0;font-size:17px;transition:opacity .4s,transform .4s}
.ask-a strong{font-size:1.2em;color:var(--green-d)}
.ask-demo.is-waiting .ask-a{opacity:0;transform:translateY(6px)}
@media(prefers-reduced-motion:reduce){.ask-a{transition:none}}
@media(min-width:1051px){.network-node[data-node="results"] .node-note{max-width:none;white-space:nowrap}}
@media(max-width:1050px){.network-node[data-node="results"] .node-note{display:none}}   /* in the list layout its connector to Prüfberichte would run through the note */   /* on the large map there is room for one line only between Ergebnisse and Mikrobiologie */
