/* Homepage migration to the user-supplied FEWTURE system. */
body.ft-home{--font-sans:'FEWTURE Barlow','Barlow','Helvetica Neue',Arial,sans-serif;font-family:var(--font-sans);font-weight:var(--type-body-weight);font-size:var(--type-body-size);line-height:var(--type-body-line);background:var(--surface);color:var(--ink);--accent:var(--brand)}
.ft-home :is(.ft-page,.ft-site-nav,.ft-site-overlay,.ft-site-footer){font-family:var(--font-sans)}
.ft-home :is(h1,h2,h3){font-family:var(--font-sans);font-weight:400;letter-spacing:0;text-wrap:balance}
.ft-home .ft-hero h1{font-size:var(--type-display-size);font-weight:var(--type-display-weight);line-height:var(--type-display-line);letter-spacing:var(--type-display-tracking);max-width:1000px}
.ft-home .ft-hero .ft-hero-description{font-size:var(--type-lead-size);font-weight:var(--type-lead-weight);line-height:var(--type-lead-line);max-width:65ch;letter-spacing:0;margin-top:var(--space-5)}
.ft-home .ft-hero-description>span{display:inline}
.ft-home .ft-hero-actions{gap:var(--space-3);margin-top:var(--space-6)}
.ft-home .ft-section h2{font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line);letter-spacing:0}
.ft-home .ft-section-head{margin-bottom:var(--space-7)}
.ft-home .ft-section-head>h2:only-child{max-width:1050px}
.ft-home .ft-section{padding:var(--space-9) var(--space-7)}
.ft-home .ft-section>:is(.ft-section-head,.ft-service-grid,.ft-review-grid,.ft-about-grid,.ft-brochure-grid,.ft-contact-grid,.ft-reference-actions,.ft-slider-controls){max-width:1280px}
.ft-home :is(.ft-services,.ft-brochures,.ft-contact-section){background:var(--surface);color:var(--ink)}
.ft-home :is(.ft-references,.ft-testimonials,.ft-about){background:var(--surface);color:var(--ink)}
.ft-home #referenzen{background:var(--surface)}
.ft-home .ft-section h2 span{color:inherit}
.ft-home .ft-services h2 span{color:var(--brand)}
.ft-home .ft-references h2 .fw-hl{color:var(--ink);background:linear-gradient(transparent 58%,var(--brand) 58%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ft-home :is(.ft-about-copy,.ft-brochure-copy,.ft-contact-copy)>p{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-line);letter-spacing:0;max-width:65ch;color:var(--ink-muted);margin-top:var(--space-5)}
.ft-home .ft-contact-copy{width:100%;max-width:680px}
.ft-home .ft-brochure-copy strong{font-weight:400}
.ft-home .ft-brochure-point{font-size:var(--type-body-size);font-weight:300;line-height:var(--type-body-line)}
.ft-home .ft-brochure-check{display:block;flex:0 0 32px;width:32px;height:32px;padding:7px;margin-top:-1px;border-radius:50%;background:var(--brand);color:var(--on-brand);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ft-home :is(.ft-service h3,.ft-brochure-form h3){font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line);letter-spacing:0}
.ft-home .ft-service-grid{gap:20px}
.ft-home .ft-service{border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;min-height:300px;transition:transform .3s,border-color .3s}
.ft-home .ft-service h3{margin-bottom:var(--space-3);overflow-wrap:normal}
.ft-home .ft-service p{font-size:var(--type-body-sm-size);font-weight:var(--type-body-sm-weight);line-height:var(--type-body-sm-line);color:var(--ink-muted);max-width:65ch}
.ft-home .ft-service::after{background:linear-gradient(90deg,rgba(5,5,5,.97),rgba(5,5,5,.85) 60%,rgba(5,5,5,.66))}
.ft-home .ft-service-cta{width:44px;height:44px;border:0;background:var(--brand);color:var(--on-brand);transition:transform .3s}
.ft-home .ft-service-cta .ft-arrow-icon{width:24px;height:24px;stroke-width:1.8}
.ft-home .ft-service-cta:hover{background:var(--brand);color:var(--on-brand)}
.ft-home .ft-service:focus-within{border-color:var(--brand)}
.ft-home .ft-masonry-tile,.ft-home .ft-about-image{border-radius:var(--radius-md)}
.ft-home .ft-testimonials .ft-review{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);padding:26px;min-height:360px}
.ft-home .ft-review :is(p,span.ft-review-preview){font-size:var(--type-body-sm-size);font-weight:var(--type-body-sm-weight);line-height:var(--type-body-sm-line);color:var(--ink)}
.ft-home .ft-review b{font-size:16px;font-weight:400;line-height:1.55;color:var(--ink)}
.ft-home .ft-review :is(.ft-review-expand,span:not(.ft-review-preview)){font-size:var(--type-caption-size);font-weight:var(--type-caption-weight);line-height:var(--type-caption-line);letter-spacing:var(--type-caption-tracking);color:var(--ink-muted)}
.ft-home .ft-review .ft-review-expand{color:var(--ink);text-underline-offset:4px}
.ft-home .ft-review-stars{display:inline-flex;gap:2px;color:var(--brand);letter-spacing:0}
.ft-home .ft-review-stars svg{display:block;width:18px;height:18px;fill:currentColor;flex:none}
.ft-home .ft-metric{border-color:var(--line)}
.ft-home .ft-metric strong{font-size:58px;font-weight:400;line-height:1.1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ft-home .ft-metric strong span{color:var(--ink)}
.ft-home .ft-metric small{display:block;margin-top:var(--space-2);font-size:var(--type-caption-size);font-weight:var(--type-caption-weight);line-height:var(--type-caption-line);letter-spacing:var(--type-caption-tracking);color:var(--ink-muted)}
.ft-home .ft-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:400 18px/1 var(--font-sans);min-height:50px;padding:16px 28px;border:0;border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);text-decoration:none;position:static;transform:none;min-width:0;transition:transform .2s,box-shadow .2s}
.ft-home .ft-button:is(:hover,:focus-visible){background:var(--brand);color:var(--on-brand)}
.ft-home .ft-button.is-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.ft-home .ft-button.fw-btn--ink{background:var(--ink);color:var(--surface)}
.ft-home .ft-button .ft-arrow-icon{width:20px;height:20px;stroke-width:1.8;transition:transform .2s;margin-left:0}
.ft-home .ft-reference-actions{justify-content:center;margin-top:var(--space-6)}
.ft-home .ft-about-copy .ft-button{margin-top:var(--space-5)}
.ft-home :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.ft-home :is(.ft-page,.ft-site-footer) ::selection{background:var(--brand);color:var(--on-brand)}
.ft-home .ft-logo-track{animation-duration:70s}
.ft-home .ft-logo-strip:hover .ft-logo-track{animation-play-state:paused}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .ft-home .ft-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-brand)}
 .ft-home .ft-button.is-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink),0 12px 26px rgba(0,0,0,.12)}
 .ft-home .ft-button .ft-arrow-icon{transition:transform .2s}
 .ft-home .ft-button:hover .ft-arrow-icon{transform:translateX(6px)}
 .ft-home .ft-service:hover{transform:translateY(-8px);border-color:var(--brand)}
 .ft-home .ft-service:hover .ft-service-bg{transform:scale(1.06)}
 .ft-home .ft-service:hover .ft-service-cta{transform:rotate(45deg)}
}
@media(max-width:1100px){.ft-home .ft-hero h1{font-size:50px}}
@media(max-width:700px){
 .ft-home .ft-section{padding:64px var(--space-4)}
 .ft-home .ft-hero h1{font-size:var(--type-display-mobile-size);line-height:var(--type-display-line)}
 .ft-home .ft-hero .ft-hero-description{font-size:var(--type-body-size);line-height:var(--type-body-line)}
 .ft-home .ft-section h2{font-size:30px;line-height:1.15}
 .ft-home .ft-section-head{margin-bottom:var(--space-6)}
 .ft-home .ft-service-grid{grid-template-columns:1fr}
 .ft-home .ft-service{min-height:270px;padding:var(--space-5)}
 .ft-home .ft-button{max-width:100%;white-space:normal;text-align:center;line-height:1.2;padding:16px 28px;min-height:54px}
 .ft-home .ft-hero-actions{gap:var(--space-3);margin-top:var(--space-5)}
 .ft-home .ft-metric strong{font-size:40px}
 .ft-home .ft-contact-grid{gap:var(--space-6)}
}
@media(prefers-reduced-motion:reduce){
 .ft-home .ft-logo-track{animation:none!important;transform:none!important}
 .ft-home :is(.ft-button,.ft-service,.ft-service-cta,.ft-service-bg){transition:none!important}
 .ft-home .ft-button:hover,.ft-home .ft-service:hover,.ft-home .ft-service:hover .ft-service-cta,.ft-home .ft-service:hover .ft-service-bg,.ft-home .ft-button:hover .ft-arrow-icon{transform:none!important}
}
