@font-face{font-family:'Space Grotesk';src:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/fonts/space-grotesk.woff2) format('woff2');font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:'Inter';src:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/fonts/inter.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:'Plex Mono';src:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/fonts/plex-mono.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}:root{--paper:#ffffff;--wash:#f6f6f5;--ink:#0b0b0c;--graphite:#6e6e73;--hairline:#e6e6e6;--signal:#e2231a;--signal-deep:#a8140e;--shell:min(1240px, 100% - 2.5rem);--gap:clamp(46px, 7vw, 104px);--r:14px;--ease:cubic-bezier(.16,.84,.34,1);--mark:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 440 440'><g fill='none' stroke='%23000' stroke-width='30' stroke-linejoin='miter'><path d='M56 46 H214 A152 152 0 0 1 214 350 H56 Z'/><path d='M140 130 H250 A132 132 0 0 1 250 394 H140 Z'/></g></svg>");
}
body.dd-onepage *, body.dd-onepage *::before, body.dd-onepage *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html:focus-within{scroll-behavior:smooth}
body.dd-onepage{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(15.5px,1.05vw,17px);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body.dd-onepage img{max-width:100%;height:auto;display:block}
body.dd-onepage a{color:inherit;text-decoration:none}
body.dd-onepage button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body.dd-onepage :focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}
body.dd-onepage .shell{width:var(--shell);margin-inline:auto}
body.dd-onepage .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Typografie ---------- */
body.dd-onepage h1, body.dd-onepage h2, body.dd-onepage h3, body.dd-onepage h4{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.042em;line-height:1.02;margin:0}
body.dd-onepage h1{font-size:clamp(2.85rem,8.4vw,6.1rem)}
body.dd-onepage h2{font-size:clamp(2.1rem,5.2vw,3.9rem)}
body.dd-onepage h3{font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.028em;line-height:1.2}
body.dd-onepage p{margin:0}
body.dd-onepage .lede{font-size:clamp(1.02rem,1.5vw,1.24rem);line-height:1.6;color:var(--graphite);max-width:56ch}
body.dd-onepage .mono{font-family:'Plex Mono',ui-monospace,monospace;font-size:.685rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);font-weight:400}
body.dd-onepage .mono--signal{color:var(--signal)}
body.dd-onepage .rule{height:1px;background:var(--hairline);border:0;margin:0}

/* ---------- Buttons ---------- */
body.dd-onepage .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  min-height:52px;padding:0 1.65rem;border-radius:999px;font-size:.95rem;font-weight:500;
  letter-spacing:-.01em;transition:transform .35s var(--ease),background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
  white-space:normal;text-align:center;line-height:1.25;padding-block:.9rem}
body.dd-onepage .btn:hover{transform:translateY(-2px)}
body.dd-onepage .btn:active{transform:translateY(0)}
body.dd-onepage .btn--solid{background:var(--ink);color:#fff;box-shadow:0 10px 26px rgba(11,11,12,.16)}
body.dd-onepage .btn--solid:hover{background:var(--signal);box-shadow:0 14px 34px rgba(226,35,26,.28)}
body.dd-onepage .btn--ghost{border:1px solid var(--hairline);color:var(--ink);background:#fff}
body.dd-onepage .btn--ghost:hover{border-color:var(--ink)}
body.dd-onepage .btn--signal{background:var(--signal);color:#fff;box-shadow:0 10px 26px rgba(226,35,26,.24)}
body.dd-onepage .btn--signal:hover{background:var(--ink);box-shadow:0 14px 34px rgba(11,11,12,.22)}
body.dd-onepage .btn--wa{background:var(--paper);color:var(--ink);border:1px solid var(--hairline)}
body.dd-onepage .btn--wa:hover{border-color:var(--ink);background:var(--paper)}
body.dd-onepage .btn--lg{min-height:60px;padding:0 2.1rem;font-size:1rem}
body.dd-onepage .btn svg{flex:none}

/* ---------- Header ---------- */
body.dd-onepage .hdr{position:fixed;inset:0 0 auto;z-index:80;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .4s var(--ease),background-color .4s var(--ease)}
body.dd-onepage .hdr.is-stuck{border-bottom-color:var(--hairline)}
body.dd-onepage .hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:74px}
body.dd-onepage .brand{display:flex;align-items:center;gap:.65rem;flex:none}
body.dd-onepage .brand svg{width:26px;height:26px;flex:none}
body.dd-onepage .brand__txt{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.98rem;letter-spacing:-.02em;line-height:1}
body.dd-onepage .brand__txt small{display:block;font-family:'Plex Mono',monospace;font-size:.5rem;letter-spacing:.28em;color:var(--graphite);font-weight:400;margin-top:3px}
body.dd-onepage .nav{display:none;gap:2.1rem;align-items:center}
body.dd-onepage .nav a{font-size:.92rem;color:var(--graphite);position:relative;padding:.35rem 0;transition:color .3s var(--ease)}
body.dd-onepage .nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--signal);transition:right .4s var(--ease)}
body.dd-onepage .nav a:hover, body.dd-onepage .nav a.is-active{color:var(--ink)}
body.dd-onepage .nav a.is-active::after{right:0}
body.dd-onepage .hdr__cta{display:none}
body.dd-onepage .burger{width:46px;height:46px;display:grid;place-items:center;margin-right:-8px}
body.dd-onepage .burger span{display:block;width:22px;height:1.5px;background:var(--ink);position:relative;transition:transform .35s var(--ease),background-color .2s}
body.dd-onepage .burger span::before, body.dd-onepage .burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),top .3s var(--ease)}
body.dd-onepage .burger span::before{top:-7px}body.dd-onepage .burger span::after{top:7px}
body.dd-onepage.menu-open .burger span{background:transparent}
body.dd-onepage.menu-open .burger span::before{top:0;transform:rotate(45deg)}
body.dd-onepage.menu-open .burger span::after{top:0;transform:rotate(-45deg)}

body.dd-onepage .drawer{position:fixed;inset:74px 0 0;z-index:75;background:var(--paper);padding:2rem 0 3rem;
  display:flex;flex-direction:column;justify-content:space-between;
  transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);overflow-y:auto}
body.dd-onepage.menu-open .drawer{opacity:1;transform:none;pointer-events:auto}
body.dd-onepage .drawer a.drawer__link{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.04em;
  font-size:clamp(2rem,9vw,2.6rem);padding:.42rem 0;border-bottom:1px solid var(--hairline)}
body.dd-onepage .drawer__foot{display:grid;gap:.8rem;margin-top:2.4rem}

/* ---------- Seitenlayout ---------- */
body.dd-onepage main{padding-top:74px;min-height:70vh}
body.dd-onepage .dd-page{display:none}
body.dd-onepage .dd-page.is-on{display:block;animation:pageIn .55s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
body.dd-onepage .sec{padding-block:var(--gap)}
body.dd-onepage .sec--wash{background:var(--wash)}
body.dd-onepage .sec__head{display:grid;gap:.95rem;margin-bottom:clamp(2rem,4vw,3.2rem)}
body.dd-onepage .sec__head .lede{margin-top:.2rem}

/* ---------- Hero ---------- */
body.dd-onepage .hero{position:relative;min-height:calc(100svh - 74px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;overflow:hidden;padding-block:1.5rem 5rem}
body.dd-onepage #field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
body.dd-onepage .hero__in{position:relative;z-index:2;width:var(--shell);display:grid;justify-items:center;gap:clamp(1.1rem,2.2vw,1.6rem)}
body.dd-onepage .hero h1{max-width:15ch}
body.dd-onepage .hero .mono{margin-bottom:-.2rem}
body.dd-onepage .hero .lede{max-width:44ch;text-align:center}
body.dd-onepage .hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}

/* ---------- 3D Logo ---------- */
body.dd-onepage .stage{position:relative;width:min(50vw,254px);aspect-ratio:1/1;perspective:1100px;perspective-origin:50% 45%}
body.dd-onepage .stage__glow{position:absolute;left:50%;top:48%;width:118%;aspect-ratio:1;transform:translate(-50%,-50%);will-change:opacity,transform;
  background:radial-gradient(circle,rgba(226,35,26,.26),rgba(226,35,26,.09) 42%,transparent 68%);
  filter:blur(18px);animation:pulse 6.5s ease-in-out infinite;pointer-events:none}
@keyframes pulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
body.dd-onepage .stage__shadow{position:absolute;left:50%;bottom:-6%;width:62%;height:9%;transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(11,11,12,.22),transparent 70%);filter:blur(7px);animation:sh 7.5s ease-in-out infinite}
@keyframes sh{0%,100%{opacity:.5;transform:translateX(-50%) scale(.9)}50%{opacity:.85;transform:translateX(-50%) scale(1.04)}}
body.dd-onepage .stage__obj{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform;
  transform:translate3d(0,0,0) scale(.92);opacity:0}
body.dd-onepage .stage__spin{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform;
  backface-visibility:hidden}
body.dd-onepage .lay{position:absolute;inset:0;-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;
  backface-visibility:hidden}
body.dd-onepage .lay--front{background:linear-gradient(148deg,#26262c 0%,#131317 34%,#0b0b0c 72%,#101014 100%)}
body.dd-onepage .lay--shine{overflow:hidden}
body.dd-onepage .shinebar{position:absolute;top:-45%;left:-10%;width:46%;height:190%;will-change:transform;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%, rgba(146,148,158,.42) 24%, rgba(240,242,248,.92) 43%,
    rgba(226,35,26,.72) 57%, rgba(96,22,19,.34) 70%, rgba(255,255,255,0) 100%);
  filter:blur(.4px)}
body.dd-onepage .stage__spec{position:absolute;inset:0;-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat;
  background:linear-gradient(200deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 38%);pointer-events:none}
body.dd-onepage .stage.is-mini{width:100%;max-width:none}


/* ---------- Leistungskarten ---------- */
body.dd-onepage .cards{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r);overflow:hidden}
body.dd-onepage .card{background:var(--paper);padding:clamp(1.6rem,3.4vw,2.4rem);display:grid;gap:.85rem;align-content:start;
  position:relative;transition:background-color .45s var(--ease)}
body.dd-onepage .card:hover{background:var(--wash)}
body.dd-onepage .card__ico{width:34px;height:34px;color:var(--ink);transition:color .4s var(--ease),transform .5s var(--ease)}
body.dd-onepage .card:hover .card__ico{color:var(--signal);transform:translateY(-3px)}
body.dd-onepage .card p{color:var(--graphite);font-size:.95rem}
body.dd-onepage .card .mono{margin-bottom:.2rem}

/* ---------- Referenzen ---------- */
body.dd-onepage .works{display:grid;gap:clamp(2.6rem,6vw,5rem)}
body.dd-onepage .work{display:grid;gap:1.4rem}
body.dd-onepage .work__shot{position:relative;border-radius:var(--r);overflow:hidden;background:var(--wash);
  box-shadow:0 20px 50px -28px rgba(11,11,12,.45);border:1px solid var(--hairline)}
body.dd-onepage .work__bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#f2f2f1;border-bottom:1px solid var(--hairline)}
body.dd-onepage .work__bar i{width:9px;height:9px;border-radius:50%;background:#d9d9d7;display:block}
body.dd-onepage .work__bar span{margin-left:10px;font-family:'Plex Mono',monospace;font-size:.62rem;color:#9a9a9d;letter-spacing:.06em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.dd-onepage .work__img{aspect-ratio:1200/750;overflow:hidden}
body.dd-onepage .work__img .shot{width:100%;height:100%;background-size:cover;background-position:center top;background-repeat:no-repeat;transform:scale(1.001);transition:transform 1.1s var(--ease)}
body.dd-onepage .work:hover .work__img .shot{transform:scale(1.035)}
body.dd-onepage .work__meta{display:grid;gap:.55rem}
body.dd-onepage .work__meta .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;justify-content:space-between}
body.dd-onepage .work__tags{display:flex;flex-wrap:wrap;gap:.4rem}
body.dd-onepage .tag{border:1px solid var(--hairline);border-radius:999px;padding:.28rem .7rem;font-size:.74rem;color:var(--graphite)}
body.dd-onepage .tag--live{border-color:rgba(226,35,26,.35);color:var(--signal)}
body.dd-onepage .tag--soon{background:var(--wash);color:var(--ink);border-color:var(--hairline)}
body.dd-onepage .rail{display:grid;gap:1.4rem}
body.dd-onepage .rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:1rem;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.35rem;cursor:grab}
body.dd-onepage .rail__track::-webkit-scrollbar{display:none}
body.dd-onepage .rail__track.is-drag{cursor:grabbing;scroll-snap-type:none}
body.dd-onepage .rail__track>.work{scroll-snap-align:start}
body.dd-onepage .work--slide{gap:1rem}
body.dd-onepage .work--slide .work__meta{gap:.45rem}
body.dd-onepage .work--slide h3{font-size:clamp(1.05rem,1.7vw,1.2rem)}
body.dd-onepage .work--slide p{font-size:.9rem;color:var(--graphite);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.dd-onepage .rail__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}
body.dd-onepage .rail__dots{display:flex;gap:.42rem}
body.dd-onepage .rail__dots i{width:22px;height:2px;background:var(--hairline);display:block;transition:background-color .4s var(--ease)}
body.dd-onepage .rail__dots i.on{background:var(--ink)}
body.dd-onepage .rail__btns{display:flex;gap:.5rem}
body.dd-onepage .rail__b{width:44px;height:44px;border:1px solid var(--hairline);border-radius:50%;display:grid;place-items:center;
  background:var(--paper);transition:border-color .3s var(--ease),color .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease)}
body.dd-onepage .rail__b:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px)}
body.dd-onepage .rail__b:disabled{opacity:.3;cursor:default}
body.dd-onepage .rail__b svg{width:19px;height:19px}
body.dd-onepage .scope{list-style:none;margin:.4rem 0 .2rem;padding:0;display:grid;gap:0;border-top:1px solid var(--hairline);max-width:38rem}
body.dd-onepage .scope li{border-bottom:1px solid var(--hairline);padding:.62rem 0;font-size:.9rem;color:var(--graphite);
  display:flex;gap:.75rem;align-items:baseline}
body.dd-onepage .scope li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--signal);flex:none;transform:translateY(-2px)}
body.dd-onepage .work__link{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:500;border-bottom:1px solid var(--hairline);padding-bottom:2px;transition:border-color .3s var(--ease),gap .3s var(--ease)}
body.dd-onepage .work__link:hover{border-color:var(--signal);gap:.8rem;color:var(--signal)}

/* ---------- Bewertungen ---------- */
body.dd-onepage .quotes{display:grid;gap:1.25rem}
body.dd-onepage .quote{border:1px solid var(--hairline);border-radius:var(--r);padding:clamp(1.6rem,3vw,2.2rem);background:var(--paper);display:grid;gap:1.1rem;align-content:space-between}
body.dd-onepage .quote blockquote{margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(1.05rem,1.9vw,1.25rem);
  line-height:1.42;letter-spacing:-.025em}
body.dd-onepage .quote figcaption{font-size:.85rem;color:var(--graphite)}
body.dd-onepage .stars{display:flex;gap:3px;color:var(--signal)}
body.dd-onepage .stars svg{width:15px;height:15px}

/* ---------- Prozess ---------- */
body.dd-onepage .steps{display:grid;gap:1px;background:var(--hairline);border-block:1px solid var(--hairline)}
body.dd-onepage .step{background:var(--paper);padding:clamp(1.5rem,3vw,2.2rem) 0;display:grid;gap:.6rem;align-content:start}
body.dd-onepage .step .num{font-family:'Space Grotesk',sans-serif;font-size:2.4rem;letter-spacing:-.05em;line-height:1;color:var(--hairline)}
body.dd-onepage .step p{color:var(--graphite);font-size:.94rem}

/* ---------- Über mich ---------- */
body.dd-onepage .about{display:grid;gap:clamp(2rem,5vw,4rem)}
body.dd-onepage .about__stmt{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.04em;line-height:1.08;
  font-size:clamp(1.6rem,4.1vw,2.9rem);max-width:20ch}
body.dd-onepage .about__stmt em{font-style:normal;color:var(--signal)}
body.dd-onepage .list{display:grid;gap:0;border-top:1px solid var(--hairline)}
body.dd-onepage .list li{list-style:none;border-bottom:1px solid var(--hairline);padding:1.05rem 0;display:flex;gap:1rem;align-items:baseline}
body.dd-onepage .list li .mono{flex:none;width:2.4rem}
body.dd-onepage .sign{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;letter-spacing:-.04em;transform:rotate(-3deg);display:inline-block}

/* ---------- Kontakt ---------- */
body.dd-onepage .contact{display:grid;gap:clamp(2rem,5vw,3.5rem)}
body.dd-onepage .form{display:grid;gap:1.1rem;min-width:0}
body.dd-onepage .contact>*{min-width:0}
body.dd-onepage .field textarea, body.dd-onepage .field input{max-width:100%}
body.dd-onepage .field{display:grid;gap:.45rem}
body.dd-onepage .field label{font-size:.82rem;font-weight:500}
body.dd-onepage .field input, body.dd-onepage .field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--hairline);border-radius:10px;padding:.85rem 1rem;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
body.dd-onepage .field textarea{min-height:150px;resize:vertical}
body.dd-onepage .field input:focus, body.dd-onepage .field textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.06)}
body.dd-onepage .field input::placeholder, body.dd-onepage .field textarea::placeholder{color:#b4b4b8}
body.dd-onepage .check{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;color:var(--graphite)}
body.dd-onepage .check input{margin-top:.25rem;width:17px;height:17px;accent-color:var(--signal);flex:none}
body.dd-onepage .check a{border-bottom:1px solid var(--hairline)}
body.dd-onepage .formnote{font-size:.85rem;min-height:1.2rem}
body.dd-onepage .formnote.ok{color:#1a7f45}body.dd-onepage .formnote.err{color:var(--signal)}
body.dd-onepage .direct{display:grid;gap:1px;min-width:0;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r);overflow:hidden}
body.dd-onepage .direct a, body.dd-onepage .direct div{background:var(--paper);padding:1.2rem 1.3rem;display:flex;gap:1rem;align-items:center;transition:background-color .35s var(--ease)}
body.dd-onepage .direct a:hover{background:var(--wash)}
body.dd-onepage .direct>*{min-width:0}
body.dd-onepage .direct b{display:block;font-size:.95rem;font-weight:500;overflow-wrap:anywhere}
body.dd-onepage .direct span{display:block;font-size:.82rem;color:var(--graphite)}
body.dd-onepage .direct svg{width:20px;height:20px;flex:none;color:var(--graphite)}

/* ---------- CTA Band ---------- */
body.dd-onepage .band{background:var(--ink);color:#fff;border-radius:clamp(16px,3vw,26px);padding:clamp(2.2rem,6vw,4.4rem);
  display:grid;gap:1.6rem;justify-items:start;position:relative;overflow:hidden}
body.dd-onepage .band::after{content:"";position:absolute;right:-14%;top:-40%;width:52%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(226,35,26,.5),transparent 62%);filter:blur(26px);pointer-events:none}
body.dd-onepage .band h2{color:#fff;max-width:16ch;position:relative}
body.dd-onepage .band p{color:rgba(255,255,255,.68);max-width:46ch;position:relative}
body.dd-onepage .band .btn--ghost{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
body.dd-onepage .band .btn--ghost:hover{border-color:#fff;background:#fff;color:var(--ink)}
body.dd-onepage .band__cta{display:flex;flex-wrap:wrap;gap:.75rem;position:relative}

/* ---------- Footer ---------- */
body.dd-onepage .ftr{border-top:1px solid var(--hairline);padding-block:clamp(2.5rem,5vw,3.6rem) 2rem;margin-top:var(--gap)}
body.dd-onepage .ftr__grid{display:grid;gap:2.2rem}
body.dd-onepage .ftr__col{display:grid;gap:.15rem;align-content:start}
body.dd-onepage .ftr__col .mono{margin-bottom:.5rem}
body.dd-onepage .ftr__col a{font-size:.92rem;overflow-wrap:anywhere;color:var(--graphite);transition:color .3s var(--ease);padding:.42rem 0}
body.dd-onepage .ftr__col a:hover{color:var(--ink)}
body.dd-onepage .ftr__bot{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;align-items:center;
  margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--hairline);font-size:.8rem;color:var(--graphite)}

/* ---------- Schwebender Kontakt ---------- */
body.dd-onepage .dock{position:fixed;right:16px;bottom:16px;z-index:70;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
body.dd-onepage .dock a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 12px 30px rgba(11,11,12,.22);transition:transform .35s var(--ease)}
body.dd-onepage .dock a:hover{transform:translateY(-3px) scale(1.04)}
body.dd-onepage .dock .wa{background:var(--ink);color:#fff;transition:background-color .35s var(--ease),transform .35s var(--ease)}
body.dd-onepage .dock .wa:hover{background:var(--signal)}

body.dd-onepage .dock svg{width:25px;height:25px}

/* ---------- Rechtstexte ---------- */
body.dd-onepage .legal{max-width:72ch;display:grid;gap:1.1rem}
body.dd-onepage .legal h3{margin-top:1.4rem}
body.dd-onepage .legal p, body.dd-onepage .legal li{color:var(--graphite);font-size:.95rem}
body.dd-onepage .legal ul{padding-left:1.1rem;display:grid;gap:.4rem}

/* ---------- Reveal ---------- */
body.dd-onepage .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
body.dd-onepage .rv.in{opacity:1;transform:none}

/* ---------- Breakpoints ---------- */
@media (min-width:600px){
  body.dd-onepage .cards{grid-template-columns:repeat(2,1fr)}
  body.dd-onepage .quotes{grid-template-columns:repeat(2,1fr)}
  body.dd-onepage .steps{grid-template-columns:repeat(3,1fr)}
  body.dd-onepage .step{padding-inline:0}
  body.dd-onepage .direct{grid-template-columns:repeat(2,1fr)}
  body.dd-onepage .ftr__grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media (min-width:769px){
  body.dd-onepage .nav{display:flex}
  body.dd-onepage .hdr__cta{display:inline-flex}
  body.dd-onepage .burger{display:none}
  body.dd-onepage .drawer{display:none}
  body.dd-onepage .hdr__in{height:84px}
  body.dd-onepage main{padding-top:84px}
  body.dd-onepage .drawer{top:84px}
  body.dd-onepage .hero{min-height:calc(100svh - 84px)}
  body.dd-onepage .cards{grid-template-columns:repeat(3,1fr)}
  body.dd-onepage .work{grid-template-columns:1fr;gap:1.5rem}
  body.dd-onepage .rail__track{grid-auto-columns:calc(50% - .5rem)}
  body.dd-onepage .contact{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(2.5rem,5vw,5rem)}
  body.dd-onepage .about{grid-template-columns:1fr 1fr;align-items:start}
  body.dd-onepage .sec__head{grid-template-columns:auto;max-width:none}
  body.dd-onepage .dock{right:24px;bottom:24px}
}
@media (min-width:1000px){
  body.dd-onepage .stage{width:min(27vw,296px)}
  body.dd-onepage .works{gap:clamp(3.5rem,7vw,6.5rem)}
  body.dd-onepage .rail__track{grid-auto-columns:calc(41% - .7rem);gap:1.4rem}
  body.dd-onepage .work--wide{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  body.dd-onepage *, body.dd-onepage *::before, body.dd-onepage *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  body.dd-onepage .rv{opacity:1;transform:none}
}

body.dd-onepage .shot--suppenkult{background-image:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/img/ref_suppenkult.webp)}body.dd-onepage .shot--mellocafe{background-image:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/img/ref_mellocafe.webp)}body.dd-onepage .shot--agrar{background-image:url(https://donnerdigital.de/wp-content/themes/donner-digital/assets/img/ref_agrar.webp)}


/* ---------- Elementor-Anpassungen ----------
   Elementor legt eigene Huellen und Abstaende um jedes Element.
   Hier werden sie neutralisiert, damit das Layout exakt so bleibt
   wie in der Vorlage. */

/* Huellen ohne eigene Bedeutung strukturell entfernen */
body.dd-onepage #main > .elementor,
body.dd-onepage #main .elementor-widget,
body.dd-onepage #main .elementor-widget-container,
body.dd-onepage #main .e-con-inner,
body.dd-onepage #main .e-con:not(.sec):not(.shell):not([id^="p-"]){display:contents}

/* Die sieben Ansichten */
body.dd-onepage #main [id^="p-"]{display:none;padding:0;margin:0;width:auto;max-width:none;min-height:0}
body.dd-onepage #main [id^="p-"].is-on{display:block;animation:pageIn .55s var(--ease) both}

/* Abschnitte und Inhaltsbreite */
body.dd-onepage #main .e-con.sec,
body.dd-onepage #main .e-con.shell{display:block;max-width:none;padding:0;margin:0;gap:0;min-height:0;--content-width:none}
body.dd-onepage #main .e-con.sec{width:100%;padding-block:var(--gap)}
body.dd-onepage #main .e-con.sec--wash{background:var(--wash)}
body.dd-onepage #main .e-con.sec--flush{padding-top:0}
body.dd-onepage #main .e-con.shell{width:var(--shell);margin-inline:auto}


/* ---------- Ablauf mit Fortschrittslinie ---------- */
body.dd-onepage .flow{position:relative;padding-left:2.2rem;--p:0}
body.dd-onepage .flow::before, body.dd-onepage .flow::after{content:"";position:absolute;left:7px;top:14px;width:1px}
body.dd-onepage .flow::before{bottom:16px;background:var(--hairline)}
body.dd-onepage .flow::after{height:calc(var(--p) * (100% - 30px));background:var(--signal);transition:height .25s linear}
body.dd-onepage .flow__i{position:relative;padding:.85rem 0 1.05rem;border-bottom:1px solid var(--hairline)}
body.dd-onepage .flow__i:last-child{border-bottom:0}
body.dd-onepage .flow__i::before{content:"";position:absolute;left:-2.2rem;top:1.25rem;width:15px;height:15px;border-radius:50%;background:var(--paper);border:1px solid var(--hairline);transition:border-color .45s var(--ease),background-color .45s var(--ease),box-shadow .45s var(--ease)}body.dd-onepage .flow__i.on::before{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 4px rgb(226 35 26 / .12)}body.dd-onepage .flow__i .mono{display:block;margin-bottom:.3rem}body.dd-onepage .flow__i.on .mono{color:var(--signal)}body.dd-onepage .flow__i h3{font-size:clamp(1rem,1.6vw,1.12rem);margin-bottom:.3rem}body.dd-onepage .flow__i p{font-size:.9rem;color:var(--graphite);line-height:1.55}body.dd-onepage .facts{display:grid;margin-top:clamp(1.8rem,3.5vw,2.8rem)}body.dd-onepage .facts__i{padding:1.1rem 0;border-top:1px solid var(--hairline)}body.dd-onepage .facts__i h3{font-size:clamp(.98rem,1.5vw,1.06rem);margin-bottom:.28rem}body.dd-onepage .facts__i p{font-size:.89rem;color:var(--graphite);line-height:1.55;max-width:34ch}@media (min-width:769px){body.dd-onepage .about--solo{grid-template-columns:1fr}body.dd-onepage .facts{grid-template-columns:repeat(3,1fr);column-gap:clamp(1.4rem,3vw,2.6rem)}}body.dd-onepage .flow{max-width:44rem}@media (min-width:1000px){body.dd-onepage .cards:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){body.dd-onepage .cards:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}}@supports not selector(:has(*)){@media (min-width:1000px){body.dd-onepage .cards{grid-template-columns:repeat(2,1fr)}}}.quote__src{display:flex;align-items:center;gap:.45rem;margin-top:.35rem;font-size:.82rem;color:var(--muted,#6b7280);font-weight:400}.gmark{flex:0 0 auto;display:block}.gbar{margin-top:1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding:1.15rem 1.35rem;border:1px solid var(--hairline);border-radius:var(--r)}.gbar__left{display:flex;align-items:center;gap:.9rem}.gbar__score{display:flex;align-items:center;gap:.6rem;margin:0;line-height:1}.gbar__score strong{font-size:1.45rem;letter-spacing:-.02em}.gbar__score .stars{display:inline-flex;gap:2px}.gbar__score .stars svg{width:15px;height:15px}.gbar__meta{margin:.3rem 0 0;font-size:.85rem;color:var(--muted,#6b7280)}.gbar__links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.gbar__write{font-size:.88rem;font-weight:500;text-decoration:underline;text-underline-offset:3px}@media (max-width:560px){.gbar{flex-direction:column;align-items:flex-start}.gbar__links{width:100%}.gbar__links .btn{flex:1 1 auto;text-align:center}}@media (min-width:1000px){body.dd-onepage .works .work{grid-template-columns:1.08fr .92fr;gap:clamp(2rem,4vw,3.5rem);align-items:center}body.dd-onepage .works .work:nth-child(even) .work__shot{order:2}body.dd-onepage .works .work__meta{gap:.9rem}body.dd-onepage .works .work__meta .row{justify-content:flex-start;gap:.7rem 1rem}body.dd-onepage .works .work__meta p{max-width:42ch}body.dd-onepage .works .scope{margin-top:.35rem}}