/* Anfrage-Funnel (Nachbau Perspective) */
body.funnel{background:var(--sand);padding-bottom:0}
.f-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.f-header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px}
.f-header .logo img{height:50px;width:auto}
.f-phone{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font:800 1.05rem/1.1 var(--head)}
.f-phone>svg{width:40px;height:40px;padding:10px;border-radius:50%;background:var(--green);color:var(--navy)}
.f-phone small{display:block;font:500 .75rem var(--body);color:var(--muted)}
@media (max-width:480px){.f-phone span{display:none}.f-header .logo img{height:42px}}
.f-progress{height:5px;background:var(--sand-2)}
.f-progress__bar{height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--green-700));transition:width .6s var(--ease);border-radius:0 5px 5px 0}

.f-hero{padding:clamp(40px,7vw,90px) 0}
.f-hero__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,70px);align-items:center}
@media (max-width:900px){.f-hero__grid{grid-template-columns:1fr}.f-hero__img{order:-1}}
.f-hero h1{font-size:clamp(2.4rem,5.6vw,4.6rem)}
.f-hero__sub{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);font-size:1.12rem;margin-bottom:30px}
.f-hero__sub svg{width:24px;height:24px;color:var(--green-700)}
.f-hero__img img{border-radius:var(--radius-lg);box-shadow:var(--shadow);aspect-ratio:16/10;object-fit:cover;width:100%}
.f-cta{animation:nudge 3.2s var(--ease) infinite 2s}
@keyframes nudge{0%,86%,100%{transform:none}89%{transform:translateX(-4px) rotate(-1deg)}92%{transform:translateX(4px) rotate(1deg)}95%{transform:translateX(-2px)}}
.f-note{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
.f-note--dark{color:var(--navy)}
.f-sec{padding:clamp(60px,8vw,100px) 0}
.f-sec--green{background:var(--green)}
.f-sec--green .f-h2{color:#fff}
.f-sec--sand{background:var(--sand-2)}
.f-h2{text-align:center;margin-bottom:clamp(30px,4vw,50px)}
.f-h3{text-align:center;font-size:clamp(1.6rem,3vw,2.2rem);margin:60px 0 30px}
.f-center{text-align:center;margin-top:40px}
.f-leist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:800px){.f-leist{grid-template-columns:1fr 1fr}}
.f-leist li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:28px 16px;background:#fff;border-radius:var(--radius);font:750 1.1rem/1.25 var(--head);color:var(--navy);box-shadow:var(--shadow-sm);transition:transform .4s var(--ease)}
.f-leist li:hover{transform:translateY(-5px)}
.f-leist li span{width:62px;height:62px;border-radius:18px;background:var(--navy-50);color:var(--green-700);display:grid;place-items:center}
.f-leist li svg{width:32px;height:32px}
.f-sec--green .btn{--bg:var(--navy);--fg:#fff}
.f-about{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.f-about__video{max-width:360px;justify-self:center;width:100%}
@media (max-width:860px){.f-about{grid-template-columns:1fr}}
.f-videos{grid-template-columns:repeat(2,1fr)}
@media (max-width:640px){.f-videos{grid-template-columns:1fr}}

/* Fragen */
.f-quiz{min-height:calc(100vh - 79px)}
.f-step{animation:stepIn .6s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.f-step--split{display:grid;grid-template-columns:45% 1fr;min-height:calc(100vh - 79px)}
.f-step__img{position:relative;overflow:hidden}
.f-step__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 12s var(--ease) forwards;transform:scale(1.1)}
.f-step__body{padding:clamp(30px,6vw,80px) clamp(20px,5vw,70px);display:flex;flex-direction:column;justify-content:center;max-width:720px}
.f-step__body--wide{max-width:900px;margin:0 auto;min-height:calc(100vh - 79px)}
@media (max-width:900px){.f-step--split{grid-template-columns:1fr;min-height:0}.f-step__img{height:200px}.f-step__body{padding-top:30px}}
.f-count{font:800 .85rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--green-700);margin-bottom:14px}
.f-count--ok{font-size:1rem;letter-spacing:.02em;text-transform:none}
.f-step h2{font-size:clamp(1.7rem,3.4vw,2.6rem);outline:none}
.f-step h2 span{display:block;font:500 1rem var(--body);color:var(--muted);letter-spacing:0;margin-top:8px}
.f-sub{font-size:1.1rem;color:var(--navy)}
.opts{display:grid;gap:14px;margin-top:18px}
.opts--2{grid-template-columns:1fr 1fr}
.opts--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:700px){.opts--3{grid-template-columns:1fr 1fr}}
@media (max-width:400px){.opts--2,.opts--3{grid-template-columns:1fr}}
.opt{position:relative;cursor:pointer;display:block}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt__box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:150px;padding:22px 14px;background:#fff;border-radius:var(--radius);box-shadow:0 0 0 2px transparent,var(--shadow-sm);text-align:center;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.opt:hover .opt__box{transform:translateY(-4px);box-shadow:0 0 0 2px var(--green),var(--shadow)}
.opt input:focus-visible+.opt__box{outline:3px solid var(--navy);outline-offset:3px}
.opt input:checked+.opt__box{background:var(--navy);box-shadow:0 0 0 2px var(--navy),var(--shadow);transform:scale(.98)}
.opt__ic{width:64px;height:64px;border-radius:20px;background:var(--navy-50);color:var(--green-700);display:grid;place-items:center;transition:background .3s,color .3s}
.opt__ic svg{width:34px;height:34px}
.opt input:checked+.opt__box .opt__ic{background:var(--green);color:var(--navy)}
.opt__t{font:750 1.08rem/1.25 var(--head);color:var(--navy)}
.opt input:checked+.opt__box .opt__t{color:#fff}
.opt__tick{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:50%;background:var(--green);color:var(--navy);display:grid;place-items:center;transform:scale(0);transition:transform .35s var(--ease)}
.opt__tick svg{width:16px;height:16px}
.opt input:checked+.opt__box .opt__tick{transform:scale(1)}
.f-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}
.f-nav .btn{margin-left:auto}
.f-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;background:none;border:0;font:600 1rem var(--body);color:var(--muted);cursor:pointer}
.f-back:hover{color:var(--navy)}
.f-back svg{width:18px;height:18px}
.f-err{color:#b3261e;font-weight:600;margin:14px 0 0}
.f-err a{color:inherit}
.fields{display:grid;gap:12px;margin-top:10px}
.field{position:relative}
.field input,.field textarea{width:100%;min-height:60px;padding:24px 16px 8px 48px;border-radius:14px;border:2px solid transparent;background:#fff;font:500 1rem var(--body);color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}
.field textarea{padding-top:30px;resize:vertical;min-height:150px}
.field label{position:absolute;left:16px;top:19px;display:flex;align-items:center;gap:12px;color:var(--muted);pointer-events:none;transition:transform .25s var(--ease),font-size .25s,top .25s}
.field label svg{width:18px;height:18px;color:var(--green-700)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:7px;font-size:.78rem}
.field input:focus+label svg,.field input:not(:placeholder-shown)+label svg,.field textarea:focus+label svg,.field textarea:not(:placeholder-shown)+label svg{width:14px;height:14px}
.field.bad input,.field.bad textarea{border-color:#b3261e}
.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border-radius:14px;cursor:pointer;font-size:.95rem;color:var(--navy);box-shadow:var(--shadow-sm)}
.consent input{width:22px;height:22px;accent-color:var(--navy);flex:none;margin:1px 0 0}
.consent.bad{box-shadow:0 0 0 2px #b3261e}
.f-sign{display:flex;align-items:center;gap:12px;margin:4px 0 20px}
.f-sign img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--green)}
.f-sign b{display:block;color:var(--navy);font-family:var(--head)}
.f-sign small{color:var(--muted)}
.f-lock{display:flex;gap:10px;align-items:center;font-size:.92rem;color:var(--muted);margin-top:18px}
.f-lock svg{width:18px;height:18px;flex:none}
.f-submit[disabled]{opacity:.6;pointer-events:none}
.f-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Danke */
.f-done{padding:clamp(40px,7vw,90px) 0}
.f-done__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
@media (max-width:860px){.f-done__grid{grid-template-columns:1fr}}
.f-done__check{width:78px;height:78px;border-radius:50%;background:var(--green);color:var(--navy);display:grid;place-items:center;margin-bottom:22px;animation:pop .7s var(--ease)}
.f-done__check svg{width:40px;height:40px;stroke-dasharray:30;stroke-dashoffset:30;animation:draw .6s .35s var(--ease) forwards}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes draw{to{stroke-dashoffset:0}}
.f-done__kontakt{display:grid;gap:6px;max-width:420px;margin-top:20px}
.f-done__kontakt small{color:var(--muted)}
.f-done__kontakt b{font:800 1.3rem var(--head);color:var(--navy)}
.f-done__kontakt a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:600}
.f-done__kontakt svg{width:18px;height:18px;color:var(--green-700)}
.f-done__img img{border-radius:var(--radius-lg);box-shadow:var(--shadow);aspect-ratio:16/10;object-fit:cover;width:100%}
.f-next{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;counter-reset:n}
@media (max-width:700px){.f-next{grid-template-columns:1fr}}
.f-next li{display:flex;gap:16px;align-items:flex-start;padding:26px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.f-next li span{flex:none;width:52px;height:52px;border-radius:16px;background:var(--navy);color:var(--green);display:grid;place-items:center}
.f-next li svg{width:26px;height:26px}
.f-next p{margin:0;color:var(--navy)}
.f-footer{background:var(--navy-900);color:#b9c0d4;padding:30px 0;font-size:.92rem}
.f-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.f-footer p{margin:0}
.f-footer nav{display:flex;gap:20px}
.f-footer a{color:#fff;text-decoration:none}
.f-footer a:hover{color:var(--green)}
.quiz-on .f-footer{display:none}
