/* dem2 Funnels – mobiles Layout im Stil der Perspective-Funnels */
:root{--b:#0D438D;--fg:#14171f;--muted:#5b6170;--line:#dfe3ea;--bg:#ffffff;--soft:#f4f6f9;--r:14px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--soft);color:var(--fg);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--b)}
#dfn-root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center}
.dfn-page{width:100%;max-width:720px;background:var(--bg);padding:16px 18px 32px;flex:1;animation:dfn-in .28s var(--ease)}
@media (min-width:760px){.dfn-page{margin:24px 0 0;border-radius:20px;box-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 30px rgba(16,24,40,.06);padding:24px 36px 40px}}
@keyframes dfn-in{from{transform:translateY(8px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.dfn-page{animation:none}.dfn-ans,.dfn-btn{transition:none!important}}

.dfn-progress{position:sticky;top:0;z-index:5;width:100%;height:4px;background:rgba(0,0,0,.06)}
.dfn-progress span{display:block;height:100%;background:var(--b);transition:width .35s var(--ease)}

.dfn-logo{display:flex;justify-content:center;margin:4px 0 14px}
.dfn-logo img{max-height:64px;width:auto}
.dfn-al-left{justify-content:flex-start}.dfn-al-right{justify-content:flex-end}
.dfn-back{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;padding:6px 0;margin:0 0 6px;cursor:pointer;min-height:44px}
.dfn-back:hover{color:var(--fg)}

.dfn-row{margin:10px 0}
.dfn-row.dfn-hasbg,.dfn-col.dfn-hasbg{background-size:cover;background-position:center;border-radius:var(--r);padding:22px 18px;position:relative;color:#fff;isolation:isolate}
.dfn-row.dfn-hasbg::before,.dfn-col.dfn-hasbg::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));z-index:-1}
.dfn-hasbg .dfn-text,.dfn-hasbg .dfn-qtitle{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.dfn-hasbg .dfn-form{background:#fff;color:var(--fg);padding:16px;border-radius:var(--r);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.dfn-hasbg .dfn-ans-text{color:var(--fg)}
.dfn-cols{display:grid;gap:12px}
@media (min-width:560px){.dfn-cols-2{grid-template-columns:1fr 1fr}.dfn-cols-3{grid-template-columns:repeat(3,1fr)}.dfn-cols-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:700px){.dfn-cols-4{grid-template-columns:repeat(4,1fr)}}
.dfn-col{min-width:0}

.dfn-text{text-align:center;margin:8px 0;overflow-wrap:anywhere}
.dfn-text p{margin:.25em 0}
.dfn-text strong{font-weight:700}
.dfn-text p:only-child strong:only-child{font-size:1.25em;line-height:1.3;letter-spacing:-.01em;display:inline-block}
.dfn-sz-large{font-size:1.15em}.dfn-sz-small{font-size:.95em}
.dfn-text h1,.dfn-text h2,.dfn-text h3{line-height:1.25;margin:.3em 0;letter-spacing:-.015em}
.dfn-text h1{font-size:1.6em}.dfn-text h2{font-size:1.35em}.dfn-text h3{font-size:1.15em}
.dfn-list{text-align:left;max-width:560px;margin-left:auto;margin-right:auto}
.dfn-checks>p{position:relative;padding-left:30px;margin:.55em 0}
.dfn-checks>p::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.dfn-list>p:empty{display:none}
.dfn-list ul,.dfn-text ul{padding-left:1.2em;margin:.4em 0}

.dfn-media{margin:12px auto;text-align:center}
.dfn-media img{margin:0 auto;border-radius:var(--r)}
.dfn-media.dfn-icon img{width:48px;height:48px;border-radius:0}
.dfn-media.dfn-sz-small img{max-width:180px}.dfn-media.dfn-sz-medium img{max-width:100%}
.dfn-hero{margin:0 -18px 12px}
.dfn-hero img{width:100%;max-height:340px;object-fit:cover}
@media (min-width:760px){.dfn-hero{margin:0 -36px 16px}}
.dfn-divider{border:0;height:1px;background:var(--line);margin:18px 0}

.dfn-video{position:relative;aspect-ratio:16/9;margin:14px 0;border-radius:var(--r);overflow:hidden;background:#000}
.dfn-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dfn-video-btn{position:absolute;inset:0;width:100%;border:0;cursor:pointer;background:#111 center/cover no-repeat;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.dfn-play{width:68px;height:48px;border-radius:12px;background:rgba(0,0,0,.72);position:relative;transition:transform .18s var(--ease),background .18s}
.dfn-play::after{content:"";position:absolute;left:28px;top:14px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff}
.dfn-video-btn:hover .dfn-play{background:#e00;transform:scale(1.05)}
.dfn-video-note{font-size:12px;color:#fff;background:rgba(0,0,0,.55);padding:3px 8px;border-radius:6px}

.dfn-btn{--btn:var(--b);appearance:none;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:440px;min-height:52px;margin:14px auto;padding:12px 20px;border:0;border-radius:12px;background:var(--btn);color:#fff;font:inherit;font-weight:700;font-size:17px;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 16px -6px var(--btn);transition:transform .14s var(--ease),filter .14s,box-shadow .14s}
.dfn-btn:hover{filter:brightness(1.07)}
.dfn-btn:active{transform:scale(.98)}
.dfn-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.dfn-btn:focus-visible,.dfn-ans:focus-visible,.dfn-field input:focus-visible,.dfn-field select:focus-visible,.dfn-field textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--b) 45%,transparent);outline-offset:2px}

.dfn-q,.dfn-qform{margin:14px 0}
.dfn-qtitle{text-align:center;margin:0 0 12px}
.dfn-qtitle p{margin:.2em 0}
.dfn-qtitle strong{font-size:1.2em;line-height:1.3}
.dfn-answers{display:grid;gap:12px}
.dfn-answers-media{grid-template-columns:1fr 1fr}
.dfn-answers-media.dfn-onecol{grid-template-columns:1fr}
@media (min-width:700px){.dfn-answers-media:not(.dfn-onecol){grid-template-columns:repeat(3,1fr)}}
.dfn-answers-text{grid-template-columns:1fr}
@media (min-width:600px){.dfn-answers-text{grid-template-columns:1fr 1fr}}
.dfn-ans{appearance:none;position:relative;border:2px solid transparent;background:#fff;border-radius:var(--r);padding:0;font:inherit;color:var(--fg);cursor:pointer;text-align:center;box-shadow:0 1px 2px rgba(16,24,40,.08),0 2px 10px rgba(16,24,40,.06);transition:transform .14s var(--ease),box-shadow .14s,border-color .14s;overflow:hidden;min-height:52px}
.dfn-ans:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(16,24,40,.1),0 8px 22px rgba(16,24,40,.1)}
.dfn-ans:active{transform:scale(.98)}
.dfn-ans.is-on{border-color:var(--b)}
.dfn-ans-media{display:flex;flex-direction:column}
.dfn-ans-img{display:block;aspect-ratio:4/3;background:var(--soft)}
.dfn-ans-img img{width:100%;height:100%;object-fit:cover}
.dfn-ans-media .dfn-ans-label{display:flex;align-items:center;justify-content:center;flex:1;padding:10px 8px;background:var(--b);color:#fff;font-weight:600;font-size:15px;line-height:1.3;min-height:48px}
.dfn-ans-text{display:flex;align-items:center;padding:12px 14px;text-align:left;border:1.5px solid var(--line);box-shadow:none}
.dfn-ans-text .dfn-ans-label{display:flex;align-items:center;gap:10px;font-weight:600}
.dfn-ans-text.is-on{border-color:var(--b);background:color-mix(in srgb,var(--b) 7%,#fff)}
.dfn-emo{font-size:1.35em;line-height:1}
.dfn-check{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--line)}
.dfn-ans-text .dfn-check{position:static;margin-left:auto;flex:none}
.dfn-ans.is-on .dfn-check{background:var(--b);border-color:var(--b)}
.dfn-ans.is-on .dfn-check::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.dfn-ans-text .dfn-check{position:relative}

.dfn-form{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto}
.dfn-field{display:flex;flex-direction:column;gap:6px;text-align:left}
.dfn-label{font-size:14px;font-weight:600;color:var(--fg);display:flex;align-items:center;gap:6px}
.dfn-ico{font-size:16px}
.dfn-req{color:#c0392b}
.dfn-field input:not([type=checkbox]),.dfn-field select,.dfn-field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--fg);font:inherit;font-size:16px;transition:border-color .14s}
.dfn-field textarea{min-height:110px;resize:vertical}
.dfn-field input:focus,.dfn-field select:focus,.dfn-field textarea:focus{border-color:var(--b);outline:none}
.dfn-field input[type=file]{padding:10px;border-style:dashed;background:var(--soft)}
.dfn-hint{font-size:13px;color:var(--muted)}
.dfn-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;line-height:1.4}
.dfn-consent input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--b)}
.dfn-chips{display:flex;flex-wrap:wrap;gap:8px}
.dfn-chip{position:relative;cursor:pointer}
.dfn-chip input{position:absolute;opacity:0;inset:0}
.dfn-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;font-size:15px;transition:background .14s,border-color .14s}
.dfn-chip input:checked+span{background:var(--b);border-color:var(--b);color:#fff}
.dfn-chip input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--b) 45%,transparent);outline-offset:2px}
.dfn-err{color:#b42318;font-size:14px;font-weight:600}
.dfn-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.dfn-sending{position:fixed;inset:0;z-index:50;background:rgba(255,255,255,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font-weight:600}
.dfn-spinner{width:38px;height:38px;border-radius:50%;border:4px solid color-mix(in srgb,var(--b) 25%,transparent);border-top-color:var(--b);animation:dfn-spin .8s linear infinite}
@keyframes dfn-spin{to{transform:rotate(360deg)}}
.dfn-fail{margin:18px 0;padding:16px;border-radius:var(--r);background:#fef3f2;color:#7a271a;text-align:center}

.dfn-footer{width:100%;max-width:720px;padding:18px;text-align:center;font-size:13px;color:var(--muted)}
.dfn-footer a{color:var(--muted)}
.dfn-noscript{max-width:560px;margin:40px auto;padding:20px;text-align:center}

.dfn-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:6px 0}
.dfn-badge{margin:0;width:96px;text-align:center;font-size:12px;color:var(--muted)}
.dfn-badge img{width:96px;height:96px;object-fit:contain;margin:0 auto 4px}
.dfn-hasbg .dfn-badge{color:#fff}
