/* =====================================================================
   Webformance Design-System (1:1 nach Framer-Vorlage), November 2026
   Breakpoints: Desktop >= 1200 | Tablet 810-1199 | Phone < 810
   ===================================================================== */
:root{
  --wf-black:#0A0A0A; --wf-white:#fff; --wf-gray:#F5F5F5;
  --wf-text60:rgba(10,10,10,.6); --wf-white70:rgba(255,255,255,.7);
  --wf-pad:36px; --wf-radius-xl:25px; --wf-radius-l:18px; --wf-radius-m:14px; --wf-radius-s:12px;
  --wf-gap:4px; --wf-section-gap:190px;
}
@media (max-width:1199px){:root{--wf-pad:30px; --wf-section-gap:150px}}
@media (max-width:809px){:root{--wf-pad:20px; --wf-radius-xl:16px; --wf-section-gap:100px}}

html{scroll-behavior:auto}
body.wf-site{font-family:'Inter',sans-serif;background:var(--wf-gray);color:var(--wf-black);-webkit-font-smoothing:antialiased;letter-spacing:-.04em;font-weight:500}
body.wf-site p{margin:0}
.wf-site h1,.wf-site h2,.wf-site h3,.wf-site h4{margin:0;font-weight:600;letter-spacing:-.06em}
.wf-site a{color:inherit;text-decoration:none}
.wf-site img{display:block}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ---------- Typo-Klassen ---------- */
.wf-h144 .elementor-heading-title,.wf-h144 h1,.wf-h144 h2,.wf-h144{font-size:144px;line-height:.92;letter-spacing:-.06em;font-weight:600}
.wf-h60 .elementor-heading-title,.wf-h60 h1,.wf-h60 h2,.wf-h60{font-size:60px;line-height:1.1;letter-spacing:-.06em;font-weight:600}
.wf-h52{font-size:52px;line-height:1;letter-spacing:-.06em;font-weight:600}
.wf-p38{font-size:38px;line-height:1.1;letter-spacing:-.05em;font-weight:600}
.wf-p36{font-size:36px;line-height:1;letter-spacing:-.06em;font-weight:600}
.wf-p30{font-size:30px;line-height:1.2;letter-spacing:-.04em;font-weight:500}
.wf-p22{font-size:22px;line-height:1.2;letter-spacing:-.04em;font-weight:500}
.wf-p20{font-size:20px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.wf-p18{font-size:18px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.wf-p18s{font-size:18px;line-height:1.2;letter-spacing:-.04em;font-weight:600}
.wf-p16{font-size:16px;line-height:1.4;letter-spacing:-.04em;font-weight:500}
.wf-p15{font-size:15px;line-height:1.4;letter-spacing:-.04em;font-weight:500}
.wf-p14{font-size:14px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.wf-p12{font-size:12px;line-height:1.3;letter-spacing:-.04em;font-weight:500}
.wf-logo-text{font-size:20px;line-height:1.1;letter-spacing:-.04em;font-weight:600}
@media (max-width:1199px){
  .wf-h144 .elementor-heading-title,.wf-h144 .elementor-heading-title,.wf-h144 h1,.wf-h144 h2,.wf-h144{font-size:99px}.wf-h60 .elementor-heading-title,.wf-h60 .elementor-heading-title,.wf-h60 h1,.wf-h60 h2,.wf-h60{font-size:50px}
  .wf-p38{font-size:30px}.wf-p36{font-size:30px}.wf-p30{font-size:28px}.wf-p22{font-size:20px}.wf-p18,.wf-p18s{font-size:17px}.wf-p18s{font-size:15px}
  .wf-p16,.wf-p15{font-size:14px}.wf-p14{font-size:13px}.wf-p12{font-size:11px}
}
@media (max-width:809px){
  .wf-h144 .elementor-heading-title,.wf-h144 .elementor-heading-title,.wf-h144 h1,.wf-h144 h2,.wf-h144{font-size:62px}.wf-h60 .elementor-heading-title,.wf-h60 .elementor-heading-title,.wf-h60 h1,.wf-h60 h2,.wf-h60{font-size:32px}
  .wf-p38{font-size:24px}.wf-p36{font-size:23px}.wf-p30{font-size:24px}.wf-p22{font-size:19px}.wf-p18{font-size:15px}.wf-p20{font-size:18px}
  .wf-p16,.wf-p15{font-size:13px}.wf-p14{font-size:12px}
}
.wf-white,.wf-white *{color:#fff}
.wf-muted{opacity:.6}
.wf-muted80{opacity:.8}
.wf-gray-text,.wf-gray-text *{color:var(--wf-text60)}
.wf-split-gray .wf-g{color:var(--wf-text60)}
.wf-split-white70 .wf-g{color:var(--wf-white70)}
.wf-nowrap{white-space:nowrap}

/* ---------- Layout ---------- */
.wf-section{padding-left:var(--wf-pad);padding-right:var(--wf-pad)}
.wf-inner{max-width:1520px;margin:0 auto;width:100%}
.wf-main-gap>.e-con{margin-bottom:var(--wf-section-gap)}
.wf-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--wf-gap)}
.wf-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wf-gap)}
@media (max-width:809px){.wf-grid4,.wf-grid2{grid-template-columns:minmax(0,1fr)}}

/* Dunkles Panel mit 6px Außenabstand, Radius, Video + Grain */
.wf-dark-panel{position:relative;background:var(--wf-black);border-radius:var(--wf-radius-xl);margin-left:6px;margin-right:6px;overflow:hidden;color:#fff}
.wf-dark-panel::after{content:"";position:absolute;inset:0;background:url(grain.png) repeat;opacity:.05;pointer-events:none;z-index:1}
.wf-dark-panel>.e-con-inner,.wf-dark-panel>.e-con{position:relative;z-index:2}
.wf-dark-panel .elementor-background-video-container{opacity:.7}
.wf-dark-panel.wf-video-50 .elementor-background-video-container{opacity:.5}
.wf-dark-panel.wf-video-50 .elementor-background-video-container video{filter:grayscale(1)}

/* ---------- Plus-Icons ---------- */
.wf-plus{position:relative;width:16px;height:16px;display:inline-block;flex:none}
.wf-plus::before,.wf-plus::after{content:"";position:absolute;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%)}
.wf-plus::before{width:2px;height:16px}.wf-plus::after{width:16px;height:2px}
.wf-plus.wf-plus--dim{opacity:.3}.wf-plus.wf-plus--white{color:#fff;opacity:.6}
.wf-badge{width:18px;height:18px;border-radius:50%;background:var(--wf-black);display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none}
.wf-badge::before,.wf-badge::after{content:"";position:absolute;background:#fff}
.wf-badge::before{width:2px;height:8px}.wf-badge::after{width:8px;height:2px}
.wf-eyebrow{display:flex;align-items:center;gap:9px}
.wf-eyebrow .wf-badge{margin-top:0}

/* ---------- Buttons ---------- */
.wf-btn,.wf-btn-sm{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;position:relative;overflow:hidden;cursor:pointer;transition:background .3s ease,transform .3s ease;text-decoration:none;white-space:nowrap}
.wf-btn{padding:18px 30px;font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.2;background:#fff;color:var(--wf-black)}
.wf-btn.wf-btn--black{background:var(--wf-black);color:#fff}
.wf-btn .wf-btn-t{display:block;position:relative;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.wf-btn .wf-btn-t::after{content:attr(data-text);position:absolute;left:0;top:100%;padding-top:18px;white-space:nowrap}
.wf-btn:hover .wf-btn-t{transform:translateY(calc(-100% - 18px))}
.wf-btn-sm{padding:9px 11px 9px 12px;gap:34px;font-size:12px;font-weight:600;letter-spacing:-.04em;line-height:1;background:var(--wf-black);color:#fff;justify-content:space-between}
.wf-btn-sm .wf-btn-t{display:block;position:relative;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.wf-btn-sm .wf-btn-t::after{content:attr(data-text);position:absolute;left:0;top:100%;padding-top:12px;white-space:nowrap}
.wf-btn-sm:hover .wf-btn-t{transform:translateY(calc(-100% - 12px))}
.wf-btn-sm .wf-dot{width:8px;height:8px;border-radius:50%;background:#fff;flex:none;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.wf-btn-sm:hover .wf-dot{transform:scale(1.35)}
.wf-btn-full{width:100%}
@media (max-width:1199px){.wf-btn{font-size:17px}.wf-btn-sm{font-size:11px}}
@media (max-width:809px){.wf-btn{font-size:15px;padding:16px 26px}}
/* Elementor-Button-Widget im gleichen Look */
.wf-ebtn .elementor-button{border-radius:50px;padding:18px 30px;font-family:'Inter';font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.2;background:#fff;color:var(--wf-black)}
.wf-ebtn.wf-ebtn--black .elementor-button{background:var(--wf-black);color:#fff}

/* ---------- Header ---------- */
.wf-header{position:fixed;top:0;left:0;right:0;z-index:99;height:61px;background:rgba(245,245,245,.9);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:19px var(--wf-pad)}
.wf-header .wf-nav{display:flex;align-items:center;justify-content:space-between;height:23px}
.wf-header .wf-nav-logo img{height:23px;width:auto}
.wf-header .wf-nav-link{font-size:16px;font-weight:600;letter-spacing:-.04em;color:#090909;line-height:1.1;position:relative}
.wf-header .wf-nav-link::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.wf-header .wf-nav-link:hover::after{transform:scaleX(1);transform-origin:left}
.wf-burger{width:59px;height:12px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;background:none;border:0;padding:0}
.wf-burger span{display:block;height:2px;width:100%;background:var(--wf-black);transition:transform .4s cubic-bezier(.65,0,.35,1),opacity .3s}
.wf-menu-open .wf-burger span:first-child{transform:translateY(5px) rotate(45deg)}
.wf-menu-open .wf-burger span:last-child{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1199px){.wf-header .wf-nav-link{display:none}}
/* Overlay-Menü */
.wf-menu{position:fixed;inset:0;z-index:98;background:#fff;padding:180px var(--wf-pad) 60px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
.wf-menu-open .wf-menu{opacity:1;visibility:visible;transition:opacity .5s ease}
.wf-menu-links{display:flex;flex-direction:column;align-items:center;gap:12px}
.wf-menu-links a{font-size:60px;line-height:1.2;letter-spacing:-.06em;font-weight:600;color:var(--wf-black);display:block;overflow:hidden;transform:translateY(30px);opacity:0;transition:transform .6s cubic-bezier(.65,0,.35,1),opacity .6s}
.wf-menu-open .wf-menu-links a{transform:none;opacity:1}
.wf-menu-links a:nth-child(2){transition-delay:.06s}.wf-menu-links a:nth-child(3){transition-delay:.12s}.wf-menu-links a:nth-child(4){transition-delay:.18s}
.wf-menu-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.wf-menu-contact{display:flex;flex-direction:column;gap:8px}
.wf-menu-contact .wf-tel{font-size:18px;font-weight:500;letter-spacing:-.04em}
.wf-menu-legal{display:flex;gap:42px;font-size:15px;font-weight:500;letter-spacing:-.04em}
.wf-email-big{display:inline-flex;align-items:center;gap:7px;font-size:34px;font-weight:600;letter-spacing:-.05em;line-height:1.1;color:#090909}
.wf-email-big .wf-email-text{position:relative;padding-bottom:4px}
.wf-email-big .wf-email-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--wf-black);transform-origin:left;transition:transform .4s ease}
.wf-email-big:hover .wf-email-text::after{transform:scaleX(0);transform-origin:right}
@media (max-width:1199px){.wf-menu-legal{flex-direction:column;gap:10px;font-size:14px}.wf-menu{padding-top:140px}}
@media (max-width:809px){.wf-email-big{font-size:26px}.wf-menu-links a{font-size:44px}.wf-menu-bottom{flex-direction:column;align-items:flex-start;gap:30px}.wf-menu{padding-top:120px}}

/* ---------- Hero ---------- */
.wf-hero{min-height:100vh;min-height:100svh;padding-top:61px}
.wf-hero-card{min-height:calc(100vh - 61px);min-height:calc(100svh - 61px);margin:0 6px 4px;display:flex;flex-direction:column;justify-content:space-between}
.wf-hero-card .e-con-inner{min-height:inherit}
.wf-hero-title{font-size:clamp(40px,5.3vw,96px);line-height:1.2;letter-spacing:-.06em;font-weight:600;color:#fff}
.wf-hero-services p{font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.2;color:#fff;margin:0}
.wf-hero-services{display:flex;flex-direction:column;gap:10px}
.wf-hero-icons{display:flex;justify-content:space-between;opacity:.6}
.wf-hero-icons .wf-plus{color:#fff}
.wf-hero-icons>div{flex:1}
.wf-hero-bottom-text{max-width:490px}
.wf-hero .wf-cookie-icon{width:24px;height:24px;color:#fff;cursor:pointer;display:inline-block}
@media (max-width:1199px){.wf-hero-services p{font-size:15px}}
@media (max-width:809px){.wf-hero-card{margin:0 0 4px;min-height:calc(100svh - 61px)}.wf-hero-icons{display:none}.wf-hero-title{font-size:clamp(34px,10.5vw,52px)}}

/* ---------- Clients ---------- */
.wf-clients{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.wf-client{background:#fff;border-radius:14px;aspect-ratio:1.36;display:flex;align-items:center;justify-content:center;padding:20%}
.wf-client img{width:100%;height:100%;object-fit:contain}
@media (max-width:1199px){.wf-clients{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:809px){.wf-clients{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Projektkarten ---------- */
.wf-proj{display:flex;flex-direction:column;gap:4px;color:var(--wf-black)}
.wf-proj-head{background:#fff;border-radius:18px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between}
.wf-proj-head .wf-proj-info{display:flex;align-items:flex-end;gap:18px}
.wf-proj-head .wf-proj-name{font-size:18px;font-weight:600;letter-spacing:-.04em;line-height:1.2}
.wf-proj-head .wf-proj-year{font-size:12px;font-weight:500;letter-spacing:-.04em;opacity:.6;line-height:1.3;padding-bottom:2px}
.wf-proj-dots{display:flex;gap:3px}.wf-proj-dots i{width:8px;height:8px;border-radius:50%;background:#E7E7E7;display:block;transition:background .3s}
.wf-proj:hover .wf-proj-dots i{background:var(--wf-black)}
.wf-proj:hover .wf-proj-dots i:nth-child(2){transition-delay:.08s}.wf-proj:hover .wf-proj-dots i:nth-child(3){transition-delay:.16s}
.wf-proj-body{background:#fff;border-radius:18px;padding:4px;position:relative;aspect-ratio:1.366;display:flex;align-items:center;justify-content:center;overflow:hidden}
.wf-proj-img{position:absolute;inset:4px;border-radius:16px;overflow:hidden}
.wf-proj-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.wf-proj:hover .wf-proj-img img{transform:scale(1.04)}
.wf-proj-img::after{content:"";position:absolute;inset:0;background:var(--wf-black);opacity:.15}
.wf-proj-logo{position:relative;z-index:2;width:171px;height:95px;display:flex;align-items:center;justify-content:center}
.wf-proj-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media (max-width:1199px){.wf-proj-head .wf-proj-name{font-size:15px}}

/* ---------- Team ---------- */
.wf-team-wrap{background:#fff;border-radius:var(--wf-radius-xl);padding:10px;display:grid;grid-template-columns:2fr 1fr;gap:0}
.wf-team-text{padding:60px 90px 60px 60px;display:flex;flex-direction:column;justify-content:space-between;gap:120px}
.wf-team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:start}
.wf-team-card{position:relative;background:var(--wf-black);border-radius:18px;padding:20px;aspect-ratio:223/356;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff}
.wf-team-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .5s,transform .8s}
.wf-team-card:hover img{opacity:.35;transform:scale(1.03)}
.wf-team-card>div{position:relative;z-index:2}
.wf-team-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.wf-team-top .wf-badge{background:var(--wf-black)}
.wf-team-role{font-size:15px;font-weight:600;letter-spacing:-.04em;text-align:right;line-height:1.1}
.wf-team-name{font-size:22px;font-weight:600;letter-spacing:-.04em;line-height:1.2;max-width:160px}
.wf-team-desc{font-size:14px;font-weight:500;letter-spacing:-.04em;line-height:1.3;margin-top:12px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.wf-team-card:hover .wf-team-desc{opacity:1;transform:none}
.wf-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-team-grid>div{display:flex;flex-direction:column;justify-content:space-between;min-height:282px;gap:40px}
@media (max-width:1199px){.wf-team-wrap{grid-template-columns:1fr;gap:40px}.wf-team-text{padding:40px;gap:70px}.wf-team-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.wf-team-grid>div{min-height:0}.wf-team-role{font-size:14px}}
@media (max-width:809px){.wf-team-wrap{gap:14px}.wf-team-text{padding:20px;gap:24px}.wf-team-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-team-grid{grid-template-columns:1fr;gap:26px}.wf-team-name{font-size:19px}}

/* ---------- Advantages ---------- */
.wf-adv-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wf-adv-banner{grid-column:1/3;width:calc(80% + 4px);border-radius:18px;position:relative;overflow:hidden;padding:30px;display:flex;align-items:flex-end;min-height:681px;color:#fff}
.wf-adv-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wf-adv-banner::before{content:"";position:absolute;inset:0;background:var(--wf-black);opacity:.2;z-index:1;transition:opacity .5s}
.wf-adv-banner:hover::before{opacity:.5}
.wf-adv-banner .wf-badge{position:absolute;top:20px;right:20px;z-index:2}
.wf-adv-banner .wf-adv-hover{position:relative;z-index:2;display:flex;flex-direction:column;gap:26px;max-width:317px;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s}
.wf-adv-banner:hover .wf-adv-hover{opacity:1;transform:none}
.wf-adv-items{grid-column:3/5;display:flex;flex-direction:column;gap:80px;justify-content:center}
.wf-adv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-stat{display:flex;flex-direction:column;gap:4px}
.wf-stat-top{background:#fff;border-radius:18px;padding:30px;display:flex;justify-content:space-between;align-items:flex-start;min-height:115px}
.wf-stat-top .wf-stat-num{font-size:45px;font-weight:600;letter-spacing:-.06em;line-height:1.1}
.wf-stat-top .wf-stat-idx{font-size:10px;font-weight:600;opacity:.6}
.wf-stat-bottom{background:#fff;border-radius:18px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;min-height:326px}
@media (max-width:1199px){.wf-adv-content{gap:60px}.wf-adv-banner{grid-column:1/3;width:100%;min-height:600px}.wf-adv-items{gap:50px}.wf-stat-bottom{min-height:260px}}
@media (max-width:809px){.wf-adv-content{grid-template-columns:1fr;gap:40px}.wf-adv-banner{grid-column:auto;min-height:420px}.wf-adv-items{grid-column:auto;gap:40px}.wf-adv-cards{grid-template-columns:1fr}.wf-stat-bottom{min-height:200px}}

/* ---------- Services ---------- */

.wf-services-head{position:relative;display:inline-block}
.wf-services-head .wf-count{position:absolute;top:2px;right:-56px;font-size:37px;font-weight:600;letter-spacing:-.06em;opacity:.4;line-height:1.2}
.wf-table{width:100%;max-width:1128px;margin:0 auto;display:flex;flex-direction:column}
.wf-srv{display:grid;grid-template-columns:1fr 3fr;border-bottom:1px solid rgba(255,255,255,.1)}
.wf-srv-num{font-size:16px;font-weight:500;letter-spacing:-.04em;padding:22px 0;opacity:.6;transition:opacity .3s}
.wf-srv.is-open .wf-srv-num{opacity:1;padding-top:30px}
.wf-srv-main{position:relative;padding:20px 0 20px 0;cursor:pointer}
.wf-srv-row{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:46px}
.wf-srv-title{font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.2;transition:opacity .3s}
.wf-srv.is-open .wf-srv-title{opacity:0;height:0;overflow:hidden}
.wf-srv-toggle{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);position:relative;flex:none;transition:background .3s,transform .3s}
.wf-srv-toggle::before,.wf-srv-toggle::after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%);transition:transform .35s}
.wf-srv-toggle::before{width:16px;height:2px}.wf-srv-toggle::after{width:2px;height:16px}
.wf-srv.is-open .wf-srv-toggle::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.wf-srv-main:hover .wf-srv-toggle{background:rgba(255,255,255,.1)}
.wf-srv-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.65,0,.35,1)}
.wf-srv.is-open .wf-srv-body{grid-template-rows:1fr}
.wf-srv-body>div{overflow:hidden}
.wf-srv-open{display:grid;grid-template-columns:456px 1fr;gap:40px;padding:10px 86px 50px 0}
.wf-srv-left{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:start}
.wf-srv-imgs{display:flex}
.wf-srv-imgs img{width:80px;height:80px;border-radius:12px;object-fit:cover;border:2px solid var(--wf-black);margin-right:-38px;position:relative}
.wf-srv-imgs img:nth-child(2){z-index:1}.wf-srv-imgs img:nth-child(3){z-index:2;margin-right:0}
.wf-srv-info{display:flex;flex-direction:column;gap:20px}
.wf-srv-info h3{font-size:30px;font-weight:500;letter-spacing:-.04em;line-height:1.2;max-width:300px}
.wf-srv-info p{font-size:16px;font-weight:500;letter-spacing:-.04em;line-height:1.4;opacity:.6}
.wf-srv-cats{display:flex;flex-direction:column;gap:18px}
.wf-srv-cats .wf-cat-label{font-size:12px;opacity:.6;letter-spacing:-.04em}
.wf-pills{display:flex;flex-wrap:wrap;gap:8px;max-width:350px}
.wf-pill{background:#fff;color:#090909;border-radius:50px;padding:9px 12px;font-size:12px;font-weight:600;letter-spacing:-.04em;line-height:1}
.wf-pill--more{background:rgba(255,255,255,.15);color:#fff;font-weight:500}
.wf-services-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wf-services-bottom>div{grid-column:2/5}
@media (max-width:1199px){.wf-srv{grid-template-columns:1fr 3fr}.wf-srv-open{grid-template-columns:1fr;gap:26px;padding-right:0}.wf-srv-left{grid-template-columns:1fr;gap:30px}.wf-srv-info h3{font-size:28px;max-width:none}.wf-srv-title{font-size:20px}.wf-services-head .wf-count{font-size:31px;right:-46px}}
@media (max-width:809px){.wf-srv{grid-template-columns:40px 1fr}.wf-srv-title{font-size:19px}.wf-srv-info h3{font-size:24px}.wf-srv-info p{font-size:13px}.wf-services-head .wf-count{font-size:22px;right:-32px;top:0}.wf-services-bottom{grid-template-columns:1fr}.wf-services-bottom>div{grid-column:auto}.wf-srv-toggle{width:40px;height:40px}}

/* ---------- FAQ ---------- */
.wf-faq{display:flex;flex-direction:column;gap:4px}
.wf-faq-item{background:#fff;border-radius:14px}
.wf-faq-q{padding:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer}
.wf-faq-q span{font-size:18px;font-weight:500;letter-spacing:-.04em;line-height:1.3}
.wf-faq-q .wf-badge{transition:transform .4s}
.wf-faq-item.is-open .wf-faq-q .wf-badge{transform:rotate(45deg)}
.wf-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.65,0,.35,1)}
.wf-faq-item.is-open .wf-faq-a{grid-template-rows:1fr}
.wf-faq-a>div{overflow:hidden}
.wf-faq-a p{padding:0 26px 26px;font-size:15px;font-weight:500;letter-spacing:-.04em;line-height:1.4;color:var(--wf-text60);max-width:630px}
@media (max-width:1199px){.wf-faq-q span{font-size:17px}}
@media (max-width:809px){.wf-faq-q{padding:20px}.wf-faq-q span{font-size:15px}.wf-faq-a p{padding:0 20px 20px;font-size:13px}}

/* ---------- Blog ---------- */
.wf-blog-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wf-art{background:#fff;border-radius:18px;padding:10px;display:flex;flex-direction:column;justify-content:space-between;min-height:550px;color:var(--wf-black)}
.wf-art-img{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:319/298}
.wf-art-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.wf-art:hover .wf-art-img img{transform:scale(1.04)}
.wf-art-img .wf-badge{position:absolute;top:10px;right:10px}
.wf-art-body{padding:20px;display:flex;flex-direction:column;gap:25px}
.wf-art-date{font-size:12px;opacity:.6;letter-spacing:-.04em}
.wf-art-title{font-size:20px;font-weight:500;letter-spacing:-.04em;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wf-art-text{font-size:15px;letter-spacing:-.04em;line-height:1.4;opacity:.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px}
.wf-blog-teaser{grid-column:3/5;position:relative;background:var(--wf-black);border-radius:18px;padding:30px 0 60px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:550px;color:#fff}
.wf-blog-teaser img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:transform .8s}
.wf-blog-teaser:hover img{transform:scale(1.03)}
.wf-blog-teaser>div{position:relative;z-index:2}
.wf-blog-teaser .wf-bt-top{display:flex;justify-content:space-between;padding:0 30px}
.wf-blog-teaser .wf-bt-bottom{text-align:right;padding-right:60px;font-size:52px;font-weight:600;letter-spacing:-.06em;line-height:1}
.wf-blog-teaser .wf-plus{color:#fff;opacity:1}
@media (max-width:1199px){.wf-art{min-height:0}.wf-blog-teaser{min-height:550px}}
@media (max-width:809px){.wf-blog-cards{grid-template-columns:1fr}.wf-blog-teaser{grid-column:auto;min-height:430px;padding:30px 0}.wf-blog-teaser .wf-bt-bottom{text-align:left;padding:0 30px}.wf-art-title{font-size:18px}.wf-art-text{font-size:13px}}

/* ---------- Let's talk / Formular ---------- */

.wf-form-card{background:#fff;border-radius:18px;padding:40px;display:flex;flex-direction:column;gap:30px;color:var(--wf-black);max-width:471px}
.wf-form-card .elementor-field-group{margin-bottom:0}
.wf-form-card .elementor-form-fields-wrapper{gap:16px}
.wf-form-card .elementor-field-group:not(.elementor-field-type-submit){display:flex;flex-direction:column;gap:12px}
.wf-form-card label.elementor-field-label{font-size:12px!important;font-weight:500;letter-spacing:-.04em;color:#090909}
.wf-form-card .elementor-field{background:#F5F5F5;border:0;border-radius:10px;padding:16px 14px;font-family:'Inter';font-size:18px;font-weight:500;letter-spacing:-.04em;color:var(--wf-black)}
.wf-form-card .elementor-field::placeholder{color:rgba(10,10,10,.4)}
.wf-form-card textarea.elementor-field{min-height:58px}
.wf-form-card .elementor-field-type-submit{padding-top:14px}
.wf-form-card .elementor-button{width:100%;border-radius:50px;padding:18px;background:var(--wf-black);color:#fff;font-family:'Inter';font-size:18px;font-weight:600;letter-spacing:-.04em}
.wf-form-card .elementor-button:hover{background:#000}
.wf-form-note{font-size:12px;letter-spacing:-.04em;line-height:1.3}
.wf-form-note span{color:var(--wf-text60)}
.wf-form-note a{text-decoration:none;color:var(--wf-black)}
.wf-talk-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-talk-item{display:flex;flex-direction:column;gap:14px;max-width:280px}
.wf-talk-item .wf-ti-head{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:-.04em}
.wf-talk-item .wf-ti-head svg{width:25px;height:25px;flex:none}
.wf-talk-item p{font-size:15px;letter-spacing:-.04em;line-height:1.4}
.wf-talk-line{height:1px;background:rgba(255,255,255,.1);width:100%}
@media (max-width:1199px){.wf-form-card{padding:32px;gap:20px;max-width:none}.wf-form-card .elementor-field{font-size:17px}.wf-talk-item .wf-ti-head{font-size:15px}}
@media (max-width:809px){.wf-form-card{padding:30px;gap:22px}.wf-talk-items{grid-template-columns:1fr;gap:24px}}

/* ---------- Footer ---------- */
.wf-footer-top{padding:200px var(--wf-pad) 100px;display:flex;flex-direction:column;gap:80px}
.wf-footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-person{display:flex;align-items:center;gap:14px}
.wf-person img{width:73px;height:74px;border-radius:50px;object-fit:cover}
.wf-person .wf-person-name{font-size:16px;letter-spacing:-.04em;line-height:1.4}
.wf-person .wf-person-role{font-size:14px;letter-spacing:-.04em;opacity:.6}
.wf-nl .elementor-form-fields-wrapper{gap:35px}
.wf-nl .elementor-field-group{margin:0}
.wf-nl .elementor-field{background:transparent;border:0;border-bottom:1px solid rgba(10,10,10,.2);border-radius:0;padding:0 0 12px;font-family:'Inter';font-size:18px;font-weight:500;letter-spacing:-.04em;color:var(--wf-black)}
.wf-nl .elementor-field:focus{border-bottom-color:var(--wf-black);outline:0}
.wf-nl .elementor-field::placeholder{color:rgba(10,10,10,.4)}
.wf-nl .elementor-field-type-submit{padding-top:5px}
.wf-nl .elementor-button{border-radius:50px;padding:9px 11px 9px 12px;font-size:12px;font-weight:600;background:var(--wf-black);color:#fff;font-family:'Inter';letter-spacing:-.04em;display:inline-flex;gap:34px;align-items:center}
.wf-nl .elementor-button::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;display:inline-block}
.wf-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-footer-col{display:flex;flex-direction:column;gap:80px}
.wf-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.wf-footer-nav .wf-nav-list{display:flex;flex-direction:column;gap:16px}
.wf-footer-nav .wf-nav-list a{font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.2;display:inline-flex;align-items:center;gap:6px}
.wf-footer-nav .wf-nav-list a svg{width:14px;height:14px;opacity:.6}
.wf-footer-nav .wf-col-label{font-size:14px;letter-spacing:-.04em;opacity:.6;margin-bottom:0}
.wf-wordmark{font-size:clamp(48px,7.5vw,102px);font-weight:600;letter-spacing:-.06em;line-height:1;color:var(--wf-black);white-space:nowrap}
.wf-footer-bottom{background:linear-gradient(90deg,#0A0A0A 0%,#050505 85%);padding:42px var(--wf-pad);color:#fff}
.wf-footer-bottom .wf-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wf-footer-bottom .wf-legal{display:flex;gap:40px;font-size:15px;letter-spacing:-.04em}
.wf-footer-bottom .wf-legal a{color:#fff}
@media (max-width:1199px){.wf-footer-top{padding:140px var(--wf-pad) 100px;gap:70px}.wf-footer-col{gap:70px}.wf-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-footer-nav .wf-nav-list a{font-size:20px}.wf-footer-bottom .wf-legal{gap:30px;font-size:14px}}
@media (max-width:809px){.wf-footer-top{padding:50px var(--wf-pad);gap:40px}.wf-footer-grid,.wf-footer-links,.wf-footer-bottom .wf-inner{grid-template-columns:1fr;gap:40px}.wf-footer-col{gap:40px}.wf-footer-nav .wf-nav-list a{font-size:19px}.wf-footer-bottom{padding:40px 24px}.wf-footer-bottom .wf-legal{flex-direction:column;gap:14px}}

/* ---------- Preloader ---------- */
.wf-preloader{position:fixed;inset:0;z-index:1000;background:var(--wf-black);display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(28px,4vw,60px);font-weight:600;letter-spacing:-.06em;transition:transform .9s cubic-bezier(.76,0,.24,1)}
.wf-preloader.is-done{transform:translateY(-100%)}
.wf-preloader span{display:inline-block;opacity:0;transform:translateY(20px);animation:wfIn .8s .2s cubic-bezier(.2,.6,.2,1) forwards}
@keyframes wfIn{to{opacity:1;transform:none}}

/* ---------- Reveal ---------- */
.wf-reveal{opacity:0;transform:translateY(40px)}
.wf-no-js .wf-reveal{opacity:1;transform:none}

/* ---------- Cookie-Banner ---------- */
.wf-cookie{position:fixed;left:24px;bottom:24px;z-index:900;width:min(320px,calc(100vw - 48px));background:#fff;border-radius:14px;padding:20px;box-shadow:0 10px 40px rgba(0,0,0,.15);display:none;flex-direction:column;gap:14px;color:var(--wf-black)}
.wf-cookie.is-visible{display:flex}
.wf-cookie h4{font-size:14px;font-weight:600;letter-spacing:-.04em}
.wf-cookie p{font-size:12px;letter-spacing:-.04em;line-height:1.4;opacity:.7}
.wf-cookie p a{text-decoration:underline}
.wf-cookie-btns{display:flex;gap:8px}
.wf-cookie-btns button{flex:1;border-radius:50px;padding:10px 12px;font-family:'Inter';font-size:12px;font-weight:600;letter-spacing:-.04em;border:1px solid var(--wf-black);background:#fff;color:var(--wf-black);cursor:pointer}
.wf-cookie-btns button.wf-accept{background:var(--wf-black);color:#fff}

/* ---------- Cal.com Floating Button im Look ---------- */
cal-floating-button button,#cal-floating-button button{font-family:'Inter'!important;font-weight:600!important;letter-spacing:-.04em!important;border-radius:50px!important;background:var(--wf-black)!important;color:#fff!important}

/* Elementor Overrides */
.wf-site .e-con{--padding-top:0;--padding-bottom:0}
.wf-site .elementor-widget:not(:last-child){margin-bottom:0}
.wf-site .elementor-heading-title{font-family:'Inter';}
.wf-site .elementor-widget-text-editor{font-family:'Inter'}
.elementor-editor-active .wf-reveal{opacity:1;transform:none}
.elementor-editor-active .wf-preloader{display:none}

/* ---------- Fixes: Elementor-Spezifität ---------- */
.wf-site .elementor-widget-heading .elementor-heading-title{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:inherit;color:inherit}
.wf-site .elementor-widget-heading{color:var(--wf-black)}
.wf-site .wf-dark-panel .elementor-widget-heading,.wf-site .wf-white .elementor-widget-heading{color:#fff}
.wf-site .wf-p38 .elementor-heading-title,.wf-site .wf-p38{font-size:38px;line-height:1.1;letter-spacing:-.05em;font-weight:600}
.wf-site .wf-logo-text .elementor-heading-title{font-size:20px;line-height:1.1;letter-spacing:-.04em;font-weight:600}
.wf-site .wf-wordmark .elementor-heading-title{font-size:clamp(48px,7.5vw,102px);letter-spacing:-.06em;line-height:1}
.wf-site .wf-hero-title .elementor-heading-title{font-size:clamp(40px,5.3vw,96px);line-height:1.2;letter-spacing:-.06em;color:#fff}
@media (max-width:1199px){.wf-site .wf-p38 .elementor-heading-title{font-size:30px}}
@media (max-width:809px){.wf-site .wf-p38 .elementor-heading-title{font-size:24px}.wf-site .wf-hero-title .elementor-heading-title{font-size:clamp(34px,10.5vw,52px)}}
.wf-site .e-con>.wf-hero-bottom-text{max-width:490px}
.wf-site a.wf-btn,.wf-site .wf-btn{color:var(--wf-black)!important;background:#fff!important}
.wf-site a.wf-btn--black,.wf-site .wf-btn--black{color:#fff!important;background:var(--wf-black)!important}
.wf-site a.wf-btn-sm,.wf-site .wf-btn-sm,.wf-site .wf-btn-sm *{color:#fff!important}
.wf-site .wf-btn-sm{background:var(--wf-black)!important}
.wf-site button.wf-burger,.wf-site .wf-burger{background:none!important;border:0!important;border-radius:0!important;padding:0!important;width:59px!important;height:12px!important;min-height:0!important;box-shadow:none!important}
.wf-site .wf-form-card .elementor-form-fields-wrapper{margin:0!important;width:100%!important;gap:16px}
.wf-site .wf-form-card .elementor-field-group{padding:0!important;margin:0!important;flex-basis:100%!important;max-width:100%!important}
.wf-site .wf-form-card .elementor-field-group .elementor-field{background:#F5F5F5!important;border:0!important;border-radius:10px!important;color:var(--wf-black)!important;box-shadow:none!important}
.wf-site .wf-form-card .elementor-button[type=submit],.wf-site .wf-form-card .elementor-button{background:var(--wf-black)!important;color:#fff!important;border-radius:50px!important;padding:18px!important;width:100%!important;font-size:18px!important;font-weight:600!important;border:0!important}
.wf-site .wf-form-card .elementor-button .elementor-button-text{color:#fff!important}
.wf-site .wf-nl .elementor-form-fields-wrapper{margin:0!important;width:100%!important;gap:35px}
.wf-site .wf-nl .elementor-field-group{padding:0!important;margin:0!important;flex-basis:100%!important;max-width:100%!important}
.wf-site .wf-nl .elementor-field-group .elementor-field{background:transparent!important;border:0!important;border-bottom:1px solid rgba(10,10,10,.2)!important;border-radius:0!important;padding:0 0 12px!important;box-shadow:none!important;color:var(--wf-black)!important}
.wf-site .wf-nl .elementor-button{background:var(--wf-black)!important;color:#fff!important;border-radius:50px!important;padding:9px 11px 9px 12px!important;font-size:12px!important;font-weight:600!important;width:auto!important;border:0!important}
.wf-site .wf-nl .elementor-button .elementor-button-text{color:#fff!important}
.wf-site .wf-nl .elementor-field-type-submit{justify-content:flex-start}
.wf-site .e-con>.elementor-widget-text-editor[class*="wf-p"]{width:100%}
.wf-site .elementor-widget-text-editor{color:inherit}
.wf-site .wf-form-card .elementor-widget-heading{color:var(--wf-black)}
.wf-site .wf-form-card .wf-split-gray .wf-g{color:var(--wf-text60)}
/* ---------- Fixes Runde 2 ---------- */
.wf-site .e-con>.wf-hero-bottom-text{max-width:490px!important}
.wf-site .wf-hero-bottom .elementor-widget-text-editor p.wf-p14{white-space:nowrap}
.wf-site .wf-form-card .elementor-field-group:not(.elementor-field-type-submit){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px}
.wf-site .wf-form-card .elementor-field-group .elementor-field{width:100%!important;max-width:100%!important;flex:1 1 auto}
.wf-site .wf-form-card .elementor-field-group label.elementor-field-label{width:auto;flex:none;margin:0;padding:0}
.wf-site .wf-form-card .elementor-field-group .elementor-field-textual{font-size:18px!important;padding:16px 14px!important}
.wf-site .wf-nl .elementor-field-type-submit{display:flex!important;justify-content:flex-start!important}
.wf-site .wf-nl .elementor-field-type-submit .elementor-button{width:auto!important;flex:0 0 auto!important;display:inline-flex!important}
.wf-site .wf-nl .elementor-field-group:not(.elementor-field-type-submit){display:flex!important;flex-direction:column!important}
.wf-site .wf-nl .elementor-field-group .elementor-field{width:100%!important;font-size:18px!important}
@media (min-width:1200px){.wf-art,.wf-blog-teaser{height:550px}}
@media (max-width:1199px) and (min-width:810px){.wf-art,.wf-blog-teaser{height:550px}}
/* Projektkarte: Höhe über Padding statt aspect-ratio (Chrome-Layout-Bug in Flex/Grid) */
.wf-proj-body{aspect-ratio:auto;display:block}
.wf-proj-body::before{content:"";display:block;padding-top:73.2%}
.wf-proj-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
/* Projektkarte: explizite Höhe (Flex-Layout berechnet Prozent-Padding sonst falsch) */
.wf-proj-body::before{display:none}
.wf-proj-body{height:calc((min(100vw,1520px) - 76px)/2*0.732)}
@media (max-width:1199px){.wf-proj-body{height:calc((100vw - 60px)*0.732)}}
@media (max-width:809px){.wf-proj-body{height:calc((100vw - 40px)*0.732)}}
@media (max-width:1199px){.wf-projects .wf-grid2{grid-template-columns:minmax(0,1fr)}.wf-email-big{font-size:30px}.wf-proj-body{height:calc((min(100vw,1199px) - 60px)*0.732)}}
@media (max-width:809px){.wf-proj-body{height:calc((100vw - 40px)*0.732)}}
.wf-menu-wrap{position:static;height:0;min-height:0!important;overflow:visible}
.wf-menu-wrap .elementor-widget{position:static}
@media (max-width:809px){.wf-email-big{font-size:26px}}
.wf-menu-open [id*="cal-floating"],.wf-menu-open cal-floating-button{display:none!important}
/* ---------- Fixes Runde 3 (Positionsabgleich) ---------- */
.wf-site .wf-hero-top>.e-con{align-self:center}
.wf-site .wf-hero-bottom>.e-con{flex-wrap:nowrap}
.wf-stat-bottom .wf-stat-title{align-self:flex-end;text-align:right;width:200px}
.wf-adv-banner .wf-adv-hover p{color:#fff}
.wf-faq-a p{max-width:none}
.wf-art{justify-content:flex-start}
.wf-dark-panel.wf-video-50 .elementor-background-video-container video{filter:none}
/* Cookie-Banner wie Framer */
.wf-cookie{left:50%;transform:translateX(-50%);bottom:40px;width:360px;max-width:calc(100vw - 40px);border-radius:14px;padding:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);gap:0}
.wf-cookie h4{font-size:14px;font-weight:700;letter-spacing:0;margin:0 0 10px;color:#000}
.wf-cookie p{font-size:14px;line-height:1.5;letter-spacing:0;opacity:1;color:#444}
.wf-cookie p a{color:#444}
.wf-cookie-btns{margin-top:16px;gap:10px}
.wf-cookie-btns button{border:0;border-radius:8px;padding:10px;font-size:14px;font-weight:500;letter-spacing:0;background:#eee;color:#444}
.wf-cookie-btns button.wf-accept{background:#0A0A0A;color:#fff}
@media (max-width:809px){.wf-cookie{bottom:20px}}
/* Reveal nur per Opacity (wie Framer) */
.wf-reveal{transform:none}
/* Hero-Intro */
.wf-hero-intro{opacity:0}

/* ---------- Services-Tabelle exakt nach Framer (Desktop 1128px zentriert) ---------- */
.wf-services-head .wf-count{right:-36px;top:2px}
.wf-table{display:flex;flex-direction:column;gap:19px;width:1128px;max-width:100%;margin:0 auto}
.wf-srv{display:grid;grid-template-columns:282px 1fr;padding:0 0 20px;border-bottom:1px solid rgba(255,255,255,.1);transition:padding .6s cubic-bezier(.65,0,.35,1)}
.wf-srv.is-open{padding:30px 0 0}
.wf-srv-num{padding:0;line-height:1.4;opacity:.6}
.wf-srv.is-open .wf-srv-num{opacity:1;padding-top:0}
.wf-srv-main{position:relative;padding:0 86px 0 0;cursor:pointer}
.wf-srv-toggle{position:absolute;right:0;top:0;width:46px;height:46px}
.wf-srv-row{display:flex;align-items:center;min-height:46px;padding:0}
.wf-srv-title{font-size:22px;line-height:1.2;padding:0;opacity:1;height:auto;transition:opacity .3s}
.wf-srv.is-open .wf-srv-title{display:none}
.wf-srv.is-open .wf-srv-row{min-height:0}
.wf-srv-open{display:grid;grid-template-columns:456px 264px;gap:40px;padding:0 0 70px}
.wf-srv-left{display:grid;grid-template-columns:156px 1fr;gap:44px;align-items:start}
.wf-srv-imgs img{border-radius:12px;border:0;box-shadow:rgba(0,0,0,.4) -1px 0 2px}
.wf-srv-imgs img:nth-child(n+2){border-radius:14px}
.wf-srv-info h3{font-size:30px;line-height:1.2;max-width:300px}
.wf-srv-info p{line-height:1.4}
.wf-srv-cats .wf-cat-label{line-height:1.3}
.wf-pills{gap:8px;max-width:350px}
.wf-pill{padding:9px 12px;line-height:12px;font-size:12px}
@media (max-width:1199px){.wf-table{width:100%}.wf-srv{grid-template-columns:1fr 3fr}.wf-srv-open{grid-template-columns:1fr;gap:26px;padding-bottom:50px}.wf-srv-left{grid-template-columns:1fr;gap:30px}.wf-srv-info h3{font-size:28px;max-width:none}.wf-srv-title{font-size:20px}}
@media (max-width:809px){.wf-table{gap:0}.wf-srv{grid-template-columns:56px 1fr;padding:16px 0}.wf-srv.is-open{padding:16px 0 0}.wf-srv-num{font-size:13px;padding-top:4px}.wf-srv-main{padding-right:52px}.wf-srv-toggle{width:40px;height:40px;top:3px}.wf-srv-row{min-height:46px}.wf-srv-title{font-size:19px}.wf-srv-open{gap:18px;padding:0 0 30px}.wf-srv-imgs img{width:60px;height:60px}.wf-srv-info h3{font-size:24px}.wf-srv-info p{font-size:13px}}
/* Hero: Headline-Box wie Framer (36% höher als Text), Breite 76% − 120px */
.wf-site .wf-hero-title .elementor-heading-title{font-size:calc(((min(100vw,1528px) - 80px) * .76 - 120px) * .08315);padding-bottom:.864em;line-height:1.2}
@media (max-width:1199px){.wf-site .wf-hero-title .elementor-heading-title{font-size:calc((100vw - 68px) * .08315)}}
@media (max-width:809px){.wf-site .wf-hero-title .elementor-heading-title{font-size:calc((100vw - 40px) * .08315)}}
.wf-site .wf-hero-card{margin-left:4px;margin-right:4px}
/* Phone: Panels randlos */
@media (max-width:809px){.wf-site .wf-services-panel,.wf-site .wf-talk-panel{margin:0;border-radius:0!important}.wf-site .wf-hero-card{margin:0 4px 4px;border-radius:20px!important}}

/* Panels: Breite abzüglich Außenabstand (sonst horizontaler Overflow) */
.wf-site .e-con.wf-dark-panel{width:calc(100% - 12px)}
.wf-site .e-con.wf-hero-card{width:calc(100% - 8px)}
@media (max-width:809px){.wf-site .e-con.wf-services-panel,.wf-site .e-con.wf-talk-panel{width:100%}}
.wf-services-head .wf-count{top:15px}

/* Feinabgleich Runde 4 */
.wf-services-head{display:block;width:max-content;max-width:100%;line-height:.92}
.wf-services-head h2{margin:0;display:block}
.wf-site .wf-form-card textarea{height:70px!important;min-height:70px!important;resize:none}
.wf-site .wf-talk-panel .wf-inner>.e-con{--width:calc(50% - 2px)}
@media (max-width:809px){.wf-site .wf-talk-panel .wf-inner>.e-con{--width:100%}}
.wf-footer-nav .wf-nav-list{gap:10px}
.wf-footer-nav .wf-col-label{line-height:1.3;margin:0 0 6px}
.wf-site .wf-h144,.wf-site .wf-h144 h2,.wf-site h2.wf-h144{line-height:.92}
.wf-site .wf-h60,.wf-site .wf-h60 h2,.wf-site .wf-h60 h3{line-height:1.1}
.wf-services-head .wf-count{right:-41px;top:2px}
@media (min-width:1200px){.wf-team-wrap{padding-bottom:21px}}
/* Tablet/Phone: Hero inhaltsbasiert (wie Framer), nicht Viewport-hoch */
@media (max-width:1199px){.wf-site .e-con.wf-hero-card{min-height:0;gap:100px;justify-content:flex-start}}
@media (max-width:809px){.wf-site .e-con.wf-hero-card{min-height:0;gap:40px}}
.wf-stat-bottom .wf-stat-title{width:auto;max-width:200px}
/* ---------- Phone-Abgleich mit Framer ---------- */
.wf-site .wf-wordmark .elementor-heading-title,.wf-site .wf-wordmark{font-size:calc((min(100vw,1592px) - 76px) / 2 / 6.63);line-height:1}
@media (max-width:1199px){.wf-site .wf-wordmark .elementor-heading-title,.wf-site .wf-wordmark{font-size:calc((100vw - 64px) / 2 / 6.63)}}
@media (max-width:809px){
  .wf-site .wf-hero-title .elementor-heading-title{font-size:calc((100vw - 40px) * .0726);line-height:1.38;padding-bottom:.98em}
  .wf-hero-services{align-items:flex-end;text-align:right}
  .wf-site .wf-h60,.wf-site .wf-h60 h2,.wf-site .wf-h60 h3,.wf-site .wf-h60 .elementor-heading-title{font-size:32px;line-height:1.1}
  .wf-site .wf-wordmark .elementor-heading-title,.wf-site .wf-wordmark{font-size:calc((100vw - 40px) / 6.63)}
  .wf-team-cards{grid-template-columns:1fr}
  .wf-team-card{aspect-ratio:33/50;border-radius:12px}
  .wf-art{min-height:0;height:420px}
  .wf-art-img{aspect-ratio:330/168}
  .wf-art-text{font-size:13px;-webkit-line-clamp:2}
  .wf-blog-teaser{min-height:430px;height:430px}
  .wf-services-bottom{display:flex;justify-content:center}
  .wf-talk-items{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  .wf-srv{grid-template-columns:53px 1fr;padding:16px 0}
  .wf-srv.is-open{padding:16px 0 0}
  .wf-srv-num{font-size:13px;padding:0;align-self:center}
  .wf-srv.is-open .wf-srv-num{align-self:start;padding-top:11px}
  .wf-srv-main{padding-right:36px}
  .wf-srv-toggle{width:36px;height:36px;top:5px}
  .wf-srv.is-open .wf-srv-toggle{top:0}
  .wf-srv-row{min-height:46px}
  .wf-srv-title{font-size:19px;max-width:220px}
  .wf-srv-open{display:flex;flex-direction:column;gap:18px;padding:0 0 26px}
  .wf-srv-left{display:flex;flex-direction:column;gap:24px}
  .wf-srv-info{gap:12px}
  .wf-srv-info h3{font-size:24px;max-width:none}
  .wf-srv-info p{font-size:13px}
  .wf-srv-cats{gap:16px}
  .wf-srv-cats .wf-cat-label{font-size:11px}
  .wf-pills{gap:6px;max-width:none}
}
@media (max-width:809px){
  .wf-site .wf-form-card .elementor-field-label,.wf-site .wf-form-card label,.wf-form-note{font-size:11px}
  .wf-talk-item p{font-size:13px}.wf-ti-head{font-size:15px}
  .wf-services-head .wf-count{right:-18px}
}
@media (max-width:809px){
  .wf-adv-banner{min-height:530px;padding:30px}
  .wf-stat-top{padding:24px;min-height:92px}.wf-stat-top .wf-stat-num{font-size:36px}
  .wf-stat-bottom{padding:24px;min-height:300px}.wf-stat-bottom .wf-stat-title{font-size:15px}.wf-stat-bottom p{font-size:13px}
  .wf-srv-imgs img{margin-right:-22px}.wf-srv-imgs img:nth-child(3){margin-right:0}
  .wf-services-head .wf-count{right:-27px}
}
@media (min-width:1200px){.wf-site .e-con.wf-hero-bottom{min-height:357px;justify-content:center}}
@media (min-width:1200px){.wf-site .e-con.wf-hero-card{gap:0}.wf-hero-icons{height:16px;align-items:center}.wf-hero-icons>div{line-height:0}}
/* ---------- Runde 5: Team-Hover, Projekt-Hover wie Framer, Mobile-Feinschliff ---------- */
/* Team: Name sitzt unten, Beschreibung klappt beim Hover darunter auf, Badge dreht 90° */
.wf-team-card img,.wf-team-card:hover img{opacity:.8;transform:none}
.wf-team-desc{margin-top:0;max-height:0;overflow:hidden;opacity:0;transform:none;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s,margin-top .45s cubic-bezier(.4,0,.2,1)}
.wf-team-card:hover .wf-team-desc{max-height:220px;opacity:.7;margin-top:12px}
.wf-team-top .wf-badge{transition:transform .4s}
.wf-team-card:hover .wf-team-top .wf-badge{transform:rotate(90deg)}
/* Projekte: Ampel-Punkte, Bild füllt Karte, 1.13 Zoom + Blur, Logo 0.8 */
.wf-proj:hover .wf-proj-dots i:nth-child(1){background:#FD5F59}
.wf-proj:hover .wf-proj-dots i:nth-child(2){background:#FFBB2C}
.wf-proj:hover .wf-proj-dots i:nth-child(3){background:#25C93D}
.wf-proj-img{transition:inset .45s cubic-bezier(.4,0,.2,1)}
.wf-proj:hover .wf-proj-img{inset:0}
.wf-proj-img img{transition:transform .6s cubic-bezier(.4,0,.2,1),filter .6s}
.wf-proj:hover .wf-proj-img img{transform:scale(1.13);filter:blur(7px)}
.wf-proj-img::after{transition:opacity .45s}
.wf-proj:hover .wf-proj-img::after{opacity:.2}
.wf-proj-logo{transition:transform .45s cubic-bezier(.4,0,.2,1)}
.wf-proj:hover .wf-proj-logo{transform:translate(-50%,-50%) scale(.8)}
.wf-stat-bottom p:last-child{opacity:.6}
.wf-blog-teaser,.wf-blog-teaser .wf-logo-text,.wf-blog-teaser .wf-bt-bottom,.wf-site a.wf-blog-teaser{color:#fff!important}
.wf-talk-item p{opacity:.6}
@media (max-width:809px){
  .wf-client{padding:22px 18px}
  .wf-proj-logo{width:126px;height:70px}
  .wf-team-card{padding:24px}
  .wf-team-name{font-size:20px}
  .wf-team-desc{display:none}
  .wf-srv-main{padding-right:0}
  .wf-srv-row{padding-right:46px}
  .wf-srv-left{padding-right:36px}
  .wf-pill{white-space:nowrap}
  .wf-services-bottom .wf-btn{width:100%;justify-content:center;text-align:center}
  .wf-site .wf-faq-section .elementor-widget-text-editor{max-width:250px}
  .wf-art-text{margin-top:10px}
  .wf-site .wf-form-card .elementor-field-group>label,.wf-site .wf-form-card .elementor-field-label{font-size:11px!important}
  .wf-site .wf-form-card textarea{height:58px!important;min-height:58px!important}
  .wf-form-note{max-width:210px}
  .wf-person .wf-person-name{font-size:13px}.wf-person .wf-person-role{font-size:12px}
  .wf-site .wf-nl .elementor-button{padding:7px 10px 7px 12px!important;min-height:0}
  .wf-site .wf-wordmark .elementor-heading-title,.wf-site .wf-wordmark{font-size:calc((100vw - 40px) / 6.85)}
  .wf-talk-item .wf-ti-head{align-items:flex-start}
}
@media (max-width:809px){
  .wf-pills{max-width:275px}
  .wf-services-bottom,.wf-services-bottom>div{display:block;width:100%}
  .wf-site .wf-services-bottom a.wf-btn{display:flex;width:100%;justify-content:center;font-size:18px;padding:18px 30px}
  .wf-site .wf-faq-section .elementor-widget-text-editor,.wf-site .wf-faq-section .elementor-widget-text-editor p{max-width:245px!important}
  .wf-site .wf-projects .wf-muted{max-width:275px}
}

/* ---------- Footer Phone exakt nach Framer ---------- */
@media (max-width:809px){
  .wf-site .wf-nl .elementor-form-fields-wrapper{gap:23px}
  .wf-site .wf-nl .elementor-field-group .elementor-field{height:41px!important;min-height:0!important;padding:0 0 20px!important;line-height:20px!important;box-sizing:border-box!important}
  .wf-site .wf-nl .elementor-field-type-submit{padding-top:7px!important}
  .wf-site .wf-nl .elementor-button{padding:9px 11px 9px 12px!important;min-height:30px}
  .wf-footer-nav .wf-col-label{font-size:12px}
  .wf-footer-bottom .wf-legal a{font-size:13px}
}
@media (max-width:809px){
  .wf-site .wf-nl .elementor-button{height:30px!important;line-height:12px!important}
  .wf-site .wf-person-role{line-height:1.3;margin-top:3px}
  .wf-footer-links .wf-plus{display:block}
  .wf-footer-links .wf-email-big .wf-email-text{padding-bottom:0}
  .wf-footer-links .wf-email-big .wf-email-text::after{bottom:-4px}
  .wf-footer-nav>:empty{display:none}
  .wf-site .wf-wordmark .elementor-heading-title,.wf-site .wf-wordmark{font-size:calc((100vw - 40px) / 6.673)}
  .wf-footer-bottom .wf-inner{gap:28px}
  .wf-footer-bottom .wf-legal a{line-height:1.4}
}
@media (max-width:1199px){.wf-btn-sm{font-size:12px}}
@media (max-width:809px){
  .wf-proj-head{padding:16px 20px;border-radius:14px;min-height:50px;box-sizing:border-box}
  .wf-proj-body{border-radius:14px}
  .wf-art-title{font-size:20px;line-height:1.3}
}
@media (max-width:809px){
  .wf-team-grid>div{gap:26px!important}
  .wf-team-grid>div:nth-child(2){gap:20px!important}
  .wf-team-grid>div>div{gap:26px!important}
  .wf-team-grid>div>div>div:first-child{gap:12px!important}
  .wf-site .wf-logo-text,.wf-site .wf-logo-text .elementor-heading-title{font-size:18px;line-height:1.1}
}

/* ---------- Startseite Phone: Feinabgleich Runde 6 ---------- */
@media (max-width:809px){
  /* Services */
  .wf-pills{max-width:251px}
  .wf-srv:not(.is-open){padding-bottom:15px}
  .wf-srv-row{min-height:36px;align-items:center}
  /* FAQ */
  .wf-faq-q span:first-child{max-width:278px}
  /* Blog-Karten */
  .wf-site .wf-blog .wf-muted,.wf-site .wf-blog-head .wf-muted{max-width:270px}
  .wf-art{height:420px;min-height:0;justify-content:space-between}
  .wf-art-img{height:168px;aspect-ratio:auto;flex:none}
  .wf-art-body{height:232px;box-sizing:border-box;padding:20px;gap:25px;justify-content:flex-start}
  .wf-art-date{display:block;line-height:1.3;font-size:12px}
  .wf-art-title{text-wrap:balance}
  .wf-art-text{font-size:13px;line-height:1.4;margin-top:10px;text-wrap:balance}
  /* Let's talk */
  .wf-form-card{border-radius:12px!important}
  .wf-site .wf-contact-form .elementor-form-fields-wrapper{gap:14px!important}
  .wf-site .wf-contact-form .elementor-field-group:not(.elementor-field-type-submit){gap:10px!important}
  .wf-site .wf-contact-form .elementor-field-label{line-height:14px!important}
  .wf-site .wf-contact-form .elementor-field:not(button){height:58px!important;min-height:58px!important;font-size:17px!important;line-height:1.2!important;padding:12px 12px 12px 16px!important;box-sizing:border-box!important}
  .wf-site .wf-contact-form .elementor-field-type-submit{margin-top:8px!important}
  .wf-site .wf-contact-form .elementor-button{height:58px!important;min-height:0!important}
  .wf-form-note{max-width:none;text-wrap:balance}
  .wf-talk-items{gap:24px}
}
.wf-site .wf-art-text{margin-top:10px}
@media (max-width:809px){.wf-site .wf-art-text{-webkit-line-clamp:3}}
@media (max-width:809px){
  .wf-site .e-con.wf-hero-card{margin-left:2px;margin-right:2px;width:calc(100% - 4px);--padding-left:18px;--padding-right:18px;padding-left:18px;padding-right:18px}
  .wf-site .e-con.wf-hero-bottom{--padding-top:7px;--padding-bottom:103px;padding-top:7px;padding-bottom:103px}
}
@media (min-width:1200px){
  .wf-site .wf-team-text .wf-h60{min-height:190px}
  .wf-site .e-con.wf-team-text{justify-content:center;--gap:299px;--row-gap:299px;gap:299px}
}
@media (min-width:1200px){.wf-site .e-con.wf-team-text{margin-top:-6px;margin-bottom:-6px}}
@media (min-width:810px){
  .wf-art{justify-content:space-between}
  .wf-art-img{flex:none}
  .wf-art-body{height:232px;box-sizing:border-box;padding:20px;gap:25px;justify-content:flex-start}
  .wf-art-date{display:block;line-height:1.3}
}
@media (min-width:1200px){.wf-talk-item{gap:20px}.wf-talk-item .wf-ti-head{gap:16px}}
@media (max-width:809px){.wf-talk-item .wf-ti-head{gap:12px}}
.wf-site .wf-footer-grid .wf-p16.wf-muted{max-width:290px;text-wrap:balance}

/* ---------- Let's talk Tablet exakt ---------- */
@media (min-width:810px) and (max-width:1199px){
  .wf-site .e-con.wf-form-card{max-width:325px}
  .wf-site .wf-contact-form .elementor-form-fields-wrapper{gap:12px!important}
  .wf-site .wf-contact-form .elementor-field-group:not(.elementor-field-type-submit){gap:9px!important}
  .wf-site .wf-contact-form .elementor-field-label{font-size:11px!important;line-height:14px!important}
  .wf-site .wf-contact-form .elementor-field:not(button){height:58px!important;min-height:58px!important;font-size:17px!important;line-height:1.2!important;padding:12px 12px 12px 16px!important;box-sizing:border-box!important}
  .wf-site .wf-contact-form .elementor-field-type-submit{margin-top:8px!important}
  .wf-site .wf-contact-form .elementor-button{height:58px!important;min-height:0!important}
  .wf-form-note{font-size:11px;line-height:1.3;max-width:none;text-wrap:balance}
  .wf-site .wf-talk-panel .elementor-hidden-mobile.elementor-widget-text-editor{margin-top:88px}
  .wf-talk-item{gap:20px}
  .wf-talk-item .wf-ti-head{gap:16px}
  .wf-talk-item p{font-size:14px}
}
.wf-site .wf-nl .elementor-button{height:30px!important;line-height:12px!important;min-height:0!important}
@media (min-width:810px) and (max-width:1199px){
  .wf-site .wf-person-name{font-size:14px;line-height:1.4}
  .wf-site .wf-person-role{font-size:13px;line-height:1.3;margin-top:3px}
  .wf-footer-links .wf-plus{display:block}
  .wf-footer-nav>:empty{display:none}
  .wf-footer-nav .wf-col-label{font-size:13px}
}
@media (min-width:810px){.wf-site .wf-nl .elementor-field-type-submit{margin-top:5px!important}}
@media (min-width:810px) and (max-width:1199px){
  .wf-site .e-con.wf-footer-top-inner{--gap:70px;--row-gap:70px;gap:70px}
  .wf-site .wf-footer-links>.e-con:nth-child(2){--gap:70px;--row-gap:70px;gap:70px}
  .wf-site .wf-footer-links .wf-wordmark{padding:10px 0}
}


/* ---------- Video-Panels wie Framer: schwarzer Grund, Video mit Deckkraft, sonst nichts darüber ---------- */
.wf-site .e-con.wf-dark-panel{background-color:#0a0a0a!important;background-image:none!important}
.wf-site .e-con.wf-dark-panel::before,.wf-site .wf-dark-panel>.elementor-background-video-container::before{content:none!important;display:none!important}
.wf-site .wf-dark-panel>.elementor-background-video-container{background:#0a0a0a url(video/bg-smoke-poster.jpg) center/cover no-repeat}
.wf-site .wf-dark-panel>.elementor-background-video-container video{filter:none}
/* WordPress-Adminleiste: Header darunter schieben (nur eingeloggt sichtbar) */
body.admin-bar .wf-header{top:32px}
@media (max-width:782px){body.admin-bar .wf-header{top:46px}}

/* Service-Zeilen: Bildversatz und Titelspalte exakt wie Framer (10.11.) */
.wf-srv-imgs img{flex:0 0 auto}
@media (min-width:810px){.wf-srv-imgs img{margin-right:-42px}.wf-srv-imgs img:nth-child(3){margin-right:0}}
@media (min-width:1200px){.wf-srv-left{grid-template-columns:156px minmax(0,1fr)}.wf-srv-info{min-width:0}.wf-srv-info h3{max-width:none}}

/* Cookie-Banner liegt über dem schwebenden Potenzial-Check-Button (Phone: Akzeptieren war verdeckt) */
.wf-cookie{z-index:2147483646}
@media (max-width:809px){body:has(.wf-cookie.is-visible) cal-floating-button{display:none!important}}

/* ====================================================================
   Startseite V2 · Conversion-Überarbeitung auf Basis des Framer-Designs
   Nutzt die V1-Bausteine (wf-*). Nur Ergänzungen, Prefix wf2-.
   ==================================================================== */

/* Hero: Beleg-Zeile unter dem Text */
.wf2-hero-proof{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font-size:14px;font-weight:500;letter-spacing:-.04em;color:rgba(255,255,255,.8)}
.wf2-hero-proof span{display:inline-flex;align-items:center;gap:8px}
.wf2-hero-proof i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.7}
.wf2-hero-proof b{color:#fff;font-weight:600}
.wf2-hero-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wf-site a.wf-btn.wf2-btn-ghost{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.35)}
.wf-site a.wf-btn.wf2-btn-ghost:hover{background:rgba(255,255,255,.1)}

/* Beweis-Kacheln (Stil wie die Stat-Karten in Advantages) */
.wf2-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wf2-proof-card{background:#fff;border-radius:18px;padding:30px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.wf2-proof-card .wf2-idx{font-size:10px;font-weight:600;opacity:.6;letter-spacing:0}
.wf2-proof-card .wf2-num{font-size:52px;font-weight:600;letter-spacing:-.06em;line-height:1;margin:0}
.wf2-proof-card .wf2-txt{display:flex;flex-direction:column;gap:6px}
.wf2-proof-card .wf2-txt .wf-p18{font-weight:500}
.wf2-proof-card .wf2-txt .wf-p16{opacity:.6}
.wf2-proof-card--dark{background:var(--wf-black);color:#fff}
.wf2-proof-card--dark .wf2-txt .wf-p16{opacity:.7}
.wf2-source{font-size:12px;letter-spacing:-.04em;opacity:.5;margin:0;max-width:760px;line-height:1.5}

/* Problem-Karten */
.wf2-gaps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.wf2-gap{background:#fff;border-radius:18px;padding:30px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.wf2-gap .wf2-quote{font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.25;margin:0}
.wf2-gap .wf2-txt{display:flex;flex-direction:column;gap:8px}
.wf2-gap .wf2-txt .wf-p12{opacity:.6}
.wf2-gap .wf2-txt .wf-p18{font-weight:500}
.wf2-gap .wf2-txt .wf-p16{opacity:.6;line-height:1.4}
.wf2-core{background:var(--wf-black);color:#fff;border-radius:18px;padding:34px 36px;display:flex;flex-direction:column;gap:14px;margin-top:4px}
.wf2-core .wf-p30{line-height:1.2}
.wf2-core .wf2-idx{font-size:12px;letter-spacing:-.04em;opacity:.6}

/* Case-Panel (dunkel, wie Services) */
.wf2-case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;align-items:start}
.wf2-case-copy{grid-column:1/3;display:flex;flex-direction:column;gap:30px;padding-right:60px}
.wf2-case-copy .wf-p18{opacity:.7;line-height:1.5}
.wf2-case-visual{grid-column:3/5;position:relative;aspect-ratio:5/4;border-radius:18px;overflow:hidden;background:#161616}
.wf2-case-visual .wf2-desk{position:absolute;left:18%;right:-14%;top:12%;bottom:-6%;background:#2a2a2a;border-radius:12px 12px 0 0;padding:22px 5px 0;box-sizing:border-box;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.wf2-case-visual .wf2-desk::before{content:"";position:absolute;left:10px;top:7px;width:36px;height:7px;background:radial-gradient(circle,#666 2.5px,transparent 3px) 0 0/12px 7px repeat-x}
.wf2-case-visual .wf2-desk img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block;border-radius:6px 6px 0 0}
.wf2-case-visual .wf2-phone{position:absolute;left:5%;bottom:-3%;width:28%;aspect-ratio:9/19;background:#0a0a0a;border-radius:30px;padding:6px;box-sizing:border-box;box-shadow:0 30px 70px rgba(0,0,0,.6)}
.wf2-case-visual .wf2-phone>div{width:100%;height:100%;border-radius:25px;overflow:hidden;background:#fff}
.wf2-case-visual .wf2-phone img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.wf2-case-stats{grid-column:1/5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:60px}
.wf2-case-stats .wf2-proof-card{background:#161616;color:#fff;min-height:230px}
.wf2-case-stats .wf2-proof-card--light{background:#fff;color:var(--wf-black)}
.wf2-rank{grid-column:1/3;display:flex;flex-direction:column;margin-top:60px;padding-right:60px}
.wf2-rank-head,.wf2-built-head{font-size:12px;letter-spacing:-.04em;opacity:.6;margin:0 0 14px}
.wf2-rank-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);font-size:16px;letter-spacing:-.04em}
.wf2-rank-row:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.wf2-rank-row .wf-pill{flex:none}
.wf2-built{grid-column:3/5;display:flex;flex-direction:column;margin-top:60px}
.wf2-built-row{display:flex;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);font-size:16px;letter-spacing:-.04em;line-height:1.4;opacity:.85}
.wf2-built-row:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.wf2-built-row b{font-weight:600;opacity:1}
.wf2-built-row span:first-child{opacity:.5;flex:none;width:28px}
.wf2-case-cta{grid-column:1/5;margin-top:60px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.wf2-case-note{grid-column:1/5;margin-top:24px}

/* Ablauf */
.wf2-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.wf2-step{background:#fff;border-radius:18px;padding:30px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.wf2-step .wf2-idx{font-size:12px;opacity:.6;letter-spacing:-.04em}
.wf2-step .wf2-txt{display:flex;flex-direction:column;gap:10px}
.wf2-step .wf-p18{font-weight:500}
.wf2-step .wf-p16{opacity:.6;line-height:1.4}
.wf2-step .wf2-when{font-size:12px;opacity:.6;letter-spacing:-.04em}
.wf2-step--dark{background:var(--wf-black);color:#fff}

/* Let's talk: Schritte */
.wf2-talk-steps{display:flex;flex-direction:column;margin-top:10px}
.wf2-talk-step{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);font-size:15px;letter-spacing:-.04em;line-height:1.45;color:rgba(255,255,255,.75)}
.wf2-talk-step:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.wf2-talk-step i{flex:none;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--wf-black);font-style:normal;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.wf2-talk-step b{color:#fff;font-weight:600}

@media (max-width:1199px){
  .wf2-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wf2-proof-card{min-height:200px}
  .wf2-gaps{grid-template-columns:1fr}
  .wf2-gap{min-height:0;gap:24px}
  .wf2-case-grid{grid-template-columns:1fr}
  .wf2-case-copy,.wf2-case-visual,.wf2-case-stats,.wf2-rank,.wf2-built,.wf2-case-cta,.wf2-case-note{grid-column:auto;padding-right:0}
  .wf2-case-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}
  .wf2-rank,.wf2-built,.wf2-case-cta{margin-top:40px}
  .wf2-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wf2-step{min-height:220px}
}
@media (max-width:809px){
  .wf2-proof,.wf2-case-stats,.wf2-steps{grid-template-columns:1fr}
  .wf2-proof-card{min-height:0;gap:22px;padding:24px}
  .wf2-proof-card .wf2-num{font-size:44px}
  .wf2-gap{padding:24px}
  .wf2-core{padding:26px 24px}
  .wf2-case-visual{aspect-ratio:1/1.05}
  .wf2-case-visual .wf2-desk{left:24%;right:-28%}
  .wf2-case-visual .wf2-phone{width:36%}
  .wf2-step{min-height:0;gap:22px;padding:24px}
  .wf2-hero-proof{font-size:13px;gap:8px 18px}
}
/* Fixes */
.wf-site a.wf-btn.wf2-btn-ghost,.wf-site .wf-btn.wf2-btn-ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important}
.wf-site .wf-btn.wf2-btn-ghost .wf-btn-t,.wf-site .wf-btn.wf2-btn-ghost .wf-btn-t::after{color:#fff}
.wf2-case-panel .wf-g,.wf2-case-panel .wf-split-gray .wf-g{color:rgba(255,255,255,.6)}
.wf2-case-panel .wf-eyebrow .wf-badge{background:#fff}
.wf2-rank{grid-row:2}.wf2-built{grid-row:2}

/* ====================================================================
   Unterseiten (Projekte, Projekt-Detail, Blog, Artikel, Kontakt, Legal)
   Maße 1:1 aus Framer (Desktop 1440 / Tablet 810 / Phone 390). Prefix wfs-
   ==================================================================== */
.wfs-h1{font-size:148px;font-weight:600;line-height:.96;letter-spacing:-.06em;margin:0;color:var(--wf-black)}
.wfs-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wfs-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.wfs-eyebrow{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:500;letter-spacing:-.04em;line-height:1.4}
.wfs-p30{font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0}
.wfs-p22{font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0}
.wfs-p18m{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:0;opacity:.6}
.wfs-g{color:rgba(10,10,10,.6)}

/* ---------- Projekt-Detail ---------- */
.wfs-pd-intro{display:flex;flex-direction:column;gap:120px}
.wfs-pd-content{display:flex;flex-direction:column;gap:100px}
.wfs-pd-goal{grid-column:2;max-width:630px}
.wfs-pd-table{display:flex;flex-direction:column;gap:60px}
.wfs-pd-rows{display:flex;flex-direction:column;gap:4px}
.wfs-pd-row{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;min-height:59px;box-sizing:border-box;border-bottom:1px solid rgba(10,10,10,.1)}
.wfs-pd-row .wfs-l{font-size:12px;font-weight:500;letter-spacing:-.04em;line-height:1.3;opacity:.5}
.wfs-pd-row .wfs-v{font-size:15px;font-weight:500;letter-spacing:-.04em;line-height:1.4;text-align:right;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 10px}
.wfs-pd-row .wfs-v span::before{content:"/";opacity:.24;margin-right:4px}
.wfs-pd-logo{grid-column:2;height:54px}
.wfs-pd-logo img{width:114px;height:54px;object-fit:contain;object-position:left center;display:block}
.wfs-pd-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-top:20px}
.wfs-pd-images>div{aspect-ratio:1.24612;border-radius:25px;overflow:hidden;background:#e9e9e9}
.wfs-pd-images img,.wfs-pd-images video{width:100%;height:100%;object-fit:cover;display:block}
.wfs-pd-info .wfs-eyebrow{grid-column:1/3}
.wfs-pd-info-body{grid-column:3/5;display:flex;flex-direction:column;gap:60px;align-items:flex-start}
.wfs-pd-info-text{display:flex;flex-direction:column;gap:40px;max-width:780px}
.wfs-pd-gallery{display:flex;flex-direction:column;align-items:center;gap:4px}
.wfs-pd-gallery>div{width:75%;aspect-ratio:1.51748;overflow:hidden}
.wfs-pd-gallery img,.wfs-pd-gallery video{width:100%;height:100%;object-fit:cover;display:block}
.wfs-next{display:flex;flex-direction:column;gap:100px}
.wfs-next-top{display:flex;flex-direction:column;gap:22px}
.wfs-next-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.wfs-next-head h2{margin:0}

/* ---------- Projekte-Übersicht ---------- */
.wfs-po-head{align-items:end}
.wfs-po-head h1,.wfs-po-head h2{grid-column:1/3;margin:0}
.wfs-po-head p{grid-column:3/5;max-width:377px;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.04em;opacity:.6;margin:0;padding-bottom:18px}
.wfs-po-cards{display:flex;flex-direction:column;gap:40px}
.wfs-filter{display:flex;gap:4px;align-items:center}
.wf-site .wfs-filter input[type=search],.wf-site .wfs-filter input{width:270px;height:48px;background:#fff;border:0;border-radius:14px;padding:15px;font:500 16px/1 'Inter',sans-serif;letter-spacing:-.04em;color:var(--wf-black);outline:0;box-shadow:none}
.wfs-filter input::placeholder{color:rgba(10,10,10,.45)}
.wfs-select{position:relative}
.wfs-select>button{height:48px;min-width:126px;background:#fff!important;border:0!important;border-radius:14px!important;padding:16px!important;font:500 15px/1 'Inter',sans-serif!important;letter-spacing:-.04em!important;color:var(--wf-black)!important;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer}
.wfs-select>button svg{width:10px;height:10px;transition:transform .3s}
.wfs-select.is-open>button svg{transform:rotate(180deg)}
.wfs-select ul{position:absolute;left:0;top:52px;z-index:20;background:#fff;border-radius:14px;padding:8px;margin:0;list-style:none;min-width:250px;box-shadow:0 10px 40px rgba(0,0,0,.12);display:none}
.wfs-select.is-open ul{display:block}
.wfs-select li{padding:10px 12px;border-radius:9px;font-size:15px;font-weight:500;letter-spacing:-.04em;cursor:pointer;white-space:nowrap}
.wfs-select li:hover,.wfs-select li.is-active{background:#F5F5F5}
.wfs-po-grid .wf-proj.is-hidden{display:none}
.wfs-empty{display:none;font-size:16px;opacity:.6;padding:40px 0}

/* ---------- Blog-Übersicht ---------- */
.wfs-bo{display:flex;flex-direction:column;gap:170px}
.wfs-bo-top{display:flex;flex-direction:column;gap:120px}
.wfs-bo-desc .wfs-p30{grid-column:2/4;text-indent:109px}
.wfs-bo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.wfs-bo-grid .wf-art{height:520px;min-height:0}
.wfs-feat{grid-column:1/3;position:relative;height:520px;border-radius:18px;overflow:hidden;background:var(--wf-black);display:flex;flex-direction:column;justify-content:flex-end;color:#fff!important;text-decoration:none}
.wfs-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.wfs-feat:hover img{transform:scale(1.04)}
.wfs-feat-body{position:relative;z-index:2;padding:40px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,rgba(10,10,10,0) 0%,rgba(10,10,10,.95) 100%);min-height:408px;justify-content:flex-end;box-sizing:border-box}
.wfs-feat-date{font-size:12px;font-weight:500;letter-spacing:-.04em}
.wfs-feat-title{font-size:38px;font-weight:600;line-height:1.1;letter-spacing:-.05em;max-width:400px;margin:0}
.wfs-feat-text{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:-.04em;opacity:.6;max-width:400px;margin:0}

/* ---------- Blog-Artikel ---------- */
.wfs-post{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.wfs-post-cover{position:fixed;left:6px;top:60px;width:calc(42vw);max-width:640px;height:calc(100vh - 66px);border-radius:25px;overflow:hidden;z-index:1;background:#ddd}
.wfs-post-cover img{width:100%;height:100%;object-fit:cover;display:block}
.wfs-post-content{grid-column:2;display:flex;flex-direction:column;min-width:0;position:relative;z-index:2}
.wfs-post-top{min-height:100vh;box-sizing:border-box;padding:120px 0 140px;display:flex;flex-direction:column;justify-content:flex-end;gap:60px}
.wfs-post-head{display:flex;flex-direction:column;gap:36px}
.wfs-post-head .wfs-dh{display:flex;flex-direction:column;gap:26px}
.wfs-post-date{font-size:14px;font-weight:500;letter-spacing:-.04em;line-height:1.3;opacity:.6;margin:0}
.wfs-post h1{font-size:60px;font-weight:600;line-height:1.1;letter-spacing:-.06em;margin:0;max-width:830px;color:#090909}
.wfs-post-intro{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.04em;opacity:.6;max-width:500px;margin:0}
.wfs-author{display:flex;align-items:center;gap:14px}
.wfs-author img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.wfs-author b{display:block;font-size:16px;font-weight:500;letter-spacing:-.04em;line-height:1.4}
.wfs-author span{display:block;font-size:14px;font-weight:500;letter-spacing:-.04em;line-height:1.3;opacity:.6;margin-top:3px}
.wfs-post-article{padding-top:70px;display:flex;flex-direction:column;gap:70px;border-top:1px solid rgba(10,10,10,.1)}
.wfs-post-text{display:flex;flex-direction:column;gap:50px}
.wfs-rich{max-width:600px;font-size:17px;font-weight:500;line-height:1.4;letter-spacing:-.04em;color:rgba(10,10,10,.6)}
.wfs-rich>*{margin:0 0 20px}
.wfs-rich>*:last-child{margin-bottom:0}
.wfs-rich p{margin:0 0 20px}
.wfs-rich h1{font-size:16px;line-height:1.2;font-weight:700;color:var(--wf-black);margin:0 0 30px;letter-spacing:0}
.wfs-rich h2{font-size:23px;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:var(--wf-black);margin:30px 0 20px}
.wfs-rich h3{font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.04em;color:var(--wf-black);margin:26px 0 16px}
.wfs-rich h4{font-size:17px;font-weight:600;color:var(--wf-black);margin:22px 0 14px}
.wfs-rich>h2:first-child,.wfs-rich>h1:first-child{margin-top:0}
.wfs-rich strong,.wfs-rich b{font-weight:700}
.wfs-rich a{color:var(--wf-black)!important;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.wfs-rich ul,.wfs-rich ol{padding-left:22px;margin:0 0 20px}
.wfs-rich li{margin:0 0 6px;padding-left:0}
.wfs-rich li p{margin:0}
.wfs-rich img{max-width:100%;height:auto;border-radius:14px;display:block}
.wfs-rich figure{margin:0 0 20px;overflow-x:auto}
.wf-site .wfs-rich table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid rgba(153,153,153,.25);border-radius:8px;overflow:hidden;margin:0;font-size:17px;background:transparent}
.wf-site .wfs-rich th,.wf-site .wfs-rich td{padding:10px;border:0;border-bottom:1px solid rgba(153,153,153,.25);border-right:1px solid rgba(153,153,153,.25);vertical-align:top;text-align:left;background:transparent;line-height:1.4}
.wf-site .wfs-rich th{background:rgba(153,153,153,.1);font-weight:700;text-align:center}
.wf-site .wfs-rich tr:last-child td{border-bottom:0}
.wf-site .wfs-rich td:last-child,.wf-site .wfs-rich th:last-child{border-right:0}
.wf-site .wfs-rich table p{margin:0}
.wf-site .wfs-rich tbody tr:nth-child(odd) td,.wf-site .wfs-rich tbody tr:hover td{background:transparent}
.wfs-rich blockquote{margin:0 0 20px;padding-left:18px;border-left:2px solid var(--wf-black);color:var(--wf-black)}
.wfs-nextpost{position:relative;display:flex;justify-content:flex-end;max-width:600px;background:var(--wf-black);border-radius:14px;padding:50px 40px;overflow:hidden;color:#fff!important;text-decoration:none;box-sizing:border-box}
.wfs-nextpost img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transition:transform .8s,opacity .4s}
.wfs-nextpost:hover img{transform:scale(1.04);opacity:.45}
.wfs-nextpost>div{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:14px;text-align:right}
.wfs-nextpost small{font-size:12px;font-weight:500;letter-spacing:-.04em;opacity:.7}
.wfs-nextpost b{font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.2;max-width:400px}
.wfs-connect{max-width:500px;display:flex;flex-direction:column;gap:8px;padding-bottom:0}
.wfs-connect b{font-size:16px;font-weight:500;letter-spacing:-.04em;line-height:1.4}
.wfs-connect p{font-size:15px;font-weight:500;letter-spacing:-.04em;line-height:1.4;opacity:.6;margin:0}
.wf-site .elementor-location-footer{position:relative;z-index:3;background:#F5F5F5}

/* ---------- Kontakt ---------- */
.wfs-kontakt{display:flex;flex-direction:column;gap:120px}
.wfs-k-row{display:flex;gap:10px;align-items:flex-start}
.wfs-k-left{width:719px;max-width:52.56%;flex:none;padding-right:80px;box-sizing:border-box;display:flex;flex-direction:column;gap:40px}
.wfs-k-left .wfs-p30{max-width:550px;color:rgba(10,10,10,.6);text-indent:120px}
.wfs-k-left .wfs-p30 b{color:var(--wf-black);font-weight:500}
.wfs-k-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:90px}
.wfs-k-contact{display:flex;flex-direction:column;gap:90px;padding-right:80px}
.wfs-k-contact .wf-plus{opacity:.3}
.wfs-k-lines{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.wfs-k-lines a.wfs-tel{font-size:18px;font-weight:500;letter-spacing:-.04em;line-height:1.3;color:#090909!important;text-decoration:none}
.wfs-k-social{display:flex;flex-direction:column;gap:10px;margin-top:40px}
.wfs-k-social a{font-size:22px;font-weight:500;letter-spacing:-.04em;line-height:1.2;color:var(--wf-black)!important;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.wfs-k-social a::after{content:"↗";font-size:13px;opacity:.5}
/* Kontaktformular im Unterstrich-Stil */
.wf-site .wfs-kform .elementor-form-fields-wrapper{display:flex;flex-direction:column;gap:35px;margin:0}
.wf-site .wfs-kform .elementor-field-group{padding:0!important;margin:0!important;width:100%}
.wf-site .wfs-kform .elementor-field-group>label{display:none}
.wf-site .wfs-kform input.elementor-field,.wf-site .wfs-kform textarea.elementor-field{background:transparent!important;border:0!important;border-bottom:1px solid rgba(0,0,0,.12)!important;border-radius:0!important;padding:0 0 20px!important;font:500 18px/1.2 'Inter',sans-serif!important;letter-spacing:-.04em!important;color:var(--wf-black)!important;min-height:0!important;height:41px;box-shadow:none!important;outline:0}
.wf-site .wfs-kform textarea.elementor-field{height:161px!important;min-height:161px!important;resize:none}
.wf-site .wfs-kform input.elementor-field:focus,.wf-site .wfs-kform textarea.elementor-field:focus{border-bottom-color:var(--wf-black)!important}
.wf-site .wfs-kform .elementor-field::placeholder{color:rgba(10,10,10,.4);opacity:1}
.wf-site .wfs-kform .e-form__buttons{margin-top:5px!important;padding:0!important;width:auto!important}
.wf-site .wfs-kform .elementor-button{background:var(--wf-black)!important;color:#fff!important;border-radius:50px!important;padding:9px 11px 9px 12px!important;font:600 12px/1 'Inter',sans-serif!important;letter-spacing:-.04em!important;min-height:30px;width:auto!important;border:0!important}
.wf-site .wfs-kform .elementor-button .elementor-button-content-wrapper{display:flex;align-items:center;gap:34px}
.wf-site .wfs-kform .elementor-button .elementor-button-content-wrapper::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.wf-site .wfs-kform .elementor-button .elementor-button-text{color:#fff!important}
.wfs-kterms{font-size:12px;font-weight:500;letter-spacing:-.04em;line-height:1.3;color:#090909;margin:24px 0 0}
.wfs-kterms a{color:inherit!important;text-decoration:underline}

/* ---------- Legal ---------- */
.wfs-legal{display:flex;flex-direction:column;gap:100px}
.wfs-legal-meta{display:flex;flex-direction:column;gap:6px}
.wfs-legal-meta span{font-size:15px;font-weight:500;letter-spacing:-.04em;opacity:.6}
.wfs-legal-meta b{font-size:18px;font-weight:600;letter-spacing:-.04em}
.wfs-legal-body{grid-column:2/5;padding-top:80px}
.wfs-legal-body .wfs-rich{max-width:800px}

/* ---------- Tablet ---------- */
@media (max-width:1199px){
  .wfs-h1{font-size:96px}
  .wfs-h1.wfs-h1--l{font-size:118px}
  .wfs-pd-intro{gap:80px}.wfs-pd-content{gap:90px}
  .wfs-pd-info .wfs-eyebrow{grid-column:1/2}
  .wfs-pd-info-body{grid-column:2/5}
  .wfs-pd-gallery>div{width:100%}
  .wfs-next{gap:60px}
  .wfs-po-head{display:flex;flex-direction:column;align-items:flex-start;gap:30px}
  .wfs-po-head p{padding:0}
  .wfs-po-grid{grid-template-columns:1fr}
  .wfs-bo{gap:90px}.wfs-bo-top{gap:80px}
  .wfs-bo-desc .wfs-p30{grid-column:2/5;text-indent:60px}
  .wfs-bo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfs-post{grid-template-columns:1fr}
  .wfs-post-cover{position:relative;left:auto;top:auto;width:100%;max-width:none;height:600px;margin-bottom:40px}
  .wfs-post-content{grid-column:1}
  .wfs-post-top{min-height:0;padding:0 0 80px;gap:40px}
  .wfs-post h1{font-size:50px}
  .wfs-rich h2{font-size:22px}
  .wfs-kontakt{gap:80px}
  .wfs-k-left{width:50%;max-width:50%;padding-right:40px}
  .wfs-k-left .wfs-p30{text-indent:60px}
  .wfs-k-contact{padding-right:0}
  .wfs-legal{gap:80px}
  .wfs-legal-grid{display:flex;flex-direction:column;gap:30px}
  .wfs-legal-body{padding-top:30px;padding-left:25%}
}
/* ---------- Phone ---------- */
@media (max-width:809px){
  .wfs-h1{font-size:46px}
  .wfs-h1.wfs-h1--l{font-size:64px}
  .wfs-eyebrow{font-size:13px;gap:6px}
  .wfs-p30{font-size:24px}.wfs-p22{font-size:19px}.wfs-p18m{font-size:15px}
  .wfs-pd-intro{gap:30px}.wfs-pd-content{gap:40px}
  .wfs-pd-content .wfs-grid2{display:flex;flex-direction:column;gap:28px}
  .wfs-pd-table{gap:16px}
  .wfs-pd-table .wfs-grid2{display:block}
  .wfs-pd-row{min-height:56px}
  .wfs-pd-row .wfs-l{font-size:11px}.wfs-pd-row .wfs-v{font-size:13px}
  .wfs-pd-logo{height:40px}.wfs-pd-logo img{width:83px;height:40px}
  .wfs-pd-images{grid-template-columns:1fr;padding-top:0}
  .wfs-pd-images>div{border-radius:18px}
  .wfs-pd-info{display:flex;flex-direction:column;gap:30px}
  .wfs-pd-info-body{gap:30px}.wfs-pd-info-text{gap:20px}
  .wfs-next{gap:30px}
  .wfs-next-head{flex-direction:column;align-items:flex-start}
  .wfs-po-head{gap:44px}
  .wfs-po-cards{gap:30px}
  .wfs-filter{flex-wrap:wrap}
  .wf-site .wfs-filter input{width:calc(100% - 130px);flex:1}
  .wfs-bo{gap:38px}.wfs-bo-top{gap:30px}
  .wfs-bo-desc{display:flex;flex-direction:column;gap:20px}
  .wfs-bo-desc .wfs-p30{text-indent:0}
  .wfs-bo-grid{grid-template-columns:1fr}
  .wfs-bo-grid .wf-art{height:420px}
  .wfs-feat{grid-column:auto;height:460px}
  .wfs-feat-body{padding:24px;min-height:0}
  .wfs-feat-title{font-size:28px}
  .wfs-post-cover{height:480px;border-radius:18px;margin-bottom:30px}
  .wfs-post-top{padding:0 0 50px;gap:30px}
  .wfs-post h1{font-size:36px}
  .wfs-post-intro{font-size:16px}
  .wfs-post-article{padding-top:40px;gap:40px}
  .wfs-post-text{gap:30px}
  .wfs-rich{font-size:16px}
  .wfs-rich h2{font-size:20px}
  .wf-site .wfs-rich table{font-size:14px}
  .wfs-nextpost{padding:36px 24px}
  .wfs-kontakt{gap:30px}
  .wfs-k-row{flex-direction:column;gap:50px}
  .wfs-k-left{width:100%;max-width:none;padding:0;gap:30px}
  .wfs-k-left .wfs-p30{text-indent:0}
  .wfs-k-right{width:100%;gap:50px}
  .wfs-k-contact{gap:40px}
  .wfs-legal{gap:30px}
  .wfs-legal-body{padding-left:0;padding-top:10px}
}

/* ---------- Abgleich Runde 1 (Projekt-Detail) ---------- */
.wf-site .wfs-h1{line-height:.96}
.wfs-eyebrow{align-self:start}
.wfs-p18m{text-wrap:balance}
.wfs-next-top{padding-bottom:59px}
@media (max-width:1199px){.wfs-next-top{padding-bottom:40px}}
@media (max-width:809px){.wfs-next-top{padding-bottom:0}}

/* ---------- Abgleich Runde 2 ---------- */
/* Rich-Text: Absatzabstände wie Framer */
.wf-site .wfs-rich p{margin:0 0 20px}
.wf-site .wfs-rich li{margin:0}
.wf-site .wfs-rich li p,.wf-site .wfs-rich table p{margin:0}
.wf-site .wfs-rich>*:last-child{margin-bottom:0}
.wf-site .wfs-rich a{text-decoration:none}
.wf-site .wfs-rich a:hover{text-decoration:underline}
.wf-site .wfs-rich th,.wf-site .wfs-rich td{min-width:100px;box-sizing:content-box}
.wf-site .wfs-rich th{text-align:left;font-weight:500}
.wfs-post h1,.wfs-post-text>.wfs-p30,.wfs-connect p,.wfs-post-intro{text-wrap:balance}
/* Projekte-Übersicht: Grid mit 3px Rand wie Framer */
.wfs-po-grid{padding:3px;box-sizing:border-box}
/* Blog-Übersicht: Karten */
.wfs-bo-grid .wf-art{justify-content:space-between;padding:10px}
.wfs-bo-grid .wf-art-img{aspect-ratio:auto;height:268px;flex:none}
.wfs-bo-grid .wf-art-body{height:232px;box-sizing:border-box;padding:20px;gap:25px;justify-content:flex-start}
.wfs-bo-grid .wf-art-date,.wfs-feat-date{display:block;line-height:1.3}
.wfs-bo-grid .wf-art-title{line-height:1.3;text-wrap:balance}
.wfs-bo-grid .wf-art-text{text-wrap:balance}
.wfs-feat-body{justify-content:flex-start}
.wfs-feat-title,.wfs-feat-text{text-wrap:balance}
/* Kontakt */
.wfs-k-left{width:100%;max-width:none}
.wf-site .wfs-kform input.elementor-field{height:41px!important;min-height:0!important;line-height:20px!important;box-sizing:border-box!important}
.wf-site .wfs-kform textarea.elementor-field{height:161px!important;min-height:161px!important;box-sizing:border-box!important}
.wf-site .wfs-kform .elementor-form-fields-wrapper{gap:34px}
.wf-site .wfs-kform .elementor-field-group.e-form__buttons{width:auto!important;align-self:flex-start;margin-top:5px!important;flex:none!important}
.wf-site .wfs-kform .e-form__buttons .elementor-button{width:auto!important;flex-basis:auto!important}
.wfs-k-contact{margin-top:90px}
.wfs-k-contact .wf-email-big{margin-top:0}
@media (max-width:809px){
  .wfs-bo-grid .wf-art-img{height:auto;aspect-ratio:319/268}
  .wfs-bo-grid .wf-art-body{height:auto}
  .wfs-po-grid{padding:0}
}
.wfs-k-social{margin-top:82px}
.wf-site .e-con.wfs-k-rightwrap{--width:auto;width:auto;flex:1 1 0;min-width:0}
.wf-site .wfs-kform .elementor-form-fields-wrapper{margin:0!important}
.wf-site .wfs-kterms{margin:24px 0 0}
.wf-word{display:inline-block}
.wfs-po-grid .wf-proj-body{height:auto;aspect-ratio:1.36585/1}
@media (max-width:1199px){.wf-site .e-con.wfs-k-rightwrap{flex:1 1 0}}
@media (max-width:809px){.wf-site .e-con.wfs-k-rightwrap{--width:100%;width:100%;flex:none}}

/* ---------- Rich-Text exakt nach Framer (Abstand oben statt unten) ---------- */
.wf-site .wfs-rich>*,.wf-site .wfs-rich p,.wf-site .wfs-rich figure,.wf-site .wfs-rich ul,.wf-site .wfs-rich ol,.wf-site .wfs-rich h1,.wf-site .wfs-rich h2,.wf-site .wfs-rich h3,.wf-site .wfs-rich h4{margin:0}
.wf-site .wfs-rich>p:not(:first-child),.wf-site .wfs-rich>blockquote:not(:first-child),.wf-site .wfs-rich li>p:not(:first-child){margin-top:20px}
.wf-site .wfs-rich>h1:not(:first-child),.wf-site .wfs-rich>h2:not(:first-child),.wf-site .wfs-rich>h3:not(:first-child),.wf-site .wfs-rich>h4:not(:first-child){margin-top:30px}
.wf-site .wfs-rich h3{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.04em;color:var(--wf-black)}
.wf-site .wfs-rich h2{line-height:1.3}
.wf-site .wfs-rich ul,.wf-site .wfs-rich ol{padding:0;position:relative;list-style:none}
.wf-site .wfs-rich li{margin:0;padding:0 0 0 2ch;list-style:none;position:relative}
.wf-site .wfs-rich ul>li::before{content:"\2022";position:absolute;left:0}
.wf-site .wfs-rich ol{counter-reset:list-item 0}
.wf-site .wfs-rich ol>li::before{content:counter(list-item) ".";position:absolute;left:0;font-variant-numeric:tabular-nums}
.wf-site .wfs-rich li:has(>h3){font-size:18px;font-weight:600;line-height:1.4;color:var(--wf-black)}
.wf-site .wfs-rich table{table-layout:auto;word-break:normal;width:100%}
.wf-site .wfs-rich th,.wf-site .wfs-rich td{padding:10px;border:0;min-width:106.78px;box-sizing:border-box;overflow-wrap:anywhere;vertical-align:top;white-space:normal}
.wf-site .wfs-rich tr+tr td,.wf-site .wfs-rich tr+tr th{border-top:1px solid rgba(153,153,153,.25)}
.wf-site .wfs-rich td+td,.wf-site .wfs-rich th+th{border-left:1px solid rgba(153,153,153,.25)}

.wf-site .wfs-rich h1{font-size:16px;font-weight:400;line-height:1.2;letter-spacing:0;color:#000}
.wf-site .wfs-rich>h1:not(:first-child){margin-top:0}
.wf-site .wfs-rich h4,.wf-site .wfs-rich h5,.wf-site .wfs-rich h6{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.04em;color:#000}
.wf-site .wfs-rich>h4:not(:first-child),.wf-site .wfs-rich>h5:not(:first-child),.wf-site .wfs-rich>h6:not(:first-child){margin-top:40px}
.wfs-postnav{display:flex;flex-direction:column;gap:4px;max-width:600px}
.wfs-postnav:empty{display:none}
.wfs-nextpost{align-items:center;min-height:156px}
.wfs-nextpost b{width:400px;max-width:100%;display:block}
.wfs-nextpost--prev{justify-content:flex-start}
.wfs-nextpost.wfs-nextpost--prev>div{align-items:flex-start;text-align:left}
.wfs-nextpost small{display:block;line-height:15px}
.wfs-nextpost b{text-wrap:balance}

/* ====================================================================
   Tablet / Phone exakt nach Framer-Spec
   ==================================================================== */
@media (max-width:1199px){
  .wf-site .wfs-rich{font-size:16px}
  .wf-site .wfs-rich h2{font-size:22px;line-height:1.3}
  .wf-site .wfs-rich h3,.wf-site .wfs-rich li:has(>h3){font-size:17px;line-height:1.4}
  .wfs-post-cover{position:relative;left:auto;top:auto;margin:0 -24px 80px;width:calc(100% + 48px);max-width:none;height:550px;border-radius:25px}
  .wfs-post-top{min-height:0;padding:0 0 50px;gap:60px}
  .wfs-post-head{gap:24px}.wfs-post-head .wfs-dh{gap:26px}
  .wfs-post h1{font-size:50px;line-height:1.1}
  .wfs-post-article{padding-top:50px;gap:60px}
  .wfs-post-text{gap:50px}
}
@media (max-width:809px){
  /* Rich-Text */
  .wf-site .wfs-rich{font-size:15px;line-height:1.4}
  .wf-site .wfs-rich>p:not(:first-child),.wf-site .wfs-rich>blockquote:not(:first-child),.wf-site .wfs-rich li>p:not(:first-child){margin-top:10px}
  .wf-site .wfs-rich h2{font-size:20px;line-height:1.2}
  .wf-site .wfs-rich>h2:not(:first-child){margin-top:22px}
  .wf-site .wfs-rich h3,.wf-site .wfs-rich li:has(>h3){font-size:16px;line-height:1.2}
  .wf-site .wfs-rich>h3:not(:first-child){margin-top:18px}
  .wf-site .wfs-rich table{font-size:15px}
  /* Legal */
  .wfs-legal{gap:30px}
  .wfs-legal-grid{gap:30px}
  .wfs-legal-meta{display:flex;flex-direction:row;gap:5px;align-items:flex-start}
  .wfs-legal-meta span{font-size:13px;line-height:1.4}
  .wfs-legal-meta b{font-size:15px;line-height:18px}
  .wfs-legal-body{padding:40px 0 0}
  /* Blog-Artikel */
  .wfs-post-cover{margin:0 -16px 40px;width:calc(100% + 32px);height:500px;border-radius:16px}
  .wfs-post-top{padding:0 0 30px;gap:30px}
  .wfs-post-head{gap:22px}.wfs-post-head .wfs-dh{gap:14px}
  .wfs-post-date{font-size:12px;line-height:1.3}
  .wfs-post h1{font-size:36px;line-height:1.1}
  .wfs-post-intro{font-size:15px;line-height:1.3}
  .wfs-author b{font-size:13px;line-height:1.4}
  .wfs-author span{font-size:12px;line-height:1.3}
  .wfs-post-article{padding-top:34px;gap:36px}
  .wfs-post-text{gap:24px}
  .wfs-post-text>.wfs-p30{font-size:24px;line-height:1.2}
  .wfs-nextpost,.wfs-nextpost.wfs-nextpost--prev{padding:26px;min-height:0;justify-content:flex-start}
  .wfs-nextpost>div,.wfs-nextpost.wfs-nextpost--prev>div{align-items:flex-start;text-align:left;gap:10px}
  .wfs-nextpost small{font-size:11px;line-height:14px}
  .wfs-nextpost b{font-size:19px;line-height:1.2;width:auto}
  .wfs-connect{gap:8px}
  .wfs-connect b{font-size:13px;line-height:1.4}
  .wfs-connect p{font-size:13px;line-height:1.4}
  /* Blog-Übersicht */
  .wfs-bo-top{gap:42px}
  .wfs-bo-desc .wfs-eyebrow{display:none}
  .wfs-bo-desc .wfs-p30{text-indent:87px;font-size:24px;line-height:1.2}
  .wfs-feat{height:470px}
  .wfs-feat-body{padding:30px;min-height:329px;gap:20px}
  .wfs-feat-date{font-size:11px}
  .wfs-feat-title{font-size:24px;line-height:1.1;max-width:none}
  .wfs-feat-text{font-size:13px;line-height:1.4;max-width:none}
  .wfs-bo-grid .wf-art{height:420px;min-height:0}
  .wfs-bo-grid .wf-art-img{height:168px;aspect-ratio:auto}
  .wfs-bo-grid .wf-art-body{height:232px}
  .wfs-bo-grid .wf-art-title{font-size:20px;line-height:1.3}
  .wfs-bo-grid .wf-art-text{font-size:13px;line-height:1.4}
  .wfs-bo-grid .wf-art-date{font-size:12px}
  /* Projekte-Übersicht */
  .wfs-po-head{gap:16px}
  .wfs-po-cards{gap:30px}
  .wfs-filter{flex-direction:column;flex-wrap:nowrap;gap:4px;align-items:stretch}
  .wf-site .wfs-filter input[type=search],.wf-site .wfs-filter input{width:100%;flex:none}
  .wfs-select>button{width:100%}
  .wfs-select ul{right:0}
  .wfs-po-grid{padding:3px}
  .wfs-po-grid .wf-proj-head{padding:16px 20px;border-radius:14px;min-height:50px;box-sizing:border-box}
  .wfs-po-grid .wf-proj-body{border-radius:14px}
  /* Kontakt */
  .wfs-k-left{gap:28px;padding:0}
  .wfs-k-left .wfs-p30{text-indent:98px;font-size:24px;line-height:1.2}
  .wf-site .wfs-kform .elementor-form-fields-wrapper{gap:21px}
  .wf-site .wfs-kform textarea.elementor-field{height:121px!important;min-height:121px!important}
  .wf-site .wfs-kform .elementor-field-group.e-form__buttons{margin-top:9px!important}
  .wf-site .wfs-kterms{font-size:11px;line-height:1.3}
  .wfs-k-contact{margin-top:50px;gap:50px;padding:0}
  .wfs-k-contact .wf-plus{width:14px;height:14px}
  .wfs-k-social{margin-top:42px}
  .wfs-k-social a{font-size:19px}
  /* Projekt-Detail */
  .wfs-main .wf-btn-sm{font-size:12px}
}
.wf-word{text-indent:0}
@media (max-width:1199px){.wfs-po-grid .wf-proj-body{aspect-ratio:auto;height:calc((100vw - 66px)/1.36585)}}
@media (max-width:809px){.wfs-po-grid .wf-proj-body{aspect-ratio:auto;height:calc((100vw - 46px)/1.36585)}}

/* Projekt-Detail: Video, Platzhalter, Fokus-Zeile */
.wfs-yt{position:relative;width:100%;aspect-ratio:1.63478/1;border-radius:25px;overflow:hidden;cursor:pointer;background:#000}
.wfs-yt img,.wfs-yt iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.wfs-yt-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;line-height:0;transition:transform .3s}
.wfs-yt:hover .wfs-yt-btn path:first-child{fill:#f00;fill-opacity:1}
.wfs-pd-gallery:empty{display:block;height:0}
.wfs-pd-nolink{display:block;height:26px}
@media (min-width:1200px){.wfs-pd-row .wfs-v{flex-wrap:nowrap;white-space:nowrap}}
@media (max-width:809px){.wfs-yt{border-radius:18px}.wfs-pd-nolink{height:23px}}
.wfs-k-social{margin-top:78px}
@media (max-width:809px){.wfs-k-social{margin-top:38px}}
.wfs-pd-gallery>.wfs-yt{width:100%;aspect-ratio:1.63478/1}
.wfs-pd-gallery:has(.wfs-yt){padding-bottom:4px}
@media (max-width:1199px){.wfs-pd-gallery>.wfs-yt{aspect-ratio:auto;height:calc((100vw - 60px)/1.63478)}}
@media (max-width:809px){.wfs-pd-gallery>.wfs-yt{aspect-ratio:auto;height:calc((100vw - 40px)/1.63478)}.wfs-pd-row{gap:6px}}

/* ====================================================================
   Tablet (810–1199) nach Framer-Spec
   ==================================================================== */
@media (min-width:810px) and (max-width:1199px){
  .wfs-eyebrow{font-size:14px}
  .wfs-p22{font-size:20px;line-height:1.2}
  .wfs-p30{font-size:28px;line-height:1.2}
  .wfs-p18m{font-size:17px;line-height:1.3}
  .wfs-author b{font-size:14px;line-height:1.4}
  .wfs-author span{font-size:13px;line-height:1.3}
  /* Projekt-Detail */
  .wfs-pd-table{gap:40px}
  .wfs-pd-rows .wfs-grid2{display:block}
  .wfs-pd-row{min-height:58px}
  .wfs-pd-table>.wfs-grid2>div:first-child{display:none}
  .wfs-pd-logo img{width:98px;height:46px}
  .wfs-pd-images{padding-top:0}
  .wfs-pd-info .wfs-eyebrow{grid-column:1/3}
  .wfs-pd-info-body{grid-column:3/5;gap:50px}
  .wfs-pd-info-text{gap:30px}
  .wfs-next{gap:80px}
  .wfs-next-top{gap:26px;padding-bottom:63px}
  .wfs-next-head{gap:0}
  .wfs-next-head h2{white-space:nowrap}
  .wf-site .wfs-main .wf-logo-text{font-size:19px;line-height:1.1}
  .wfs-main .wf-proj-head{min-height:58px;box-sizing:border-box}
  /* Projekte-Übersicht */
  .wfs-po-head{gap:12px}
  .wfs-po-head p{padding-bottom:18px}
  .wfs-po-cards{gap:40px}
  .wfs-po-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfs-po-grid .wf-proj-body{height:calc((100vw - 70px)/2/1.36585)}
  /* Blog-Übersicht */
  .wfs-bo-top{gap:90px}
  .wfs-bo-desc .wfs-p30{grid-column:2/4;text-indent:101px}
  .wfs-feat{grid-column:auto;height:520px}
  .wfs-feat-body{min-height:450px;padding:40px}
  .wfs-feat-date{font-size:11px}
  .wfs-feat-title{font-size:30px;line-height:1.1}
  .wfs-feat-text{font-size:14px;line-height:1.4}
  .wfs-bo-grid .wf-art{height:520px}
  .wfs-bo-grid .wf-art-body{padding:14px}
  .wfs-bo-grid .wf-art-text{font-size:14px}
  /* Blog-Artikel */
  .wfs-post-date{font-size:13px;line-height:1.3}
  .wfs-post-intro{font-size:17px;line-height:1.3}
  .wfs-nextpost small{font-size:11px;line-height:14px}
  .wfs-connect b{font-size:14px}
  /* Legal */
  .wfs-legal{gap:80px}
  .wfs-legal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .wfs-legal-meta span{font-size:14px;line-height:1.4}
  .wfs-legal-meta b{font-size:15px;line-height:18px}
  .wfs-legal-body{grid-column:2/5;padding:60px 0 0}
  /* Kontakt */
  .wf-site .e-con.wfs-k-leftwrap{--width:410px;width:410px;flex:none}
  .wfs-k-left{padding-right:80px;gap:40px}
  .wfs-k-left .wfs-p30{text-indent:114px}
  .wf-site .wfs-kform textarea.elementor-field{height:131px!important;min-height:131px!important}
  .wf-site .wfs-kterms{font-size:11px;line-height:1.3}
  .wfs-k-contact{margin-top:70px;gap:70px;padding-right:30px}
  .wfs-k-social{margin-top:62px}
}
@media (min-width:810px) and (max-width:1199px){
  .wf-projects .wfs-po-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfs-pd-row .wfs-l{font-size:11px}.wfs-pd-row .wfs-v{font-size:14px}
  .wfs-pd-row{min-height:57px;padding:18px 0}
  .wf-site .wfs-rich table{font-size:inherit}
}
.wf-site .wfs-rich table{font-size:inherit}
@media (min-width:810px) and (max-width:1199px){.wfs-pd-gallery>div{width:75%}.wfs-pd-gallery>.wfs-yt{width:100%}}
@media (min-width:810px) and (max-width:1199px){.wfs-k-social a{font-size:20px}.wfs-k-social{margin-top:58px}}
.wfs-post-cover{position:fixed}.wfs-post-cover::after{content:"";position:absolute;inset:0;background:url(grain.png) repeat;opacity:.07;pointer-events:none}
@media (max-width:1199px){.wfs-post-cover{position:relative}}
@media (min-width:810px) and (max-width:1199px){.wfs-nextpost b{font-size:20px}.wfs-connect p{font-size:14px}}
@media (min-width:810px) and (max-width:1199px){.wfs-pd-table .wfs-pd-logo{grid-column:1}}
.wf-site .wfs-kterms{color:rgba(9,9,9,.6);text-wrap:balance}
.wf-site .wfs-kterms a{text-decoration:none;color:inherit!important}
.wf-site .wfs-kterms a:hover{text-decoration:underline}
