/* Entwurf B – Leistungsseite Immobilienbewertung */
.b-ov{background:var(--m-bg)}
.b-ov__g{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
@media(max-width:1023px){.b-ov__g{grid-template-columns:1fr;gap:40px}}
.b-keys{display:grid;gap:14px}
.b-key{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px;align-items:start}
.b-key i{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(0,20,137,.65),rgba(77,111,255,.25));font:500 1.35rem/1 var(--m-serif);font-style:normal;color:#fff}
.b-key b{display:block;font:600 1.05rem/1.3 var(--m-sans);color:#fff}
.b-key span{display:block;margin-top:6px;font:400 14px/1.65 var(--m-sans);color:var(--m-txt)}

/* Verfahren */
.b-proc{background:#161619}
.b-sw{display:inline-flex;gap:4px;padding:5px;border-radius:999px;border:1px solid var(--m-line2);margin-top:40px;position:relative;flex-wrap:wrap}
.b-sw button{position:relative;z-index:1;padding:12px 20px;border-radius:999px;border:0;background:none;cursor:pointer;font:500 13.5px/1 var(--m-sans);color:rgba(255,255,255,.6);transition:color .3s}
.b-sw button[aria-selected="true"]{color:#111}
.b-sw__pill{position:absolute;z-index:0;top:5px;height:calc(100% - 10px);border-radius:999px;background:#fff;transition:transform .6s var(--m-ease),width .6s var(--m-ease)}
.b-stage{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;margin-top:44px;align-items:center}
@media(max-width:1023px){.b-stage{grid-template-columns:1fr;gap:32px}}
.b-pane{display:none}
.b-pane.on{display:block;animation:b-in .8s var(--m-ease) both}
@keyframes b-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.b-pane h3{font:600 clamp(1.8rem,3vw,2.6rem)/1.1 var(--m-serif);color:#fff}
.b-fit{margin-top:24px;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--m-line)}
.b-fit small{font:600 10.5px/1 var(--m-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--m-soft)}
.b-fit p{margin-top:8px;font:500 14.5px/1.5 var(--m-sans);color:#fff}
.b-viz{position:relative;border-radius:26px;border:1px solid var(--m-line);background:radial-gradient(120% 90% at 80% 0%,rgba(0,20,137,.35),transparent 60%),#0f0f13;padding:34px;min-height:360px;overflow:hidden}
.b-viz__t{font:600 10.5px/1 var(--m-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--m-mute)}
.b-eq{display:flex;align-items:stretch;gap:12px;margin-top:30px;flex-wrap:wrap}
.b-blk{flex:1 1 120px;border-radius:16px;padding:18px 16px;background:rgba(255,255,255,.05);border:1px solid var(--m-line2);font:500 13.5px/1.35 var(--m-sans);color:#fff;transform:translateY(16px);opacity:0;transition:transform .8s var(--m-ease),opacity .8s;transition-delay:var(--d,0s)}
.b-blk small{display:block;font:400 12px/1.4 var(--m-sans);color:var(--m-mute);margin-top:6px}
.b-blk.hi{background:linear-gradient(140deg,#001489,#3552e0);border-color:transparent}
.b-blk.hi small{color:rgba(255,255,255,.75)}
.b-op{align-self:center;font:400 1.6rem/1 var(--m-serif);color:var(--m-soft);opacity:0;transition:opacity .8s;transition-delay:var(--d,0s)}
.b-pane.on .b-blk,.b-pane.on .b-op{transform:none;opacity:1}
.b-bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin-top:28px}
.b-bars span{flex:1;border-radius:8px 8px 3px 3px;background:rgba(255,255,255,.12);height:0;transition:height 1.1s var(--m-ease);transition-delay:var(--d,0s)}
.b-bars span.me{background:linear-gradient(180deg,#4d6fff,#001489)}
.b-pane.on .b-bars span{height:var(--h)}
.b-cap{margin-top:16px;font:400 12.5px/1.5 var(--m-sans);color:var(--m-mute)}

/* Ablauf mit Fortschrittslinie */
.b-steps{background:var(--m-bg)}
.b-st{position:relative;margin-top:64px;padding-left:0}
.b-st__line{position:absolute;left:31px;top:8px;bottom:8px;width:1px;background:var(--m-line2)}
.b-st__line i{position:absolute;left:0;top:0;width:1px;height:calc(var(--sp,0)*100%);background:linear-gradient(180deg,#4d6fff,#001489);box-shadow:0 0 12px #4d6fff}
.b-s{position:relative;display:grid;grid-template-columns:64px 1fr 1fr;gap:36px;padding:0 0 64px}
.b-s:last-child{padding-bottom:0}
.b-s__n{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--m-bg);border:1px solid var(--m-line2);font:500 1.15rem/1 var(--m-serif);color:#fff;transition:background .6s,border-color .6s,box-shadow .6s;z-index:1}
.b-s.in .b-s__n{background:#001489;border-color:#4d6fff;box-shadow:0 0 0 8px rgba(0,20,137,.25)}
.b-s h3{font:600 1.6rem/1.2 var(--m-serif);color:#fff;margin-top:14px}
.b-s .m-p{margin-top:12px;max-width:30rem}
.b-s__img{border-radius:20px;overflow:hidden;aspect-ratio:16/10}
.b-s__img img{width:100%;height:100%;object-fit:cover}
.b-s__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.b-s__meta span{padding:7px 11px;border-radius:99px;border:1px solid var(--m-line);font:500 12px/1 var(--m-sans);color:var(--m-txt)}
@media(max-width:1023px){.b-s{grid-template-columns:64px 1fr;gap:22px}.b-s__img{grid-column:2}}

/* Anlässe – Aufklappkarten */
.b-occ{background:#161619}
.b-occ__g{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:52px;align-items:start}
@media(max-width:1100px){.b-occ__g{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.b-occ__g{grid-template-columns:1fr}}
.b-o{padding:28px;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}
.b-o i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.06);color:#c9d4f0}
.b-o i svg{width:20px;height:20px}
.b-o h3{font:600 1.25rem/1.25 var(--m-serif);color:#fff;margin-top:22px}
.b-o .b-o__x{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--m-ease)}
.b-o .b-o__x>div{overflow:hidden}
.b-o .b-o__x p{padding-top:14px;font:400 14px/1.7 var(--m-sans);color:var(--m-txt)}
.b-o[aria-expanded="true"] .b-o__x{grid-template-rows:1fr}
.b-o .b-o__more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:600 12.5px/1 var(--m-sans);color:#c9d4f0}
.b-o .b-o__more::after{content:"+";font-size:16px;transition:transform .4s var(--m-ease)}
.b-o[aria-expanded="true"] .b-o__more::after{transform:rotate(45deg)}

/* Unterlagen-Checkliste */
.b-docs{background:var(--m-bg)}
.b-docs__g{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
@media(max-width:1023px){.b-docs__g{grid-template-columns:1fr;gap:40px}}
.b-ring{position:relative;width:180px;height:180px;margin-top:36px}
.b-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.b-ring circle{fill:none;stroke-width:6}
.b-ring .bg{stroke:rgba(255,255,255,.08)}
.b-ring .fg{stroke:url(#bgrad);stroke-linecap:round;stroke-dasharray:502;stroke-dashoffset:502;transition:stroke-dashoffset .9s var(--m-ease)}
.b-ring b{position:absolute;inset:0;display:grid;place-items:center;font:500 2.6rem/1 var(--m-serif);color:#fff}
.b-chk{display:grid;gap:10px}
.b-chk label{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid var(--m-line);background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .3s,background .3s}
.b-chk label:hover{border-color:rgba(255,255,255,.18)}
.b-chk input{position:absolute;opacity:0;pointer-events:none}
.b-chk .bx{flex:none;width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:background .3s,border-color .3s}
.b-chk .bx svg{width:14px;height:14px;stroke:#fff;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .4s var(--m-ease)}
.b-chk input:checked+.bx{background:#001489;border-color:#4d6fff}
.b-chk input:checked+.bx svg{stroke-dashoffset:0}
.b-chk input:focus-visible+.bx{outline:2px solid #4d6fff;outline-offset:2px}
.b-chk b{display:block;font:600 14.5px/1.3 var(--m-sans);color:#fff}
.b-chk small{display:block;margin-top:3px;font:400 12.5px/1.45 var(--m-sans);color:var(--m-mute)}
.b-chk label:has(input:checked){border-color:rgba(77,111,255,.4);background:rgba(0,20,137,.14)}

/* Person + Start */
.b-me{background:#161619;overflow:hidden}
.b-me__g{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
@media(max-width:1023px){.b-me__g{grid-template-columns:1fr;gap:40px}}
.b-me__img{border-radius:26px;overflow:hidden;aspect-ratio:4/5}
.b-me__img img{width:100%;height:118%;object-fit:cover;object-position:50% 20%}
.b-start{background:linear-gradient(180deg,var(--m-bg),#0b0d1a)}
.b-start__box{border-radius:30px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(90% 120% at 0% 0%,rgba(0,20,137,.55),transparent 60%),rgba(255,255,255,.03);padding:clamp(28px,5vw,64px)}
.b-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
@media(max-width:800px){.b-pick{grid-template-columns:1fr 1fr}}
.b-pick button{padding:24px 18px;border-radius:18px;border:1px solid var(--m-line2);background:rgba(255,255,255,.03);cursor:pointer;text-align:left;font:600 15px/1.3 var(--m-sans);color:#fff;transition:all .35s var(--m-ease)}
.b-pick button span{display:block;margin-top:6px;font:400 12.5px/1.4 var(--m-sans);color:var(--m-mute)}
.b-pick button:hover{border-color:rgba(255,255,255,.35);transform:translateY(-3px)}
.b-pick button[aria-pressed="true"]{background:#fff;color:#111;border-color:#fff}
.b-pick button[aria-pressed="true"] span{color:#555}
.b-next{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px;opacity:.35;pointer-events:none;transition:opacity .4s}
.b-next.on{opacity:1;pointer-events:auto}
.b-next small{font:400 13px/1.5 var(--m-sans);color:var(--m-mute)}
@media(max-width:1023px){[data-g2]{grid-template-columns:1fr!important;gap:32px!important}}
.b-pick button{min-width:0;hyphens:auto;overflow-wrap:break-word}
@media(max-width:600px){.b-pick button{padding:18px 14px;font-size:14px}.b-sw button{padding:11px 14px;font-size:13px}}
.b-next{flex-direction:column;align-items:flex-start}
.b-next .d-in{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.b-next .d-in{grid-template-columns:1fr}}
.b-next .d-in input{width:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--m-line2);background:rgba(255,255,255,.04);color:#fff;font:400 15px/1.2 var(--m-sans)}
.b-next .d-in input:focus{outline:none;border-color:#4d6fff}
.b-next .d-done{display:none;padding:18px;border-radius:16px;background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.35);color:#dcfce7;font:400 14px/1.6 var(--m-sans)}
.b-next .d-done.on{display:block}
@media(max-width:600px){.b-sw button{padding:15px 16px}}
