/* Original webfonts from ganzgraph.de; self-hosted, no third-party font calls. */
@font-face{font-family:"Open Sans Condensed";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/opensans-condlight.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montserrat-latin-regular.woff2") format("woff2")}
/* Campaign layer on Bootstrap 5.3.8. Keep vendor styles unchanged. */
:root{--paper:#ffffff;--ink:#000000;--accent:#42efa8;--violet:#8542fe;--muted:#4d5a54;--line:#c8d8d0;--section-bg:var(--violet);--bs-body-font-family:"Montserrat",Arial,Helvetica,sans-serif;--bs-body-color:var(--ink);--bs-body-bg:var(--paper);--bs-link-color:var(--ink);--bs-link-hover-color:#8542fe;--bs-border-color:var(--line)}
html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-underline-offset:5px}a:hover{color:inherit}p{line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:"Open Sans Condensed",Arial,sans-serif;font-weight:300;letter-spacing:-.01em}h2{line-height:1.08;margin-bottom:1.5rem}button,input,textarea{font:inherit}:focus-visible{outline:3px solid #8542fe!important;outline-offset:5px}.container{max-width:1320px;padding-inline:32px}.section-space{padding-block:104px}.eyebrow{font-weight:700;letter-spacing:.14em;line-height:1.5;margin-bottom:26px}.section-heading{margin-bottom:54px}.section-intro{max-width:590px;color:var(--muted);margin-bottom:0}.skip-link{position:fixed;z-index:2000;top:-100px;left:20px;background:var(--ink);color:#fff;padding:12px 20px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:1020;border-bottom:1px solid var(--line);background:var(--paper)}.navbar{min-height:94px}.wordmark{font-weight:800;letter-spacing:-.1em;text-decoration:none;line-height:1.2}.wordmark span{letter-spacing:0;vertical-align:top;position:relative;top:4px;margin-left:4px}.navbar .nav-link{color:var(--ink);font-weight:500}.navbar .nav-link:hover{text-decoration:underline}.hero{padding-top:77px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block}.hero h1{line-height:.99;letter-spacing:-.02em;margin:0 0 34px;max-width:700px}.accent-word{position:relative;display:inline-block;isolation:isolate}.accent-word svg{position:absolute;z-index:-1;pointer-events:none;width:100%;height:20px;left:0;bottom:-12px;fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round}.hero-intro{color:var(--muted);max-width:440px;margin-bottom:27px}.hero-note{color:var(--muted);margin-top:16px;margin-bottom:0}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:23px 0;margin-top:65px;}.hero-bottom>a{text-decoration:none;display:flex;gap:35px}.hero-bottom>a:hover{text-decoration:underline}.future-visual{background:var(--section-bg);height:485px;position:relative;margin:15px 0 0 2px;overflow:hidden;border:1px solid #c8d8d0}.visual-caption{position:absolute;top:22px;left:24px;z-index:2;font-weight:700;letter-spacing:.12em;display:flex;gap:9px;align-items:center}.small-dot{width:5px;height:5px;background:var(--ink);border-radius:50%}.visual-grid{position:absolute;width:100%;height:100%;inset:0;opacity:.6}.visual-window{position:absolute;background:var(--paper);width:67%;height:44%;left:12%;top:29%;transform:rotate(-7deg);border:1px solid #91afa0;box-shadow:10px 14px 0 #bdcec5}.window-bar{height:29px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:4px;padding:0 12px}.window-bar span{width:4px;height:4px;border-radius:50%;background:#688577}.window-bar b{letter-spacing:1px;margin-left:auto}.window-body{padding:25px}.window-line{width:75%;height:10px;background:#91afa0;display:block;margin-bottom:9px}.window-line.short{width:50%}.window-blocks{display:flex;gap:10px;margin-top:25px;height:55px}.window-blocks i{flex:1;background:#c8d8d0}.growth-arrow{position:absolute;width:64%;height:65%;top:13%;left:22%;color:var(--accent);filter:drop-shadow(0 10px 0 #6331be)}.visual-tag{position:absolute;background:var(--paper);border:1px solid #91afa0;padding:10px 14px;box-shadow:3px 3px 0 #bdcec5;display:flex;align-items:center;gap:11px;z-index:3}.tag-top{right:4%;top:24%;transform:rotate(4deg)}.tag-bottom{left:9%;bottom:17%;transform:rotate(-4deg)}.tag-bottom span{background:var(--ink);color:#fff;border-radius:50%;height:18px;width:18px;text-align:center;}.visual-footer{position:absolute;bottom:22px;inset-inline:24px;display:flex;justify-content:space-between;gap:10px;letter-spacing:.08em;font-weight:700}.benefits{background:var(--ink);color:var(--paper)}.benefits .eyebrow{color:#c8d8d0}.benefits .section-intro{color:#c8d8d0}.benefit-grid{border-top:1px solid #40594b;border-bottom:1px solid #40594b}.benefit{padding:31px 24px 32px;height:100%}.benefit-grid>div+div{border-left:1px solid #40594b}.benefit-grid>div:first-child .benefit{padding-left:0}.benefit-grid>div:last-child .benefit{padding-right:0}.benefit-top{display:flex;justify-content:center;align-items:center;margin-bottom:28px}.benefit-top svg{width:76px;height:76px;fill:none;stroke:#42efa8;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.benefit h3{letter-spacing:-.01em;overflow-wrap:anywhere}.benefit-subtitle{font-weight:600;color:#e6f0ec;margin-bottom:21px}.benefit p:last-child{line-height:1.75;color:#c8d8d0;margin:0}.benefit-footnote{margin:19px 0 0;color:#c8d8d0}.scope{background:var(--section-bg)}.scope .section-intro{max-width:460px;margin-bottom:28px}.text-link{font-weight:600;display:inline-flex;gap:22px;align-items:center}.scope-panel{border-top:2px solid var(--ink);padding-top:25px}.scope-panel .eyebrow{margin-bottom:16px}.scope-panel h3{margin-bottom:28px}.check-list{list-style:none;padding:0;margin:0}.check-list li{position:relative;border-bottom:1px solid #bdcec5;padding:16px 0 16px 29px}.check-list li::before{content:'✓';position:absolute;left:0;font-weight:700;color:#000000}.scope-note{margin-top:25px;}.scope-note p{margin-top:6px;color:var(--muted);max-width:410px}.process-list{list-style:none;padding:0;margin-bottom:0}.step-marker{border-top:1px solid var(--line);padding-top:18px;margin-bottom:38px;color:#4d5a54;display:flex;justify-content:space-between}.step-marker span{color:var(--ink)}.process-list h3{margin-bottom:15px}.process-list p{color:var(--muted);max-width:250px;margin-bottom:20px}.step-result{font-weight:600;border-bottom:2px solid #8542fe;padding-bottom:7px;display:inline-block}.brand-statement{background:var(--section-bg);padding-block:68px}.statement-mark{font-weight:700;line-height:1;letter-spacing:-.1em}.statement-mark span{color:#8542fe;display:inline-block;vertical-align:top;line-height:1.1;margin-left:9px}.brand-statement p:not(.eyebrow){max-width:570px;color:#4d5a54;}.brand-statement .text-link{margin-top:10px}.faq-intro{color:var(--muted)}.accordion{--bs-accordion-bg:transparent;--bs-accordion-color:var(--muted);--bs-accordion-border-color:var(--line);--bs-accordion-btn-color:var(--ink);--bs-accordion-active-color:var(--ink);--bs-accordion-active-bg:transparent;--bs-accordion-btn-focus-box-shadow:none}.accordion-item:first-child{border-top:1px solid var(--line)}.accordion-button{font-weight:600;padding:25px 0;line-height:1.5;gap:18px;letter-spacing:-.015em}.accordion-button:not(.collapsed){box-shadow:none}.accordion-button::after{width:14px;height:14px;background-size:14px;flex-shrink:0}.accordion-body{padding:0 30px 26px 0;line-height:1.75}.contact{background:var(--ink);color:var(--paper)}.contact .eyebrow{color:#c8d8d0}.contact .section-intro{max-width:350px;color:#c8d8d0;}.contact-signoff{margin-top:38px;color:#c8d8d0}.contact-signoff strong{color:var(--paper);display:inline-block;margin-top:8px}.form-label{display:flex;gap:4px;align-items:center}.form-label>span:not(.optional){color:#42efa8}.optional{font-weight:400;color:#c8d8d0;margin-left:auto}.form-control{border-radius:2px;border:1px solid #91afa0;background:transparent;color:var(--paper);padding:13px;}.form-control:focus{background:#15251d;color:#fff;border-color:#42efa8;box-shadow:0 0 0 3px #42efa833}.form-control::placeholder{color:#bdcec5;}.form-note{color:#c8d8d0;margin:22px 0}.form-feedback{color:#e6f0ec;border:1px solid #42efa8;padding:16px;margin-top:18px;}.contact .btn:focus-visible{outline-color:#42efa8!important}.site-footer{padding-top:42px;padding-bottom:23px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:37px}.footer-row p{margin:0;color:var(--muted);}.back-top{text-decoration:none}.back-top span{margin-left:22px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);display:flex;justify-content:space-between;gap:18px}
@media(min-width:1400px){.container{max-width:1320px}.hero{padding-top:86px}.future-visual{height:510px}}
@media(max-width:1199.98px){.benefit-grid>div:nth-child(3){border-left:0}.benefit-grid>div:nth-child(n+3){border-top:1px solid #40594b}.benefit-grid>div:nth-child(3) .benefit{padding-left:0}.benefit-grid>div:nth-child(2) .benefit{padding-right:0}.future-visual{height:440px}}
@media(max-width:991.98px){.container{padding-inline:28px}.navbar{min-height:80px}.navbar-collapse{padding:20px 0}.navbar .nav-link{padding:12px 0}.navbar .btn{margin-top:12px}.hero{padding-top:55px}.hero-intro{max-width:520px}.future-visual{max-width:580px;margin:0 auto;height:490px}.hero-bottom{margin-top:44px}.section-space{padding-block:72px}.section-heading{margin-bottom:38px}.section-heading .eyebrow{margin-bottom:0}.process-list p{max-width:100%}.brand-statement{padding-block:55px}.contact .section-intro{max-width:500px}.contact-signoff{margin-top:23px}}
@media(max-width:575.98px){html{scroll-padding-top:88px}.container{padding-inline:22px}.navbar{min-height:74px}.navbar-toggler{padding:6px 8px;border-color:#91afa0;}.hero{padding-top:40px}.eyebrow{margin-bottom:22px}.hero h1{margin-bottom:30px}.hero .btn{width:100%}.hero-bottom{gap:12px}.hero-bottom>a{gap:12px}.future-visual{height:365px}.visual-caption{left:18px;top:18px;}.visual-tag{padding:8px 10px}.visual-footer{inset-inline:16px;}.window-body{padding:16px}.window-blocks{margin-top:16px;height:36px}.section-space{padding-block:57px}.benefit{padding:25px 0}.benefit-grid>div+div{border-left:0;border-top:1px solid #40594b}.benefit-top{margin-bottom:18px}.benefit-top svg{width:68px;height:68px}.benefit-subtitle{margin-bottom:14px}.step-marker{margin-bottom:20px}.process-list p{margin-bottom:15px}.process-list>li+li{margin-top:35px}.footer-row{flex-wrap:wrap;gap:20px}.back-top{width:100%}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* ganzgraph CI: original SVGs, black/white, mint, violet and CI grey. */
.brand-logo{display:inline-flex;align-items:center;padding:13px 15px;margin-left:-15px;text-decoration:none;flex-shrink:0}
.brand-logo img{display:block;width:230px;height:auto}
.site-header{background:#000;border-color:#40594b}
.site-header .nav-link{color:#fff}
.site-header .nav-link:hover,.site-header .nav-link:focus{color:var(--accent)}
.site-header :focus-visible{outline-color:var(--accent)!important}
.navbar-toggler{background:transparent;border-color:#fff;border-radius:0}.navbar-toggler-icon{filter:invert(1)}
.growth-arrow{color:var(--violet)}
.statement-logo{display:block;width:155px;height:auto;margin:32px 0 12px 15px}

@media(max-width:575.98px){.brand-logo img{width:185px}.brand-logo{padding-block:13px}.statement-logo{width:125px}.navbar{min-height:80px}}

/* FAQ buttons remain interface copy, matching navigation and form labels. */
.accordion-button{font-family:var(--bs-body-font-family)}

/* Action buttons: Bootstrap values from the company website, with its mint variant. */
.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-border-width:2px;--bs-btn-border-radius:0;font-family:var(--bs-body-font-family);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-border-radius:0}
.btn-gg-green{--bs-btn-color:#000;--bs-btn-bg:#42efa8;--bs-btn-border-color:#42efa8;--bs-btn-hover-color:#42efa8;--bs-btn-hover-bg:#000;--bs-btn-hover-border-color:#42efa8;--bs-btn-focus-shadow-rgb:56,203,143;--bs-btn-active-color:#42efa8;--bs-btn-active-bg:#000;--bs-btn-active-border-color:#42efa8;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#42efa8;--bs-btn-disabled-border-color:#42efa8}

@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Purple section backgrounds follow the company's /leistungen page. */
.scope,.brand-statement,.future-visual{color:#fff}
.scope .section-intro,.scope-note p,.brand-statement p:not(.eyebrow){color:#fff}
.scope-panel{border-top-color:#fff}
.check-list li{border-bottom-color:rgba(255,255,255,.4)}
.check-list li::before{color:#fff}
.scope :focus-visible,.brand-statement :focus-visible{outline-color:#fff!important}
.future-visual{border-color:var(--violet)}
.future-visual .small-dot{background:#fff}
.future-visual .visual-grid{opacity:.17}
.future-visual .visual-window,.future-visual .visual-tag{color:var(--ink)}
.future-visual .growth-arrow{color:var(--accent);filter:drop-shadow(0 10px 0 #6331be)}

/* Square buttons; colored surfaces use outlines in every interaction state. */
.btn,button{border-radius:0}
:is(.benefits,.scope,.brand-statement,.contact,.future-visual) .btn{--bs-btn-color:#fff;--bs-btn-bg:transparent;--bs-btn-border-color:#fff;--bs-btn-hover-color:var(--accent);--bs-btn-hover-bg:transparent;--bs-btn-hover-border-color:var(--accent);--bs-btn-active-color:var(--accent);--bs-btn-active-bg:transparent;--bs-btn-active-border-color:var(--accent);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#fff}
.navbar-toggler:hover,.navbar-toggler:focus-visible{border-color:var(--accent);background:transparent}

/* AI content supports the four primary update benefits. */
.ai-update{border-bottom:1px solid var(--line)}
.ai-highlights h3{border-top:2px solid var(--violet);padding-top:22px;margin-bottom:16px}
.ai-highlights p{color:var(--muted)}
.ai-conclusion{max-width:900px;margin:30px 0 0}

/* Privacy statement is prominent within the AI workflow content. */
.ai-privacy{background:var(--paper);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:4px solid var(--violet);padding:30px 32px;margin:0 0 38px;color:var(--ink)}
.ai-privacy .eyebrow{margin-bottom:14px}
.ai-privacy h3{margin-bottom:18px}
.ai-privacy p:not(.eyebrow){max-width:1000px}
.ai-privacy p:last-child{margin-bottom:0}
@media(max-width:575.98px){.ai-privacy{padding:24px 20px}}

/* Benefits follow the independent, asymmetric news tiles on ganzgraph.de. */
.benefits{background:var(--paper);color:var(--ink)}
.benefits .eyebrow,.benefits .section-intro,.benefits .benefit-footnote{color:var(--muted)}
.benefit-grid{border:0}
.benefit-grid>div:nth-child(n){border:0}
.benefit-grid>div:nth-child(n) .benefit{padding:48px;min-height:350px;display:flex;flex-direction:column}
.benefit-ink{background:var(--ink);color:#fff;--tile-icon:var(--accent)}
.benefit-mint{background:var(--accent);color:var(--ink);--tile-icon:var(--ink)}
.benefit-violet{background:var(--violet);color:#fff;--tile-icon:#fff}
.benefit-grid .benefit-top{justify-content:center;margin-bottom:28px}
.benefit-grid .benefit-top svg{stroke:currentColor}
.benefit-grid .benefit h3{margin-bottom:12px}
.benefit-grid .benefit .benefit-subtitle{margin-bottom:20px;color:inherit}
.benefit-grid .benefit p:last-child{line-height:1.7;color:inherit;margin:0}
@media(max-width:575.98px){.benefit-grid>div:nth-child(n) .benefit{padding:32px;min-height:0}}

/* Same 400ms scale reveal as the company news tiles; visible without JS. */
@media(prefers-reduced-motion:no-preference){
  .benefit-reveal .benefit{transform:scale(0);transition:transform .4s ease-in-out}
  .benefit-reveal.is-visible .benefit{transform:scale(1)}
}

/* AI teasers use the same alternating CI surfaces as the news tiles. */
.ai-teaser{padding:32px;height:100%}
.ai-highlights .ai-teaser h3{border:0;padding-top:0;}
.ai-highlights .ai-teaser p{color:inherit;margin-bottom:0;line-height:1.7}
@media(max-width:575.98px){.ai-teaser{padding:28px}}

/* Mint contact area: readable dark text and transparent dark outline controls. */
.contact{background:var(--accent);color:var(--ink)}
.contact .eyebrow,.contact .section-intro,.contact-signoff,.contact-signoff strong,
.contact .form-note,.contact .optional,.contact .form-label>span:not(.optional){color:var(--ink)}
.contact .form-control{color:var(--ink);border-color:var(--ink);background:transparent}
.contact .form-control::placeholder{color:#243e31;opacity:1}
.contact .form-control:focus{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px #00000026}
.contact .form-feedback{color:var(--ink);border-color:var(--ink)}
.contact .btn{--bs-btn-color:#000;--bs-btn-border-color:#000;--bs-btn-hover-color:#000;--bs-btn-hover-border-color:#000;--bs-btn-active-color:#000;--bs-btn-active-border-color:#000;--bs-btn-disabled-color:#000;--bs-btn-disabled-border-color:#000}
.contact .btn:hover{text-decoration:underline;text-underline-offset:4px}
.contact :focus-visible,.contact .btn:focus-visible{outline-color:#000!important}

/* Black footer with original inverted logo. */
.site-footer{background:var(--ink);color:#fff}
.site-footer .footer-row p,.site-footer .footer-bottom{color:#c8d8d0}
.site-footer .footer-bottom{border-top-color:#40594b}
.site-footer :focus-visible{outline-color:var(--accent)!important}

/* TYPO3 Form Framework */
.contact form .form-group{margin-bottom:1.5rem}.contact form label{display:block;margin-bottom:.5rem}.contact form input:not([type=hidden]),.contact form textarea{width:100%;background:transparent;border:1px solid currentColor;padding:.65rem}.contact form button{background:transparent;border:2px solid #000;padding:6px 12px;color:#000}.contact form button:hover{color:#8542fe;border-color:#8542fe}.contact .alert-danger,.contact .error{font-weight:bold}.contact .clearfix{clear:both}
.contact form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.contact form>div,.contact form>input{grid-column:1/-1}.contact form>.form-element:has([id$="-name"]),.contact form>.form-element:has([id$="-email"]){grid-column:auto}.contact form .form-element{margin:0!important}.contact form .form-actions button{width:100%}.contact .form-navigation{display:block}.contact form .form-actions{grid-column:1/-1}@media(max-width:575px){.contact form{grid-template-columns:1fr}}

/* Editorial hero image: preserve the image ratio at every viewport size. */
.hero-image{display:block;max-width:100%;height:auto;margin-inline:auto}

/* Process teasers share the alternating surfaces of the other campaign tiles. */
.process-list>li{display:flex;min-width:0}
.process-list>li+li{margin-top:var(--bs-gutter-y)}
.process-teaser{display:flex;flex-direction:column;width:100%;padding:32px;overflow-wrap:anywhere}
.process-teaser .step-marker{border:0;padding:0;margin-bottom:28px;justify-content:center;color:var(--tile-icon)}
.process-teaser .step-marker svg{width:76px;height:76px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.process-teaser h3{color:inherit}
.process-teaser p{color:inherit;max-width:none}
.process-teaser .step-result{align-self:flex-start;margin-top:auto;border-color:currentColor;color:inherit}
@media(max-width:575.98px){.process-teaser{padding:28px}}

/* Reusable type sizes: apply these explicitly in templates. Other sizes come from Bootstrap. */
.text-hero{font-size:clamp(4.4rem,7.6vw,7rem)}
.text-section-title{font-size:clamp(2.35rem,4vw,3.8rem)}
@media(min-width:1400px){.text-hero{font-size:7rem}}
@media(max-width:991.98px){.text-hero{font-size:clamp(4.5rem,11vw,6.5rem)}}
@media(max-width:575.98px){.text-hero{font-size:clamp(3.8rem,14vw,5rem)}.text-section-title{font-size:2.4rem}}

/* Cookieman uses the shared popup with Bootstrap typography and local CI colors. */
#cookieman-modal .btn-gg-black{--bs-btn-color:#fff;--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent)}
#cookieman-modal .btn-gg-gray{--bs-btn-color:var(--ink);--bs-btn-bg:#e9ecef;--bs-btn-border-color:#e9ecef;--bs-btn-hover-color:var(--ink);--bs-btn-hover-bg:#dee2e6;--bs-btn-hover-border-color:#dee2e6}
#cookieman-modal .btn-gg-purple{--bs-btn-color:#fff;--bs-btn-bg:var(--violet);--bs-btn-border-color:var(--violet);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ink);--bs-btn-hover-border-color:var(--ink)}
#cookieman-modal .modal-body{overflow-wrap:anywhere}
#cookieman-modal .accordion-body{overflow-x:auto}
#cookieman-modal .modal-footer{gap:.5rem}
.site-footer .cookie-settings{--bs-btn-color:inherit;--bs-btn-hover-color:var(--accent);padding:0;align-self:flex-start}
