/* Digital-first refinement of the established DriveLink visual language. */
.dls-digital-home .hero-title { font-size: clamp(42px,4.6vw,70px); max-width: none; }
.dls-digital-home .hero-sub { max-width: 48ch; }
.dls-digital-home .hero-illustration { background: var(--cream-dark); }
.dls-digital-home .hero-illustration::before { background: linear-gradient(90deg,var(--cream) 0%,rgba(242,237,230,.96) 32%,rgba(242,237,230,.65) 52%,rgba(242,237,230,.08) 80%); }
.dls-digital-home .scard-top { justify-content: flex-start; margin-bottom: 24px; }
.dls-digital-home .scard-vis { color: var(--white); }
.dls-digital-home .scard { display: flex; flex-direction: column; }
.dls-digital-home .scard-link { margin-top: auto; padding-top: 20px; }
.dls-digital-home .scard-title { font-size: 24px; line-height: 1.15; }
.digital-showcase { background: var(--white); }
.digital-feature { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 72px; align-items: center; }
.digital-feature + .digital-feature { margin-top: 88px; }
.digital-feature--reverse { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }
.digital-feature--reverse .digital-feature-copy { order: 2; }
.digital-feature-visual { min-width: 0; }
.digital-feature-visual img { display: block; width: 100%; }
.digital-feature-visual figcaption { font-size: 12px; line-height: 1.5; color: var(--muted); margin-top: 12px; }
.digital-feature-copy .sec-body, .digital-workflow-heading .sec-body { margin-bottom: 20px; }
.digital-workflow-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 72px; }
.digital-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; margin: 40px 0 0; padding: 0; border: 1px solid var(--border); border-radius: var(--r); background: var(--white); }
.digital-flow li { position: relative; padding: 28px 20px; min-width: 0; }
.digital-flow li + li { border-left: 1px solid var(--border); }
.digital-flow li + li::before { content: '→'; position: absolute; left: -10px; top: 50%; transform: translateY(-50%); color: var(--red); background: var(--white); width: 20px; text-align: center; font-size: 18px; }
.digital-flow-label { display: block; font-size: 12px; color: var(--red); font-weight: 600; margin-bottom: 14px; }
.digital-flow strong { display: block; font-size: 20px; line-height: 1.2; color: var(--navy); margin-bottom: 12px; overflow-wrap: anywhere; }
.digital-flow-detail { display: block; font-size: 13px; line-height: 1.5; color: var(--muted); }
.digital-flow li:nth-child(3) { background: var(--navy); }
.digital-flow li:nth-child(3) strong, .digital-flow li:nth-child(3) .digital-flow-label { color: var(--white); }
.digital-flow li:nth-child(3) .digital-flow-detail { color: var(--cream); }
.digital-workflow-note { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 16px; }
.digital-flow--vertical { grid-template-columns: 1fr; margin: 0; }
.digital-flow--vertical li { padding: 18px 26px; display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 2px 16px; }
.digital-flow--vertical .digital-flow-label { margin: 0; grid-row: span 2; align-self: center; }
.digital-flow--vertical strong { margin: 0; font-size: 19px; }
.digital-flow--vertical li + li { border-left: 0; border-top: 1px solid var(--border); }
.digital-flow--vertical li + li::before { content: '↓'; top: -12px; left: 50%; transform: translateX(-50%); }
.knote { position: relative; overflow: hidden; min-height: 240px; display: grid; place-items: center; text-align: center; padding: 40px 28px; isolation: isolate; color: var(--white); }
.knote p { position: relative; z-index: 1; max-width: 28ch; margin: 0; font-size: clamp(18px,1.5vw,22px); font-weight: 600; line-height: 1.55; }
.knote-network { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .10; pointer-events: none; }
.knote-network path { fill: none; stroke: var(--cream); stroke-width: 2; }
.knote-network circle { fill: var(--cream); }
.dls-anchor { display: block; scroll-margin-top: 110px; }
.digital-feature { scroll-margin-top: 110px; }
.dls-digital-home .service-cta h2 { margin-bottom: 18px; line-height: 1.12; letter-spacing: -.02em; }
@media(max-width:1100px) {
 .digital-feature, .digital-feature--reverse { gap: 40px; }
 .digital-workflow-heading { gap: 40px; }
 .digital-flow li { padding: 24px 15px; }
 .digital-flow strong { font-size: 18px; }
 .digital-flow--vertical li { padding: 18px 24px; }
}
@media(max-width:767px) {
 .digital-feature, .digital-feature--reverse, .digital-workflow-heading { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .digital-feature--reverse .digital-feature-copy { order: 0; }
 .digital-feature + .digital-feature { margin-top: 56px; }
 .digital-flow { grid-template-columns: minmax(0,1fr); margin-top: 28px; }
 .digital-flow li { padding: 20px 24px; }
 .digital-flow li + li { border-left: 0; border-top: 1px solid var(--border); }
 .digital-flow li + li::before { content: '↓'; top: -12px; left: 50%; transform: translateX(-50%); }
 .digital-flow-label { margin-bottom: 6px; }
 .digital-flow strong { font-size: 20px; margin-bottom: 5px; }
 .digital-flow--vertical { margin: 0; }
 .digital-flow--vertical li { grid-template-columns: 105px minmax(0,1fr); gap: 2px 12px; padding: 18px; }
 .digital-flow--vertical strong { font-size: 18px; }
 .dls-digital-home .hero { min-height: 440px; }
 .dls-digital-home .hero-illustration { opacity: .14; }
 .dls-digital-home .hero-title { font-size: clamp(40px,8vw,54px); }
}

#einzelthemen.dls-anchor, #zielgruppen.dls-anchor { padding: 0; margin: 0; height: 0; min-height: 0; background: transparent; }

.service-hero-grid > * { min-width: 0; }
.service-title { overflow-wrap: break-word; hyphens: auto; }

/* Align the visible panel (SVG x=626) with the service-card edge; compensate 54/680 empty SVG width. */
@media (min-width: 1025px) {
 .dls-digital-home .hero-svg-scene { width: auto; aspect-ratio: 680 / 520; left: auto; right: max(80px, calc((100% - var(--container)) / 2)); transform: translateX(7.941176%); }
}
