/* ───────── Dein Himmel: Wo die Systeme sich einig sind ─────────
   Außen zehn Systeme, innen zehn Themen, dazwischen die Linien des Abgleichs (SVG, viewBox 0–100).
   Größen im Kreis über Container-Einheiten (cqw), damit Handy und Desktop dieselbe Figur zeigen. */
.conv{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"stage form" "stage steps" "stage res";grid-template-rows:auto auto 1fr;gap:30px clamp(28px,4vw,64px);align-items:start}
.conv-left{grid-area:stage;position:sticky;top:90px}
.conv-stage{position:relative;width:100%;max-width:620px;aspect-ratio:1;margin-inline:auto;container-type:inline-size}
.conv-stage::before{content:"";position:absolute;inset:4%;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(var(--lav-rgb),.11),rgba(var(--lav-rgb),.04) 62%,transparent)}
.conv-hint{max-width:560px;margin:14px auto 0;min-height:4.8em;font-size:13.5px;line-height:1.6;color:var(--mute);text-align:center}
.conv-hint b{color:var(--ink);font-weight:400}
.conv-form{grid-area:form;justify-content:flex-start;margin:0}
.conv-steps{grid-area:steps}
.conv-res{grid-area:res;display:grid;gap:14px}

/* Linien */
.cv-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cv-ring{fill:none;stroke:rgba(var(--gold-rgb),.16);stroke-width:.18}
.cv-ring.in{stroke:rgba(var(--lav-rgb),.22);stroke-dasharray:.5 1.1}
#convLines line{stroke:rgba(var(--lav-rgb),.6);stroke-width:.28;stroke-linecap:round;transition:stroke-dashoffset .75s var(--ease),opacity .7s,stroke .7s}
.filtered #convLines line.conf{stroke:rgba(var(--gold-rgb),.9);stroke-width:.34}
.filtered #convLines line:not(.conf){opacity:.08}

/* Systeme (außen) */
.cv-sys{position:absolute;translate:-50% -50%;z-index:2;width:clamp(72px,21cqw,128px);padding:.6em .45em .65em;border-radius:14px;text-align:center;line-height:1.25;cursor:default;
  background:rgba(var(--bg-rgb),.9);border:1px solid rgba(var(--gold-rgb),.16);transition:border-color .5s,box-shadow .5s,opacity .45s}
.cv-sys small{display:block;font-size:clamp(7px,1.6cqw,9.5px);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.8}
.cv-sys b{display:block;margin-top:.3em;hyphens:auto;-webkit-hyphens:auto;font-weight:300;font-size:clamp(10px,2.25cqw,14px);letter-spacing:.02em;color:rgba(var(--lav-rgb),.7)}
.cv-sys.on{border-color:rgba(var(--gold-rgb),.45);box-shadow:0 0 26px -10px rgba(var(--gold-rgb),.55);animation:cvPop .6s var(--ease)}
.cv-sys.on b{color:var(--ink)}
.cv-sys.approx::after{content:"≈";position:absolute;right:.55em;top:.3em;font-size:clamp(9px,1.9cqw,12px);color:var(--lav-hi)}
@keyframes cvPop{from{scale:.86}}

/* Themen (innen) */
.cv-th{position:absolute;translate:-50% -50%;z-index:3;display:grid;justify-items:center;cursor:default}
.cv-th i{display:grid;place-items:center;width:clamp(20px,4.8cqw,30px);aspect-ratio:1;border-radius:50%;font-style:normal;
  background:rgba(var(--bg-rgb),.95);border:1px solid rgba(var(--lav-rgb),.45);transition:scale .6s var(--ease),background .6s,border-color .6s,box-shadow .6s}
.cv-th i b{font-weight:400;font-size:clamp(8.5px,1.9cqw,12px);color:var(--lav-hi)}
.cv-th{--lg:.4em}
.cv-th span{position:absolute;top:100%;margin-top:var(--lg);padding:.1em .35em;border-radius:4px;background:rgba(var(--bg-rgb),.72);white-space:nowrap;font-size:clamp(7.5px,1.75cqw,10.5px);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);transition:color .6s,opacity .6s}
.cv-th.lb-r span,.cv-th.lb-l span{top:50%;margin:0;translate:0 -50%}
.cv-th.lb-r span{left:100%;margin-left:var(--lg)}
.cv-th.lb-l span{right:100%;margin-right:var(--lg)}
.cv-th.on i{border-color:rgba(var(--lav-rgb),.9)}
.cv-th.conf i{scale:1.4;background:radial-gradient(circle at 40% 35%,#fff4de,var(--gold) 58%,var(--gold-d));border-color:transparent;box-shadow:0 0 20px 4px rgba(var(--gold-rgb),.45)}
.cv-th.conf i b{color:#1a1440;font-weight:500}
.cv-th.conf{--lg:.8em}
.cv-th.conf span{color:var(--gold);font-weight:400}
.filtered .cv-th:not(.conf){opacity:.42}

/* Mitte */
.cv-core{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;width:28cqw;height:28cqw;overflow:hidden;border-radius:50%;display:grid;place-content:center;gap:.2em;text-align:center;padding:0 .7em;
  background:radial-gradient(circle,rgba(21,19,79,.96),rgba(var(--bg-rgb),.94) 72%);border:1px solid rgba(var(--gold-rgb),.26);box-shadow:0 0 60px -12px rgba(var(--lav-rgb),.4)}
.cv-core small{font-size:clamp(6.5px,1.45cqw,9px);letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.cv-core b{font-family:var(--serif);font-weight:400;font-size:clamp(11px,3.2cqw,20px);line-height:1.1;color:var(--ink)}
.cv-core span{font-size:clamp(7px,1.6cqw,10.5px);line-height:1.3;color:var(--mute)}

/* Hervorheben beim Darüberfahren */
.conv-stage.hl .cv-sys:not(.hot),.conv-stage.hl .cv-th:not(.hot){opacity:.28}
.conv-stage.hl #convLines line:not(.hot){opacity:.04}
.conv-stage.hl #convLines line.hot{opacity:1;stroke:rgba(var(--gold-rgb),.95)}
.cv-sys.hot{border-color:var(--gold);box-shadow:0 0 28px -6px rgba(var(--gold-rgb),.6)}
.conv-stage.hl .cv-th.hot span{color:var(--gold)}

/* Schritte */
.conv-steps{display:grid;gap:14px}
.conv-steps li{display:grid;grid-template-columns:36px 1fr;gap:2px 16px;align-items:start;transition:opacity .5s}
.conv-steps li b{grid-row:span 2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-weight:300;color:var(--gold);transition:background .5s,color .5s,box-shadow .5s}
.conv-steps li strong{font-weight:400;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);padding-top:3px}
.conv-steps li span{font-size:14px;line-height:1.6;color:var(--mute)}
.conv.live .conv-steps li:not(.on):not(.done){opacity:.38}
.conv-steps li.on b{background:var(--gold);color:#1a1440;border-color:transparent;box-shadow:0 0 18px 2px rgba(var(--gold-rgb),.4)}
.conv-steps li.done b{border-color:rgba(var(--gold-rgb),.6)}

/* Ergebnis */
.cv-res-head{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.conv-card{position:relative;padding:20px 22px 18px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(21,19,79,.78),rgba(var(--bg-rgb),.72));
  animation:cvRise .8s var(--ease) backwards;animation-delay:var(--d,0s);transition:border-color .4s;outline:0}
.conv-card:hover,.conv-card:focus-visible{border-color:var(--gold)}
.cv-badge{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.cv-badge span{color:var(--gold)}
.conv-card h3{font-weight:300;font-size:clamp(20px,2vw,24px);letter-spacing:.03em;margin:6px 0}
.conv-card p{font-size:14.5px;line-height:1.65;color:#d4d1f0}
.conv-card .cv-by{margin-top:10px;font-size:12px;line-height:1.6;color:var(--mute)}
.conv-card p.cv-badge{font-size:10px;color:var(--mute)}
.cv-drop,.cv-extra{font-size:13px;line-height:1.6;color:var(--mute)}
.cv-drop b{color:var(--lav-hi);font-weight:400}
.cv-cta{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;margin-top:8px;padding-top:16px;border-top:1px solid rgba(var(--gold-rgb),.14)}
.cv-cta p{flex:1 1 230px;font-family:var(--serif);font-size:18px;line-height:1.45;color:#d9d6f3}
@keyframes cvRise{from{opacity:0;translate:0 14px}}

@media (max-width:900px){
  .conv{grid-template-columns:1fr;grid-template-areas:"form" "stage" "steps" "res";grid-template-rows:none}
  .conv-left{position:relative;top:auto}
  .conv-form{justify-content:center}
}
@media (max-width:560px){
  .cv-th:not(.conf) span{opacity:0}
  .cv-sys small{letter-spacing:.1em}
  .cv-sys{padding:.5em .3em .55em}
  .conv-hint{min-height:6.4em}
}
