/* Shared, subtly squared frames. Circular portraits and controls keep their shape. */
:root{--radius:6px}
body .blueprint-frame,body .card,body .compare,body .compare-col,body .partner-promise,body .system-card--animated,body .case-viewport,body .compare-3-card,body .module-card,body .case-detail,body .photo-slot,body .real-photo,body .tech-flow,body .tech-node,body .tech-pair article,body .tech-screen,body .tech-expert-photo,body .lead-demo,body .lead-booking,body .about-value,body .reel-visual,body .feature-film,body .gallery-item,body .georg-photo,body .georg-photo img,body #media-player,body .career-preview,body .case-detail-grid .case-photo,body .case-media-slot,body .message-card,body .case-photo .case-detail-steps,body .film-placeholder{border-radius:6px}
body .industry-icon.industry-icon--crafted,body .lead-icon{border-radius:5px}
body .media-film{padding-block:32px;scroll-margin-top:90px}
body .media-film h2{font-size:clamp(28px,3vw,42px);line-height:1.1;margin:8px 0 12px}
body .media-film h2 br{display:none}
body .media-film .film-intro{max-width:70ch;margin:0 0 20px;line-height:1.5}
body .media-film .feature-film{width:min(100%,calc(48svh * 16 / 9));aspect-ratio:16/9;min-height:0;margin-inline:auto;padding:16px}
body .media-film .media-caption{margin-top:12px}
body .media-film+.media-film{border-top:1px solid #ffffff20}
body[data-photo-page="media-days"] .georg-photo img{width:100%;height:480px;object-fit:cover;object-position:center 32%}
body .case-video-card--photo{height:292px;min-height:292px;align-items:flex-start;justify-content:flex-end;text-align:left}
body .case-video-card--photo::before{z-index:1;background:linear-gradient(180deg,rgba(3,28,5,.04) 24%,rgba(3,28,5,.86) 100%)}
body .case-video-card>img.case-video-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0}
body .case-video-card--photo .case-video-kicker{margin-bottom:10px;color:rgba(255,255,255,.76)}
body .case-video-card--photo small{color:rgba(255,255,255,.78)}
body .guarantee--photo{position:relative;background-image:linear-gradient(90deg,rgba(3,32,6,.9) 0%,rgba(3,32,6,.78) 52%,rgba(3,32,6,.68) 100%),url('../assets/labor-fotos/rgw-engine-hannker-team.jpg');background-size:cover;background-position:center 44%;background-repeat:no-repeat}
body .guarantee--photo .wrap{position:relative;z-index:1}
/* Drei Systemkarten: gleiche Text- und Aktionsachsen auf jeder Bildschirmbreite. */
body .systems-grid--animated .system-card-copy{display:grid;grid-template-rows:auto minmax(2.45em,auto) minmax(4.5em,1fr) auto auto;align-items:start}
body .systems-grid--animated .system-card-copy h3{min-height:2.45em;margin:0 0 9px}
body .systems-grid--animated .system-card-copy>p:not(.system-index):not(.system-result){min-height:4.5em;margin:0 0 14px}
body .systems-grid--animated .system-result{margin:0 0 14px !important}
body .guarantee--photo .guarantee-text{max-width:34ch;line-height:1.15}
body .guarantee--photo .guarantee-sub{max-width:68ch;line-height:1.55}
body .guarantee--photo .guarantee-note{max-width:66ch;margin:18px 0 0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.78)}
body .guarantee:not(.guarantee--photo) .guarantee-text{max-width:34ch;line-height:1.15}
body .guarantee:not(.guarantee--photo) .guarantee-sub{max-width:68ch;line-height:1.55}
body .guarantee:not(.guarantee--photo) .guarantee-note{max-width:66ch;margin:18px 0 0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.78)}
body .labor-photo-grid--portraits{grid-template-columns:repeat(3,minmax(0,1fr))}
body .labor-photo-grid--portraits .real-photo{height:350px}
body .labor-photo-grid--portraits .real-photo:nth-child(1) img{object-position:center 34%}
body .labor-photo-grid--portraits .real-photo:nth-child(2) img{object-position:center 38%}
body .labor-photo-grid--portraits .real-photo:nth-child(3) img{object-position:center 34%}
/* Neukundengewinnung: eigenständige, gleich große Bildreihe. */
body .labor-photo-grid--collaboration{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body .labor-photo-grid--collaboration .real-photo{height:350px;aspect-ratio:auto}
body .labor-photo-grid--collaboration .real-photo img{height:100%;min-height:0;object-fit:cover}
body .labor-photo-grid--collaboration .real-photo:nth-child(1) img{object-position:center 48%}
body .labor-photo-grid--collaboration .real-photo:nth-child(2) img{object-position:center 46%}
body .labor-photo-grid--collaboration .real-photo:nth-child(3) img{object-position:center 38%}
/* Rechtliche Seiten */
body .legal-page{min-height:60vh;padding:clamp(78px,10vw,132px) 0 clamp(86px,12vw,150px);background:rgba(236,235,230,.62)}
body .legal-copy{max-width:860px}
body .legal-copy h1{font-size:clamp(42px,6vw,78px);line-height:1.02;margin:8px 0 52px;color:#052506}
body .legal-copy section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid rgba(66,200,26,.34)}
body .legal-copy section:last-child{margin-bottom:0}
body .legal-copy h2{font-size:clamp(20px,2.4vw,29px);line-height:1.2;margin:0 0 14px;color:#0b3510}
body .legal-copy p{max-width:76ch;margin:0;color:#526052;line-height:1.8}
body .legal-copy a{color:#176f18;text-decoration-thickness:1px;text-underline-offset:3px}
body .legal-copy a:hover{color:#42c81a}
@media(max-width:760px){body .case-video-card--photo{height:220px;min-height:220px}}
@media(max-width:650px){body .labor-photo-grid--portraits{grid-template-columns:1fr}body .labor-photo-grid--portraits .real-photo{height:290px}}
@media(max-width:650px){body .labor-photo-grid--collaboration{grid-template-columns:1fr}body .labor-photo-grid--collaboration .real-photo{height:290px}}
@media(max-width:600px){body .media-film{padding-block:26px}body .media-film .feature-film{width:100%}body .film-placeholder{padding:12px}body .film-placeholder strong{margin:10px 0;font-size:20px}}
/* Neukundengewinnung: Vergleichsabschnitt als ruhige, dunkle Bildfläche. */
body .partner--photo{isolation:isolate;background-image:linear-gradient(100deg,rgba(3,32,6,.94) 0%,rgba(3,32,6,.88) 53%,rgba(3,32,6,.78) 100%),url('../assets/labor-fotos/neukundengewinnung-wege.jpg');background-position:center 49%;background-size:cover;background-repeat:no-repeat;border-top-color:rgba(118,214,83,.38)}
body .partner--photo .wrap{position:relative;z-index:1}
body .partner--photo h2{color:#fff}
body .partner--photo .section-kicker{color:#5be234}
body .partner--photo .compare-3-card--muted{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.46);box-shadow:none}
body .partner--photo .compare-3-card--marked{background:rgba(7,67,13,.94);border-color:rgba(115,223,79,.62)}
@media(max-width:700px){body .partner--photo{background-position:58% center}body .partner--photo .compare-3-card--muted{background:rgba(255,255,255,.94)}}
/* Vergleich: individuelle, zurückhaltende Icon-Bewegungen. */
body .partner--photo .lead-icon{position:relative;overflow:hidden;transform-origin:center;will-change:transform}
body .partner--photo .compare-3-card--muted .lead-icon{color:#fff;background:#b72d30;border-color:#ff8277;box-shadow:0 0 0 3px rgba(208,55,47,.2),0 0 22px rgba(218,58,48,.42)}
body .partner--photo .compare-3-card:nth-child(1) .lead-icon{animation:rgw-icon-warning 3.8s ease-in-out infinite}
body .partner--photo .compare-3-card:nth-child(2) .lead-icon svg{animation:rgw-icon-cost 3.5s ease-in-out infinite;transform-origin:center;will-change:transform}
body .partner--photo .lead-icon--launch{background:rgba(66,200,26,.12);border-color:rgba(130,240,91,.34)}
body .partner--photo .lead-icon--launch::after{content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(119,235,81,.5);border-radius:50%;animation:rgw-icon-radar 2.8s ease-out infinite}
body .partner--photo .lead-icon--launch svg{position:relative;z-index:1;animation:rgw-icon-aim 2.8s ease-in-out infinite;transform-origin:center;will-change:transform}
@keyframes rgw-icon-warning{0%,66%,100%{transform:translateY(0) rotate(0);box-shadow:0 0 0 3px rgba(208,55,47,.2),0 0 22px rgba(218,58,48,.42)}70%{transform:translateX(-2px) rotate(-3deg);box-shadow:0 0 0 7px rgba(225,64,54,.18),0 0 29px rgba(240,70,59,.72)}76%{transform:translateX(2px) rotate(3deg)}82%{transform:translateX(-1px) rotate(-1deg)}}
@keyframes rgw-icon-cost{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-3px) rotate(-6deg)}62%{transform:translateY(-1px) rotate(4deg)}}
@keyframes rgw-icon-radar{0%{transform:scale(.45);opacity:.8}75%,100%{transform:scale(2.25);opacity:0}}
@keyframes rgw-icon-aim{0%,100%{transform:rotate(0)}45%{transform:rotate(-7deg)}65%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){body .partner--photo .lead-icon,body .partner--photo .lead-icon svg,body .partner--photo .lead-icon--launch::after{animation:none}}
/* Ablauf im Neukunden-System: die Schritte pulsen erst im sichtbaren Bereich. */
body .lead-engine .station-num{position:relative;isolation:isolate;transition:color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease}
body .lead-engine .station-num::after{content:"";position:absolute;inset:-6px;border:1px solid rgba(66,200,26,.68);border-radius:inherit;opacity:0;z-index:-1}
body .lead-engine.is-pulsing .lead-station:nth-child(1) .station-num{animation:rgw-station-pulse 7.2s ease-out infinite 0s}
body .lead-engine.is-pulsing .lead-station:nth-child(2) .station-num{animation:rgw-station-pulse 7.2s ease-out infinite 1.8s}
body .lead-engine.is-pulsing .lead-station:nth-child(3) .station-num{animation:rgw-station-pulse 7.2s ease-out infinite 3.6s}
body .lead-engine.is-pulsing .lead-station:nth-child(4) .station-num{animation:rgw-station-pulse 7.2s ease-out infinite 5.4s}
body .lead-engine.is-pulsing .station-num::after{animation:rgw-station-ring 7.2s ease-out infinite}
body .lead-engine.is-pulsing .lead-station:nth-child(2) .station-num::after{animation-delay:1.8s}
body .lead-engine.is-pulsing .lead-station:nth-child(3) .station-num::after{animation-delay:3.6s}
body .lead-engine.is-pulsing .lead-station:nth-child(4) .station-num::after{animation-delay:5.4s}
body .lead-engine .lead-station:hover .station-num{background:#42c81a;color:#052506;box-shadow:0 0 0 6px rgba(66,200,26,.18),0 0 24px rgba(66,200,26,.56);transform:translateY(-2px)}
@keyframes rgw-station-pulse{0%,24%,100%{background:#0d5515;color:#fff;box-shadow:0 0 0 0 rgba(66,200,26,0);transform:translateY(0)}7%,16%{background:#42c81a;color:#052506;box-shadow:0 0 0 7px rgba(66,200,26,.16),0 0 26px rgba(66,200,26,.6);transform:translateY(-2px)}}
@keyframes rgw-station-ring{0%,6%{opacity:0;transform:scale(.7)}12%{opacity:.84}24%,100%{opacity:0;transform:scale(1.75)}}
@media(prefers-reduced-motion:reduce){body .lead-engine .station-num,body .lead-engine .station-num::after{animation:none!important;transition:none}}
/* Überblick: feiner Giftgrün-Rahmen und klare Akzente innerhalb der dunklen Fläche. */
body .lead-demo{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(91,226,52,.76);box-shadow:0 0 0 3px rgba(66,200,26,.09),0 18px 42px rgba(4,41,8,.16)}
body .lead-demo::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 8% 0%,rgba(91,226,52,.2),transparent 26%),radial-gradient(circle at 92% 100%,rgba(66,200,26,.12),transparent 30%)}
body .lead-demo .photo-label{color:#86ef63}
body .lead-demo h3{position:relative;padding-left:14px}
body .lead-demo h3::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:3px;background:#42c81a;box-shadow:0 0 14px rgba(66,200,26,.86)}
body .lead-demo>div>span{position:relative;padding-top:13px;border-top:1px solid rgba(123,239,92,.36);transition:border-color .2s ease,color .2s ease}
body .lead-demo>div>span::before{content:"";position:absolute;top:-2px;left:0;width:26px;height:2px;background:#42c81a;box-shadow:0 0 12px rgba(66,200,26,.72)}
body .lead-demo>div>span:hover{color:#dfffd5;border-top-color:#6ee94b}
body .lead-demo>div>span strong{transition:color .2s ease}
body .lead-demo>div>span:hover strong{color:#9bf278}
/* Zweizeiliger Systemtitel: grüne Kennzeichnung, weiße Leistungszeile. */
body .guarantee .guarantee-text .guarantee-title-line{display:block;color:#fff}

/* Kompakte Reels und horizontale Imagefilm-Auswahl. */
body .media-section.wrap{padding-block:56px}
body .reel-card{flex-basis:calc((100% - 60px)/3.35)}
body .reel-visual{aspect-ratio:4/5}
body .media-film--carousel{padding-block:42px}
body .film-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}
body .film-carousel-controls{display:flex;gap:10px;flex-shrink:0}
body .film-carousel-controls button{width:46px;height:46px;border:1px solid #789b68;border-radius:50%;background:transparent;color:#fff;font:inherit;font-size:22px;cursor:pointer;transition:transform .2s,background .2s}
body .film-carousel-controls button:hover{background:#42c81a;color:#052506;transform:translateY(-2px)}
body .film-carousel{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
body .film-carousel::-webkit-scrollbar{display:none}
body .film-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;text-align:center}
body .film-slide .section-kicker{display:block}
body .film-slide .film-intro{margin-inline:auto}
body .film-slide .feature-film{margin-inline:auto}
@media(max-width:800px){body .reel-card{flex-basis:calc((100% - 24px)/2)}body .media-section.wrap{padding-block:44px}}
@media(max-width:520px){body .reel-card{flex-basis:78%}body .film-carousel-head{align-items:flex-start}.film-carousel-controls button{width:42px;height:42px}}

/* Plain section markers. No markers at either edge of the hero. */
body .partner::before,body .partner::after,body .references::before,
body .ledger::before,body .guarantee::before,body .timeline::before,
body .timeline::after,body .industries::before,body .people::before,
body .faq::before,body .closing::before,body .site-footer::before{display:none}
body main>section:not(.trustband),body .site-footer{border-top-width:0;border-bottom-width:0}
.section-boundary{position:absolute;left:0;right:0;height:0;pointer-events:none;z-index:6}
.section-boundary[hidden]{display:none}
.section-boundary-line{position:absolute;top:0;left:max(28px,calc(50% - 562px));right:max(28px,calc(50% - 562px));height:1px;background:var(--line-soft)}
.section-boundary-dot{display:none;position:absolute;top:0;width:6px;height:6px;background:var(--wachstums-gruen);border-radius:50%;box-shadow:0 0 0 7px var(--page-bg);transform:translate(-50%,-50%)}
.section-boundary-dot.left{left:max(10px,calc(50% - 590px))}
.section-boundary-dot.right{left:auto;right:max(10px,calc(50% - 590px));transform:translate(50%,-50%)}
@media(min-width:900px){.section-boundary-dot{display:block}}
/* Editorial row separators use the same green as the section rules. */
body .video-testimonial,body .career-faq details,body .career-process article,body .career-day__grid article{border-top-color:var(--line-soft);border-bottom-color:var(--line-soft)}

/* Keep the final boundary dots visible above the following footer. */
body main{z-index:2}
