/* FuxKi – site.css */
/* Schrift: Poppins (SIL Open Font License), selbst gehostet, keine Verbindung zu Google */
@font-face{ font-family:"Poppins"; src:url("/fonts/poppins-400.woff") format("woff"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Poppins"; src:url("/fonts/poppins-500.woff") format("woff"); font-weight:500 600; font-style:normal; font-display:swap; }
@font-face{ font-family:"Poppins"; src:url("/fonts/poppins-700.woff") format("woff"); font-weight:700 900; font-style:normal; font-display:swap; }

:root{
  --deep:#050605; --black:#111312; --gold:#C8B9A2; --gold-deep:#B8A382; --bronze:#7F776B;
  --off:#F2F2F0; --gray:#979694; --text2:#C9C9C6; --text3:#D6D6D3;
  --line:rgba(200,185,162,.16); --line-soft:rgba(242,242,240,.08);
  --surface:#0B0D0C; --raised:#161917;
  --radius-l:22px; --radius-m:14px; --radius-s:8px;
  --maxw:1180px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --deep:#050605; } }
:root[data-theme="dark"]{ --deep:#050605; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px); background:var(--deep); }
*,*::before,*::after{ box-sizing:inherit; }
body{
  margin:0; background:var(--deep); color:var(--off);
  font-family:"Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
img,svg{ max-width:100%; height:auto; }
a{ color:inherit; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:6px; }
.skip{ position:absolute; left:-9999px; top:8px; z-index:100; background:var(--gold); color:var(--deep); padding:10px 16px; border-radius:8px; }
.skip:focus{ left:16px; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.num{ font-variant-numeric:tabular-nums; }
.muted{ color:var(--gray); }
h1,h2,h3{ line-height:1.1; letter-spacing:-.015em; margin:0; font-weight:700; }
h2{ font-size:clamp(2rem,4.2vw,3.25rem); max-width:18ch; }
h3{ font-size:1.25rem; letter-spacing:-.01em; line-height:1.25; }
p{ margin:0; }
.lead{ font-size:1.15rem; color:var(--text2); max-width:58ch; }
.mt-s{ margin-top:14px; } .mt-m{ margin-top:22px; } .mt-l{ margin-top:40px; }
section{ padding:120px 0; border-top:1px solid var(--line-soft); }
.kicker{ color:var(--gold); font-weight:600; font-size:.95rem; margin-bottom:18px; display:block; }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 26px; border-radius:999px; font:inherit; font-weight:600; font-size:1rem;
  text-decoration:none; cursor:pointer; border:1px solid transparent; transition:background .2s, color .2s, border-color .2s;
  text-align:center; line-height:1.25;
}
@media (max-width:520px){ .cta-row .btn,.callout .btn,.websys .btn{ width:100%; padding:12px 20px; } }
.btn-primary{ background:var(--gold); color:var(--deep); }
.btn-primary:hover{ background:var(--off); }
.btn-ghost{ border-color:var(--line); color:var(--off); background:transparent; }
.btn-ghost:hover{ border-color:var(--gold); }
.btn[disabled]{ opacity:.6; cursor:wait; }
.cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:38px; }

/* Nav */
.nav{
  position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
  background:rgba(5,6,5,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:72px; gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.brand .fox{ width:28px; height:32px; }
.brand .word{ width:100px; height:20px; }
.nav ul{ display:flex; gap:22px; list-style:none; margin:0; padding:0; font-size:.95rem; }
.nav ul a{ text-decoration:none; color:var(--text2); }
.nav ul a:hover,.nav ul a[aria-current="page"]{ color:var(--off); }
.nav .btn{ min-height:42px; padding:0 18px; font-size:.92rem; }
.menu{ display:none; position:relative; }
.menu summary{ list-style:none; cursor:pointer; min-height:42px; padding:0 14px; border:1px solid var(--line); border-radius:999px; display:flex; align-items:center; font-weight:600; font-size:.92rem; }
.menu summary::-webkit-details-marker{ display:none; }
.menu[open] .menu-panel{ display:grid; }
.menu-panel{ display:none; position:absolute; right:0; top:52px; min-width:240px; background:var(--black); border:1px solid var(--line); border-radius:var(--radius-m); padding:10px; gap:2px; }
.menu-panel a{ text-decoration:none; padding:12px 14px; border-radius:var(--radius-s); }
.menu-panel a:hover{ background:var(--raised); }
.menu-panel .btn{ margin-top:8px; }
@media (max-width:1140px){ .nav ul{ display:none; } .nav .nav-cta{ display:none; } .menu{ display:block; } }
@media (max-width:420px){ .brand .word{ width:90px; height:18px; } }

/* Breadcrumb + article pages */
.crumbs{ font-size:.88rem; color:var(--gray); padding-top:32px; }
.crumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; }
.crumbs li+li::before{ content:"/"; margin-right:8px; color:var(--bronze); }
.crumbs a{ text-decoration:none; }
.crumbs a:hover{ color:var(--off); }
.page-head{ padding:48px 0 72px; border-top:0; }
.page-head h1{ font-size:clamp(2.3rem,5vw,4rem); font-weight:800; letter-spacing:-.02em; max-width:20ch; }
.page-head .lead{ margin-top:22px; }
.meta{ margin-top:22px; font-size:.9rem; color:var(--gray); }
.prose{ max-width:72ch; }
.prose h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:64px 0 18px; max-width:none; }
.prose h3{ margin:36px 0 10px; }
.prose p,.prose ul,.prose ol{ color:var(--text3); margin:0 0 16px; }
.prose ul,.prose ol{ padding-left:1.2em; }
.prose li{ margin-bottom:8px; }
.prose a{ color:var(--gold); }
.prose strong{ color:var(--off); }
.answer-box{ border-left:3px solid var(--gold); padding:18px 22px; background:var(--black); border-radius:0 var(--radius-m) var(--radius-m) 0; margin:0 0 28px; }
.answer-box p{ margin:0; color:var(--off); }
.formula{ background:var(--black); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:16px 20px; margin:0 0 16px; font-size:.98rem; color:var(--off); }
.table-wrap{ overflow-x:auto; margin:0 0 24px; border:1px solid var(--line-soft); border-radius:var(--radius-m); }
table{ border-collapse:collapse; width:100%; min-width:520px; font-size:.95rem; }
th,td{ text-align:left; padding:14px 16px; border-bottom:1px solid var(--line-soft); vertical-align:top; }
th{ color:var(--gray); font-weight:600; background:var(--surface); }
tr:last-child td{ border-bottom:0; }
td.n{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.toc{ background:var(--black); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:20px 24px; margin-bottom:48px; }
.toc ol{ margin:10px 0 0; padding-left:1.2em; color:var(--text2); }
.toc a{ text-decoration:none; }
.toc a:hover{ color:var(--gold); }
.layout-2{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:start; }
.aside-card{ position:sticky; top:100px; background:var(--black); border:1px solid var(--line); border-radius:var(--radius-l); padding:26px; }
.aside-card p{ color:var(--text2); font-size:.95rem; margin:10px 0 18px; }
.aside-card .btn{ width:100%; }
@media (max-width:980px){ .layout-2{ grid-template-columns:minmax(0,1fr); } .aside-card{ position:static; } }

/* Hero */
.hero{ padding:88px 0 110px; border-top:0; }
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.hero h1{ font-size:clamp(2.5rem,5.6vw,4.6rem); font-weight:800; letter-spacing:-.02em; max-width:15ch; }
.hero .lead{ margin-top:26px; }
.reassure{ margin-top:18px; font-size:.92rem; color:var(--gray); }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; gap:56px; } }

/* Hero-Chat: das eine orchestrierte Animationsmoment der Seite */
.chat{ margin:0; background:var(--black); border:1px solid var(--line); border-radius:var(--radius-l); box-shadow:0 40px 80px -40px rgba(0,0,0,.9); overflow:hidden; }
.chat-head{ display:flex; align-items:center; gap:12px; min-height:56px; padding:10px 22px; border-bottom:1px solid var(--line-soft); font-size:.88rem; }
.chat-title{ flex-shrink:0; white-space:nowrap; display:flex; align-items:center; gap:10px; font-weight:600; color:var(--off); }
.chat-title i{ width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,185,162,.12); }
.chat-tag{ color:var(--gray); transition:opacity .3s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1; }
.chat-pause{ margin-left:auto; white-space:nowrap; flex-shrink:0; background:none; border:1px solid var(--line-soft); color:var(--gray); font:inherit; font-size:.8rem; padding:5px 12px; border-radius:999px; cursor:pointer; }
.chat-pause:hover{ color:var(--off); border-color:var(--line); }
.chat-body{ padding:22px; display:flex; flex-direction:column; gap:18px; transition:opacity .45s ease; min-height:540px; }
@media (max-width:980px){ .chat-body{ min-height:470px; } }
@media (max-width:520px){ .chat-body{ min-height:540px; } }
@media (max-width:430px){ .chat-body{ min-height:600px; } }
@media (max-width:390px){ .chat-body{ min-height:650px; } }
@media (max-width:360px){ .chat-body{ min-height:705px; } }
.chat-body.fade{ opacity:0; }
.msg-user{ align-self:flex-end; max-width:86%; background:var(--raised); border-radius:18px 18px 4px 18px; padding:13px 17px; font-size:.97rem; animation:msgIn .35s ease both; }
.msg-ai{ font-size:.96rem; color:var(--text3); }
.msg-ai p{ margin:0; }
.msg-ai ol{ list-style:none; padding:0; margin:14px 0 0; display:grid; gap:9px; }
.msg-ai li{ display:grid; grid-template-columns:24px 1fr; gap:10px; align-items:start; padding:11px 14px; border-radius:var(--radius-m); background:rgba(242,242,240,.03); animation:msgIn .3s ease both; }
.msg-ai li .pos{ color:var(--gray); font-weight:600; }
.msg-ai li strong{ color:var(--off); font-weight:600; display:block; }
.msg-ai li small{ color:var(--gray); font-size:.86rem; display:block; min-height:1.3em; }
.missing{ margin-top:14px; border:1px dashed var(--gold-deep); border-radius:var(--radius-m); padding:13px 16px; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; opacity:0; transform:translateY(4px); transition:opacity .5s ease, transform .5s ease, background .8s ease; }
.missing.in{ opacity:1; transform:none; }
.missing.flash{ background:rgba(200,185,162,.10); }
.missing span{ color:var(--gold); font-weight:600; }
.missing em{ font-style:normal; color:var(--gray); font-size:.88rem; }
.thinking{ display:flex; gap:5px; padding:6px 0; }
.thinking i{ width:7px; height:7px; border-radius:50%; background:var(--gray); animation:think 1.1s infinite ease-in-out; }
.thinking i:nth-child(2){ animation-delay:.15s; } .thinking i:nth-child(3){ animation-delay:.3s; }
.stream-dot{ display:inline-block; width:9px; height:9px; margin-left:4px; margin-right:-13px; border-radius:50%; background:var(--off); vertical-align:middle; animation:pulse 1s infinite ease-in-out; }
.chat-input{ display:flex; align-items:center; gap:10px; margin:0 16px; padding:8px 8px 8px 18px; border:1px solid rgba(242,242,240,.14); border-radius:999px; background:var(--deep); }
.chat-field{ flex:1; min-width:0; min-height:24px; font-size:.95rem; color:var(--off); white-space:nowrap; overflow:hidden; }
.chat-empty{ margin:auto; color:var(--gray); font-size:1.15rem; font-weight:600; letter-spacing:-.01em; animation:msgIn .4s ease both; }
.chat-field .ph{ color:var(--bronze); }
.caret{ display:inline-block; width:2px; height:1.05em; margin-left:1px; background:var(--gold); vertical-align:-2px; animation:blink 1s steps(1) infinite; }
.chat-send{ flex-shrink:0; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:rgba(242,242,240,.1); color:var(--gray); transition:background .2s, color .2s, transform .15s; }
.chat-send.ready{ background:var(--gold); color:var(--deep); }
.chat-send.press{ transform:scale(.88); }
.chat .mock-note{ margin:12px 22px 16px; font-size:.78rem; color:var(--bronze); }
@keyframes msgIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@keyframes think{ 0%,80%,100%{ opacity:.3; transform:translateY(0); } 40%{ opacity:1; transform:translateY(-3px); } }
@keyframes pulse{ 0%,100%{ opacity:.35; transform:scale(.85); } 50%{ opacity:1; transform:scale(1); } }
@keyframes blink{ 50%{ opacity:0; } }
@media (max-width:520px){ .chat-body{ padding:18px 16px; } .chat-head{ padding:10px 16px; } .chat-input{ margin:0 12px; } .chat .mock-note{ margin:12px 16px 14px; } }

/* Readiness check */
.check{ background:linear-gradient(180deg, var(--deep), #090A09); }
.check-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start; }
@media (max-width:980px){ .check-grid{ grid-template-columns:1fr; gap:40px; } }
.panel{ background:var(--black); border:1px solid var(--line); border-radius:var(--radius-l); padding:34px; }
@media (max-width:520px){ .panel{ padding:22px; } }
.progress{ height:3px; background:var(--line-soft); border-radius:3px; margin-bottom:28px; overflow:hidden; }
.progress i{ display:block; height:100%; width:0; background:var(--gold); transition:width .35s ease; }
.step{ display:none; }
.step.active{ display:block; }
.noscript-note{ color:var(--text2); }
.field{ display:grid; gap:8px; margin-bottom:18px; }
.field label{ font-weight:600; font-size:.95rem; }
.field input,.field select{ width:100%; min-height:52px; padding:0 16px; border-radius:var(--radius-s); background:var(--deep); color:var(--off); border:1px solid rgba(242,242,240,.14); font:inherit; }
.field input:focus,.field select:focus{ border-color:var(--gold); outline:none; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.error{ color:#E6A897; font-size:.9rem; min-height:1.3em; margin-top:-6px; margin-bottom:10px; }
.qtitle{ font-size:1.35rem; font-weight:600; letter-spacing:-.01em; line-height:1.3; margin-bottom:8px; }
.qtitle:focus{ outline:none; }
.qmeta{ color:var(--gray); font-size:.9rem; margin-bottom:24px; }
.choices{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (max-width:420px){ .choices{ grid-template-columns:1fr; } }
.choice{ min-height:56px; border-radius:var(--radius-s); border:1px solid rgba(242,242,240,.14); background:var(--deep); color:var(--off); font:inherit; font-weight:600; cursor:pointer; }
.choice:hover{ border-color:var(--gold); }
.back{ background:none; border:0; color:var(--gray); font:inherit; cursor:pointer; margin-top:20px; padding:8px 0; }
.back:hover{ color:var(--off); }
.score-top{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
.score-big{ font-size:clamp(4rem,10vw,6rem); font-weight:800; letter-spacing:-.05em; line-height:1; }
.score-of{ color:var(--gray); font-size:1.4rem; }
.subs{ display:grid; gap:14px; margin:28px 0; }
.sub{ display:grid; grid-template-columns:1fr auto; gap:6px 14px; font-size:.95rem; }
.bar{ grid-column:1/-1; height:6px; background:var(--line-soft); border-radius:6px; overflow:hidden; }
.bar i{ display:block; height:100%; background:var(--gold-deep); border-radius:6px; width:0; transition:width .8s ease; }
.potentials ul{ padding:0; margin:8px 0 0; display:grid; gap:10px; }
.potentials li{ list-style:none; padding:14px 16px; border-radius:var(--radius-m); background:rgba(242,242,240,.035); font-size:.95rem; }
.potentials b{ display:block; margin-bottom:2px; }
.locked{ margin-top:34px; border-top:1px solid var(--line); padding-top:30px; }
.locked h3{ font-size:1.5rem; max-width:22ch; }
.locked-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; }
@media (max-width:560px){ .locked-grid{ grid-template-columns:repeat(2,1fr); } }
.lk{ padding:16px; border-radius:var(--radius-m); background:var(--deep); border:1px solid var(--line-soft); }
.lk small{ display:block; color:var(--gray); font-size:.8rem; line-height:1.3; }
.lk span{ display:block; font-size:1.6rem; font-weight:700; color:var(--bronze); margin-top:6px; }
.lead-form{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; position:relative; }
.lead-form .field{ margin:0; }
.lead-form .full{ grid-column:1/-1; }
@media (max-width:560px){ .lead-form{ grid-template-columns:1fr; } }
.consent{ font-size:.8rem; color:var(--gray); }
.done{ display:none; padding:20px; border-radius:var(--radius-m); background:rgba(200,185,162,.08); border:1px solid var(--line); }
.done.show{ display:block; }

/* Compare */
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:56px; }
@media (max-width:820px){ .compare{ grid-template-columns:1fr; } }
.cmp{ border-radius:var(--radius-l); padding:30px; border:1px solid var(--line-soft); background:var(--surface); }
.cmp.ki{ border-color:var(--line); background:var(--black); }
.cmp h3{ margin-bottom:18px; }
.searchbox{ border-radius:999px; border:1px solid rgba(242,242,240,.14); padding:12px 20px; font-size:.98rem; }
.cmp.ki .searchbox{ border-radius:16px; }
.cmp p.res{ margin-top:18px; color:var(--gray); font-size:.95rem; }
.statement{ margin-top:48px; font-size:clamp(1.3rem,2.4vw,1.75rem); font-weight:600; letter-spacing:-.015em; max-width:34ch; line-height:1.3; }

/* Marktmessung */
.bm-head{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; }
@media (max-width:900px){ .bm-head{ grid-template-columns:1fr; gap:24px; } }
.facts{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:64px; border-top:1px solid var(--line); }
.fact{ padding:28px 24px 0 0; }
.fact b{ display:block; font-size:clamp(2.4rem,4.5vw,3.5rem); font-weight:800; letter-spacing:-.04em; line-height:1; color:var(--gold); }
.fact span{ display:block; margin-top:10px; color:var(--text2); font-size:.95rem; max-width:22ch; }
@media (max-width:720px){ .facts{ grid-template-columns:1fr 1fr; row-gap:28px; } }
.market{ margin-top:80px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
@media (max-width:900px){ .market{ grid-template-columns:1fr; gap:32px; } }
.scale{ display:grid; gap:10px; }
.scale-row{ display:grid; grid-template-columns:64px 1fr; gap:16px; align-items:center; padding:16px 18px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line-soft); }
.scale-row b{ font-size:1.5rem; letter-spacing:-.02em; color:var(--gold); font-variant-numeric:tabular-nums; }
.scale-row b.zero{ color:var(--bronze); }
.scale-row small{ display:block; color:var(--gray); font-size:.86rem; }
.intents{ margin-top:80px; }
.intents h3{ margin-bottom:22px; }
.intent-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--radius-l); overflow:hidden; }
@media (max-width:900px){ .intent-list{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .intent-list{ grid-template-columns:1fr; } }
.intent{ background:var(--deep); padding:24px; }
.intent b{ display:block; font-size:.9rem; color:var(--gold); font-weight:600; margin-bottom:8px; }
.intent p{ font-size:1rem; color:var(--text3); }

/* Dashboard demo */
.dash{ margin-top:64px; background:var(--black); border:1px solid var(--line); border-radius:var(--radius-l); overflow:hidden; }
.dash-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-bottom:1px solid var(--line-soft); font-size:.9rem; }
.dash-bar .tabs{ display:flex; gap:20px; color:var(--gray); overflow-x:auto; white-space:nowrap; }
.dash-bar .tabs b{ color:var(--off); font-weight:600; }
.demo-tag{ font-size:.75rem; font-weight:700; color:var(--deep); background:var(--gold); padding:4px 10px; border-radius:999px; flex-shrink:0; }
.dash-body{ display:grid; grid-template-columns:1.1fr 1fr; }
@media (max-width:900px){ .dash-body{ grid-template-columns:1fr; } }
.dash-col{ padding:28px; }
.dash-col + .dash-col{ border-left:1px solid var(--line-soft); }
@media (max-width:900px){ .dash-col + .dash-col{ border-left:0; border-top:1px solid var(--line-soft); } }
@media (max-width:520px){ .dash-col{ padding:20px; } }
.kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media (max-width:520px){ .kpis{ grid-template-columns:1fr 1fr; } }
.kpi{ padding:16px; border-radius:var(--radius-m); background:var(--deep); }
.kpi small{ display:block; color:var(--gray); font-size:.8rem; line-height:1.3; }
.kpi b{ display:block; font-size:1.7rem; font-weight:700; letter-spacing:-.02em; margin-top:6px; }
.kpi.main{ grid-column:span 3; display:flex; align-items:end; justify-content:space-between; gap:12px; }
@media (max-width:520px){ .kpi.main{ grid-column:span 2; } }
.kpi.main b{ font-size:3.4rem; line-height:1; letter-spacing:-.04em; }
.kpi.main b sub{ font-size:1.1rem; color:var(--gray); vertical-align:baseline; letter-spacing:0; font-weight:500; }
.rank h4,.plat h4{ margin:0 0 16px; font-size:.95rem; font-weight:600; color:var(--text2); }
.rank ol{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.rank li{ display:grid; grid-template-columns:24px 1fr 40px; gap:12px; align-items:center; font-size:.95rem; }
.rank li .track{ height:8px; background:var(--line-soft); border-radius:8px; overflow:hidden; margin-top:6px; }
.rank li .track i{ display:block; height:100%; background:rgba(242,242,240,.28); border-radius:8px; }
.rank li.you{ color:var(--gold); font-weight:600; }
.rank li.you .track i{ background:var(--gold); }
.gaps{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; }
.gap{ padding:14px 16px; border-radius:var(--radius-m); border:1px solid var(--line); }
.gap small{ display:block; color:var(--gray); font-size:.8rem; }
.gap b{ font-size:1.6rem; color:var(--gold); }
.plat{ margin-top:28px; }
.plat-row{ display:grid; grid-template-columns:100px 1fr 44px; gap:12px; align-items:center; font-size:.92rem; margin-bottom:10px; }
.plat-row .track{ height:8px; background:var(--line-soft); border-radius:8px; overflow:hidden; }
.plat-row .track i{ display:block; height:100%; background:var(--bronze); }
.dash-foot{ padding:14px 24px; border-top:1px solid var(--line-soft); font-size:.82rem; color:var(--gray); }

/* Model */
.model{ margin-top:64px; border-top:1px solid var(--line); }
.layer{ display:grid; grid-template-columns:70px 1fr 1.4fr; gap:24px; padding:28px 0; border-bottom:1px solid var(--line-soft); align-items:start; }
.layer .n{ color:var(--bronze); font-weight:700; font-size:1.1rem; font-variant-numeric:tabular-nums; }
.layer h3 small{ display:block; color:var(--gold); font-size:.9rem; font-weight:500; margin-top:4px; letter-spacing:0; }
.layer p{ color:var(--text2); }
@media (max-width:760px){ .layer{ grid-template-columns:44px 1fr; } .layer p{ grid-column:2; } }

/* Branchen */
.branchen{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px; }
@media (max-width:900px){ .branchen{ grid-template-columns:1fr; } }
.branche{ padding:30px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); display:flex; flex-direction:column; gap:16px; text-decoration:none; transition:border-color .2s; }
.branche:hover{ border-color:var(--gold-deep); }
.branche .prompt{ padding:14px 16px; border-radius:14px 14px 14px 4px; background:var(--raised); font-size:.95rem; }
.branche ul{ margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.branche ul li{ padding:5px 12px; border:1px solid var(--line-soft); border-radius:999px; font-size:.86rem; color:var(--text2); }
.branche .more{ margin-top:auto; color:var(--gold); font-weight:600; font-size:.95rem; }
.later{ margin-top:28px; color:var(--gray); }

/* Offer */
.offer-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:56px; border:1px solid var(--line); border-radius:var(--radius-l); overflow:hidden; }
@media (max-width:900px){ .offer-steps{ grid-template-columns:1fr; } }
.ostep{ padding:34px 30px; background:var(--black); }
.ostep + .ostep{ border-left:1px solid var(--line-soft); }
@media (max-width:900px){ .ostep + .ostep{ border-left:0; border-top:1px solid var(--line-soft); } }
.ostep .phase{ color:var(--gray); font-size:.9rem; font-variant-numeric:tabular-nums; }
.ostep .price{ display:block; font-size:clamp(2.4rem,4vw,3.2rem); font-weight:800; letter-spacing:-.04em; line-height:1; margin:14px 0 6px; }
.ostep .price small{ font-size:1rem; font-weight:500; color:var(--gray); letter-spacing:0; }
.ostep h3{ margin-bottom:14px; }
.ostep ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; color:var(--text2); font-size:.95rem; }
.ostep li{ display:grid; grid-template-columns:14px 1fr; gap:10px; }
.ostep li::before{ content:""; width:8px; height:8px; margin-top:.55em; border-radius:2px; background:var(--gold-deep); }
.ostep.final-step{ background:linear-gradient(180deg,#141613,#0E100F); }
.ostep.final-step .price{ color:var(--gold); }
.promises{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:22px; }
@media (max-width:900px){ .promises{ grid-template-columns:1fr; } }
.promise{ padding:28px; border-radius:var(--radius-l); border:1px solid var(--line-soft); background:var(--surface); }
.promise h3{ margin-bottom:10px; }
.promise p{ color:var(--text2); font-size:.96rem; }
.callout{ margin-top:22px; padding:30px 34px; border-radius:var(--radius-l); border:1px solid var(--gold-deep); display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.callout p{ color:var(--text2); max-width:62ch; margin-top:6px; }
.fine{ margin-top:22px; font-size:.85rem; color:var(--gray); max-width:80ch; }
.lock-list{ margin:24px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; }
@media (max-width:640px){ .lock-list{ grid-template-columns:1fr; } }
.lock-list li{ display:flex; gap:12px; color:var(--text3); }
.lock-list li::before{ content:""; flex:0 0 8px; height:8px; margin-top:.6em; border-radius:2px; background:var(--gold-deep); }

/* Price cards (Preise page) */
.prices{ display:grid; grid-template-columns:1.3fr 1fr; gap:22px; margin-top:48px; }
@media (max-width:900px){ .prices{ grid-template-columns:1fr; } }
.pcard{ padding:36px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.pcard.main{ border-color:var(--gold-deep); }
.pcard .price{ display:block; font-size:clamp(2.6rem,5vw,3.6rem); font-weight:800; letter-spacing:-.04em; line-height:1; margin:18px 0 6px; }
.pcard .price small{ font-size:1rem; font-weight:500; color:var(--gray); letter-spacing:0; }
.pcard ul{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:10px; color:var(--text2); }
.pcard li{ display:grid; grid-template-columns:14px 1fr; gap:10px; }
.pcard li::before{ content:""; width:8px; height:8px; margin-top:.6em; border-radius:2px; background:var(--gold-deep); }

/* Monitor */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .split{ grid-template-columns:1fr; gap:36px; } }
.alerts{ display:grid; gap:12px; }
.alert{ padding:18px 20px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line-soft); display:grid; grid-template-columns:10px 1fr; gap:14px; align-items:start; }
.alert i{ width:10px; height:10px; border-radius:50%; margin-top:.5em; background:var(--gold); }
.alert.warn i{ background:var(--bronze); }
.alert small{ display:block; color:var(--gray); font-size:.82rem; margin-top:2px; }
.websys{ margin-top:80px; padding:30px 34px; border-radius:var(--radius-l); border:1px solid var(--line-soft); display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.websys p{ color:var(--text2); max-width:56ch; margin-top:6px; }

/* Proof */
.proof{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
@media (max-width:900px){ .proof{ grid-template-columns:1fr; gap:32px; } }
.case-shell{ border:1px dashed var(--line); border-radius:var(--radius-l); padding:30px; }
.case-shell dl{ display:grid; grid-template-columns:auto 1fr; gap:12px 22px; margin:20px 0 0; font-size:.95rem; }
.case-shell dt{ color:var(--gray); }
.case-shell dd{ margin:0; }

/* FAQ */
.faq{ margin-top:48px; border-top:1px solid var(--line); max-width:860px; }
.faq details{ border-bottom:1px solid var(--line-soft); }
.faq summary{ cursor:pointer; list-style:none; padding:24px 40px 24px 0; font-size:1.15rem; font-weight:600; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:4px; top:20px; font-size:1.5rem; color:var(--gold); font-weight:400; transition:transform .2s; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ padding:0 0 24px; color:var(--text2); max-width:68ch; }

/* Final */
.final{ padding:140px 0; }
.final h2{ font-size:clamp(2.3rem,5vw,4rem); max-width:16ch; }

footer{ border-top:1px solid var(--line-soft); padding:56px 0 48px; font-size:.92rem; color:var(--gray); }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
@media (max-width:900px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .foot-grid{ grid-template-columns:1fr; } }
.foot-grid h4{ margin:0 0 14px; color:var(--off); font-size:.95rem; font-weight:600; }
.foot-grid ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.foot-grid a{ text-decoration:none; }
.foot-grid a:hover{ color:var(--off); }
.foot-about p{ margin-top:16px; max-width:40ch; }
.foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line-soft); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.85rem; }

.placeholder{ background:rgba(230,168,151,.12); color:#E6A897; padding:1px 6px; border-radius:4px; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
  .missing{ opacity:1; transform:none; }
}

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ================= v4: Bewegung, Produkte, Verkauf ================= */

/* Scroll-Reveal (nur mit JS und ohne reduzierte Bewegung) */
.js [data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d,0s); }
.js [data-reveal].is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .js [data-reveal]{ opacity:1; transform:none; } }

/* Hero-Hintergrund: feines Raster, nach außen ausgeblendet */
.hero{ position:relative; overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(242,242,240,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(242,242,240,.035) 1px, transparent 1px);
  background-size:56px 56px; -webkit-mask-image:radial-gradient(ellipse 70% 60% at 65% 40%, #000 30%, transparent 75%); mask-image:radial-gradient(ellipse 70% 60% at 65% 40%, #000 30%, transparent 75%); }
.hero::after{ content:""; position:absolute; width:620px; height:620px; right:-120px; top:40px; pointer-events:none; border-radius:50%;
  background:radial-gradient(circle, rgba(200,185,162,.10), transparent 65%); }
.hero .wrap{ position:relative; z-index:1; }

/* Laufband mit Kundenfragen */
.ticker{ border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); padding:18px 0; overflow:hidden; background:var(--surface); }
.ticker-track{ display:flex; gap:14px; width:max-content; animation:ticker 60s linear infinite; }
.ticker:hover .ticker-track{ animation-play-state:paused; }
.ticker-item{ flex-shrink:0; padding:10px 18px; border-radius:999px; border:1px solid var(--line-soft); background:var(--black); font-size:.92rem; color:var(--text2); white-space:nowrap; }
.ticker-item b{ color:var(--gold); font-weight:600; margin-right:8px; }
@keyframes ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .ticker-track{ animation:none; flex-wrap:wrap; width:auto; padding:0 24px; } .ticker-item.dup{ display:none; } }

/* Zwei Angebote */
.paths{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:56px; }
@media (max-width:900px){ .paths{ grid-template-columns:1fr; } }
.path{ position:relative; display:flex; flex-direction:column; padding:44px 40px; border-radius:28px; background:var(--black); border:1px solid var(--line-soft); overflow:hidden; text-decoration:none; transition:border-color .3s, transform .3s; }
.path:hover{ border-color:var(--gold-deep); transform:translateY(-4px); }
.path.gold{ border-color:var(--gold-deep); background:linear-gradient(160deg,#171915,#0E100F 60%); }
@media (max-width:520px){ .path{ padding:32px 24px; } }
.path .badge{ align-self:flex-start; font-size:.8rem; font-weight:700; color:var(--deep); background:var(--gold); padding:5px 12px; border-radius:999px; margin-bottom:22px; }
.path .badge.ghost{ background:transparent; color:var(--gold); border:1px solid var(--line); }
.path h3{ font-size:clamp(1.8rem,3vw,2.4rem); letter-spacing:-.03em; line-height:1.05; }
.path .sub{ margin-top:14px; color:var(--text2); font-size:1.05rem; max-width:44ch; }
.path .big{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:30px 0 4px; }
.path .big b{ font-size:clamp(3rem,6vw,4.4rem); font-weight:800; letter-spacing:-.05em; line-height:1; }
.path.gold .big b{ color:var(--gold); }
.path .big span{ color:var(--gray); }
.path .small{ color:var(--gray); font-size:.92rem; }
.path ul{ list-style:none; margin:26px 0 30px; padding:0; display:grid; gap:12px; color:var(--text3); }
.path li{ display:grid; grid-template-columns:22px 1fr; gap:10px; }
.path li svg{ margin-top:3px; color:var(--gold); }
.path .go{ margin-top:auto; }

/* Schritte mit wachsender Linie */
.steps3{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:64px; }
.steps3::before{ content:""; position:absolute; top:27px; left:28px; right:28px; height:1px; background:var(--line); transform-origin:left; transform:scaleX(var(--line-p,1)); transition:transform 1.4s cubic-bezier(.2,.7,.2,1); }
.js .steps3:not(.is-in){ --line-p:0; }
@media (max-width:900px){ .steps3{ grid-template-columns:1fr; } .steps3::before{ display:none; } }
.s3 .n{ position:relative; z-index:1; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--deep); border:1px solid var(--gold-deep); color:var(--gold); font-weight:700; font-size:1.15rem; }
.s3 h3{ margin:22px 0 10px; font-size:1.35rem; }
.s3 p{ color:var(--text2); }
.s3 .tagline{ display:inline-block; margin-top:14px; font-weight:700; color:var(--gold); font-size:1.05rem; }

/* Balken wachsen beim Einblenden */
.track i{ width:var(--w,0); transition:width 1.2s cubic-bezier(.2,.7,.2,1); }
.js [data-bars]:not(.is-in) .track i{ width:0; }

/* Garantie-Siegel */
.seal{ display:flex; gap:28px; align-items:center; padding:36px 40px; border-radius:28px; border:1px solid var(--gold-deep); background:linear-gradient(120deg,#151713,#0B0D0C); margin-top:24px; flex-wrap:wrap; }
.seal-ring{ flex-shrink:0; width:112px; height:112px; border-radius:50%; border:1px solid var(--gold-deep); display:grid; place-items:center; text-align:center; position:relative; }
.seal-ring::before{ content:""; position:absolute; inset:7px; border-radius:50%; border:1px dashed rgba(200,185,162,.35); animation:spin 30s linear infinite; }
.seal-ring b{ font-size:1.6rem; color:var(--gold); line-height:1; letter-spacing:-.03em; }
.seal-ring small{ display:block; font-size:.72rem; color:var(--gray); margin-top:4px; }
.seal h3{ font-size:1.6rem; letter-spacing:-.02em; }
.seal p{ color:var(--text2); margin-top:8px; max-width:62ch; }
.seal > div:last-child{ flex:1; min-width:240px; }
@keyframes spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .seal-ring::before{ animation:none; } }

/* Produkt-Hero (Unterseiten) */
.p-hero{ padding:72px 0 100px; border-top:0; position:relative; overflow:hidden; }
.p-hero h1{ font-size:clamp(2.5rem,5.4vw,4.4rem); font-weight:800; letter-spacing:-.02em; max-width:16ch; }
.p-hero .price-tag{ display:inline-flex; align-items:baseline; gap:8px; margin-top:28px; padding:12px 20px; border-radius:999px; border:1px solid var(--line); background:var(--black); }
.p-hero .price-tag b{ font-size:1.5rem; color:var(--gold); letter-spacing:-.02em; }
.p-hero .price-tag span{ color:var(--gray); font-size:.92rem; }

/* Handy-Mockup Website-System */
.device-wrap{ position:relative; display:grid; place-items:center; min-height:560px; }
.phone{ position:relative; width:290px; height:580px; border-radius:44px; padding:12px; background:#1A1C1A; border:1px solid rgba(242,242,240,.12); box-shadow:0 50px 100px -40px rgba(0,0,0,.95), inset 0 0 0 1px rgba(255,255,255,.03); }
.phone-screen{ width:100%; height:100%; border-radius:34px; overflow:hidden; background:#F4F2EE; color:#1B1B1A; position:relative; }
.phone-notch{ position:absolute; top:10px; left:50%; transform:translateX(-50%); width:86px; height:24px; border-radius:20px; background:#0A0A0A; z-index:3; }
.site-scroll{ animation:siteScroll 18s ease-in-out infinite alternate; }
@keyframes siteScroll{ 0%,12%{ transform:translateY(0); } 88%,100%{ transform:translateY(-520px); } }
.ms-nav{ display:flex; justify-content:space-between; align-items:center; padding:46px 18px 12px; font-size:.72rem; font-weight:700; }
.ms-nav span{ background:#1E2A22; color:#fff; padding:5px 10px; border-radius:999px; font-weight:600; }
.ms-hero{ margin:6px 12px; padding:22px 16px; border-radius:18px; background:linear-gradient(160deg,#2B3A31,#1E2A22); color:#fff; }
.ms-hero b{ display:block; font-size:1.15rem; line-height:1.15; letter-spacing:-.02em; }
.ms-hero p{ font-size:.7rem; opacity:.8; margin-top:8px; }
.ms-hero i{ display:inline-block; margin-top:14px; font-style:normal; font-size:.7rem; font-weight:700; background:#E9C46A; color:#1B1B1A; padding:7px 12px; border-radius:999px; }
.ms-sec{ padding:16px 14px 4px; }
.ms-sec h5{ margin:0 0 10px; font-size:.78rem; }
.ms-cards{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ms-card{ background:#fff; border-radius:12px; padding:10px; font-size:.64rem; box-shadow:0 1px 0 rgba(0,0,0,.05); }
.ms-card b{ display:block; font-size:.7rem; margin-bottom:3px; }
.ms-img{ height:66px; border-radius:10px; background:linear-gradient(135deg,#C9BBA5,#8C7B62); margin-bottom:6px; }
.ms-img.b{ background:linear-gradient(135deg,#9FB1A3,#5D7466); }
.ms-stars{ color:#C9971C; letter-spacing:1px; }
.ms-form{ margin:10px 12px 20px; background:#fff; border-radius:14px; padding:14px; }
.ms-form div{ height:24px; border-radius:6px; background:#EEEBE5; margin-bottom:7px; }
.ms-form span{ display:block; text-align:center; font-size:.7rem; font-weight:700; color:#fff; background:#1E2A22; padding:8px; border-radius:8px; }
.toast{ position:absolute; z-index:4; right:-36px; top:120px; width:250px; padding:14px 16px; border-radius:16px; background:var(--black); border:1px solid var(--gold-deep); box-shadow:0 20px 40px -10px rgba(0,0,0,.8); display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:center; opacity:0; transform:translateY(10px) scale(.96); transition:opacity .45s ease, transform .45s ease; }
.toast.show{ opacity:1; transform:none; }
.toast .ic{ width:34px; height:34px; border-radius:10px; background:var(--gold); color:var(--deep); display:grid; place-items:center; }
.toast small{ display:block; color:var(--gray); font-size:.78rem; }
.toast b{ font-size:.92rem; font-weight:600; }
@media (max-width:520px){ .toast{ right:-6px; width:220px; } .phone{ width:260px; height:530px; } }
@media (prefers-reduced-motion: reduce){ .site-scroll{ animation:none; } .toast{ opacity:1; transform:none; } }

/* Feature-Raster */
.features{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; }
@media (max-width:900px){ .features{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .features{ grid-template-columns:1fr; } }
.feat{ padding:30px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.feat .ic{ width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:rgba(200,185,162,.1); color:var(--gold); margin-bottom:20px; }
.feat h3{ margin-bottom:8px; }
.feat p{ color:var(--text2); font-size:.97rem; }
.feat.hl{ border-color:var(--gold-deep); }

/* Vergleich */
.vs{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:48px; border:1px solid var(--line-soft); border-radius:var(--radius-l); overflow:hidden; }
@media (max-width:760px){ .vs{ grid-template-columns:1fr; } }
.vs > div{ padding:32px; }
.vs .them{ background:var(--surface); }
.vs .us{ background:var(--black); border-left:1px solid var(--gold-deep); }
@media (max-width:760px){ .vs .us{ border-left:0; border-top:1px solid var(--gold-deep); } }
.vs h3{ margin-bottom:18px; }
.vs ul{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.vs li{ display:grid; grid-template-columns:22px 1fr; gap:10px; color:var(--text2); }
.vs .them li::before{ content:"–"; color:var(--bronze); font-weight:700; }
.vs .us li{ color:var(--text3); }
.vs .us li::before{ content:""; width:10px; height:10px; margin-top:.5em; border-radius:3px; background:var(--gold); }

/* Anfrageformular (Produktseiten) */
.req{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; }
@media (max-width:900px){ .req{ grid-template-columns:1fr; gap:32px; } }
.req-form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; position:relative; }
.req-form .field{ margin:0; }
.req-form .full{ grid-column:1/-1; }
@media (max-width:560px){ .req-form{ grid-template-columns:1fr; } }

/* Mobile CTA-Leiste */
.mcta{ position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:60; display:none; }
.mcta .btn{ width:100%; box-shadow:0 14px 30px -8px rgba(0,0,0,.8); }
@media (max-width:760px){ .mcta{ display:block; transform:translateY(140%); transition:transform .35s ease; } .mcta.show{ transform:none; } }

/* Abschnitts-CTA */
.sec-cta{ margin-top:48px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.sec-cta .note{ color:var(--gray); font-size:.92rem; }
.device-wrap .mock-note{ font-size:.78rem; color:var(--bronze); }

/* ================= Verkaufsbausteine ================= */
.trust-row{ list-style:none; display:flex; flex-wrap:wrap; gap:10px 22px; margin:22px 0 0; padding:0; font-size:.92rem; color:var(--text2); }
.trust-row li{ display:flex; align-items:center; gap:8px; }
.trust-row svg{ color:var(--gold); flex-shrink:0; }

.calc{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .calc{ grid-template-columns:1fr; gap:32px; } }
.euro{ position:relative; }
.euro input{ padding-right:44px; font-size:1.2rem; font-weight:600; }
.euro span{ position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--gray); }
input[type=range]{ width:100%; accent-color:var(--gold); height:28px; }
.calc-out{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:6px; }
.calc-out > div{ padding:18px; border-radius:var(--radius-m); background:var(--deep); }
.calc-out small{ display:block; color:var(--gray); font-size:.8rem; line-height:1.3; }
.calc-out b{ display:block; font-size:clamp(1.5rem,3vw,2rem); font-weight:700; color:var(--gold); margin-top:6px; font-variant-numeric:tabular-nums; }
.calc-out b.muted-b{ color:var(--off); }
.calc-line{ margin:18px 0 6px; font-size:1.1rem; font-weight:600; }

.objs{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:48px; }
@media (max-width:760px){ .objs{ grid-template-columns:1fr; } }
.obj{ padding:28px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.obj:last-child{ grid-column:1/-1; border-color:var(--gold-deep); }
@media (max-width:760px){ .obj:last-child{ grid-column:auto; } }
.obj h3{ font-size:1.2rem; margin-bottom:10px; color:var(--gold); }
.obj p{ color:var(--text2); }

.region-sec{ background:linear-gradient(180deg,#0A0B0A,var(--deep)); }
.region{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
@media (max-width:900px){ .region{ grid-template-columns:1fr; gap:32px; } }
.path .big .ab{ font-size:1.1rem; color:var(--gray); align-self:flex-end; margin-bottom:.5em; }

/* ================= Wissen, Hubs, Fragen ================= */
.field textarea{ width:100%; padding:14px 16px; border-radius:var(--radius-s); background:var(--deep); color:var(--off); border:1px solid rgba(242,242,240,.14); font:inherit; resize:vertical; }
.field textarea:focus{ border-color:var(--gold); outline:none; }
pre.formula{ white-space:pre-wrap; overflow-x:auto; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.9rem; line-height:1.55; }
.related{ margin-top:56px; padding:26px 28px; border-radius:var(--radius-l); border:1px solid var(--line); background:var(--black); }
.related h2{ font-size:1.2rem !important; margin:0 0 12px !important; }
.related ul{ margin:0 !important; padding-left:1.1em; }
.related li{ margin-bottom:6px; }

.hub{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .hub{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .hub{ grid-template-columns:1fr; } }
.hub-card{ display:flex; flex-direction:column; gap:12px; padding:28px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); text-decoration:none; transition:border-color .2s, transform .2s; }
.hub-card:hover{ border-color:var(--gold-deep); transform:translateY(-3px); }
.hub-card p{ color:var(--text2); font-size:.95rem; }
.hub-card .more{ margin-top:auto; color:var(--gold); font-weight:600; font-size:.92rem; }

.fragen-tools{ position:sticky; top:calc(env(safe-area-inset-top,0px) + 72px); z-index:10; background:rgba(5,6,5,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); padding:16px 0 12px; border-bottom:1px solid var(--line-soft); }
#q-search{ width:100%; min-height:54px; padding:0 18px; border-radius:999px; background:var(--black); color:var(--off); border:1px solid var(--line); font:inherit; font-size:1rem; }
#q-search:focus{ outline:none; border-color:var(--gold); }
.chips{ display:flex; gap:8px; overflow-x:auto; padding:12px 0 4px; scrollbar-width:thin; }
.chip{ flex-shrink:0; padding:7px 14px; border-radius:999px; border:1px solid var(--line-soft); background:transparent; color:var(--text2); font:inherit; font-size:.85rem; cursor:pointer; white-space:nowrap; }
.chip:hover{ border-color:var(--gold-deep); }
.chip.is-on{ background:var(--gold); color:var(--deep); border-color:var(--gold); font-weight:600; }
#q-count{ font-size:.85rem; margin:6px 0 0; min-height:1.2em; }
.fragen-grid{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:48px; margin-top:32px; align-items:start; }
@media (max-width:980px){ .fragen-grid{ grid-template-columns:minmax(0,1fr); } .fragen-toc{ display:none; } }
.fragen-toc{ position:sticky; top:250px; margin:0; }
.fragen-toc ol{ padding-left:1.1em; font-size:.92rem; }
.fragen-toc li{ margin-bottom:6px; }
.qcat{ padding:0 0 40px; border:0; }
.qcat h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); max-width:none; margin-bottom:10px; scroll-margin-top:240px; }
.qa{ border-bottom:1px solid var(--line-soft); scroll-margin-top:240px; }
.qa summary{ cursor:pointer; list-style:none; padding:18px 40px 18px 0; position:relative; }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{ content:"+"; position:absolute; right:4px; top:14px; font-size:1.5rem; color:var(--gold); transition:transform .2s; }
.qa[open] summary::after{ transform:rotate(45deg); }
.qa h3{ font-size:1.05rem; font-weight:600; line-height:1.4; letter-spacing:0; margin:0; }
.qa p{ color:var(--text2); padding:0 0 20px; max-width:72ch; }
.q-link{ display:inline-block; margin-left:4px; color:var(--gold); font-weight:600; }
.qa[hidden], .qcat[hidden]{ display:none; }
.prose, .qa p, .obj p, .hub-card p{ hyphens:manual; -webkit-hyphens:manual; }
h1, h2, h3{ hyphens:manual; -webkit-hyphens:manual; overflow-wrap:normal; text-wrap:balance; }

/* ChatGPT Ads Beispiel */
.ad-unit{ margin-top:16px; padding:14px 16px; border-radius:var(--radius-m); border:1px solid var(--line); background:rgba(200,185,162,.05); display:grid; gap:4px; font-size:.9rem; }
.ad-label{ font-size:.72rem; color:var(--gray); font-weight:600; letter-spacing:.02em; }
.ad-unit b{ color:var(--off); font-weight:600; }
.ad-unit span:not(.ad-label){ color:var(--text2); }
.ad-unit em{ font-style:normal; color:var(--gold); font-weight:600; font-size:.85rem; margin-top:4px; }

/* Suche verändert sich */
.stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:48px; }
@media (max-width:900px){ .stats{ grid-template-columns:minmax(0,1fr); } }
.stat{ padding:30px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.stat b{ display:block; font-size:clamp(2.6rem,5vw,3.6rem); font-weight:700; letter-spacing:-.03em; line-height:1; color:var(--gold); }
.stat h3{ margin:14px 0 8px; font-size:1.1rem; }
.stat p{ color:var(--text2); font-size:.95rem; }
.stat sup, .footnotes{ color:var(--gray); }
.shift{ margin-top:88px; }
.shift-title{ font-size:clamp(1.6rem,3.2vw,2.3rem); letter-spacing:-.02em; max-width:22ch; }
.shift .compare{ margin-top:28px; }
.flow{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:0; counter-reset:f; }
.flow li{ counter-increment:f; position:relative; padding:10px 0 10px 40px; color:var(--text2); font-size:.97rem; }
.flow li::before{ content:counter(f); position:absolute; left:0; top:8px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:.8rem; font-weight:600; border:1px solid var(--line); color:var(--gray); }
.flow li:not(:last-child)::after{ content:""; position:absolute; left:12.5px; top:36px; bottom:-8px; width:1px; background:var(--line); }
.cmp.ki .flow li{ color:var(--off); }
.cmp.ki .flow li::before{ border-color:var(--gold-deep); color:var(--gold); }
.question{ margin-top:96px; max-width:820px; }
.question h2{ font-size:clamp(2rem,4.4vw,3.2rem); max-width:20ch; }
.measure{ margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:40px; border-radius:28px; border:1px solid var(--gold-deep); background:linear-gradient(140deg,#151713,#0B0D0C); }
@media (max-width:900px){ .measure{ grid-template-columns:1fr; gap:28px; padding:28px; } }
.measure h3{ font-size:1.6rem; letter-spacing:-.02em; }
.measure p{ color:var(--text2); margin-top:12px; }
.measure .measure-claim{ color:var(--off); font-weight:600; margin:20px 0 26px; }
.see{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.see li{ display:grid; grid-template-columns:26px 1fr; gap:12px; align-items:center; padding:12px 16px; border-radius:var(--radius-m); background:rgba(242,242,240,.035); }
.see li::before{ content:""; width:10px; height:10px; border-radius:3px; background:var(--gold); justify-self:center; }
.footnotes{ margin:40px 0 0; padding-left:1.2em; font-size:.8rem; line-height:1.55; display:grid; gap:6px; max-width:90ch; }

/* ================= Startseite v5 ================= */
.hero h1{ max-width:16ch; }
.hero-q{ margin-top:22px; font-size:clamp(1.2rem,2.2vw,1.5rem); font-weight:600; color:var(--gold); max-width:30ch; line-height:1.35; }
.hero .lead{ margin-top:16px; }
.src-note{ display:block; margin-top:4px; font-size:.8rem; color:var(--bronze); }
.big-stat{ display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; padding:40px; border-radius:28px; background:var(--black); border:1px solid var(--line-soft); }
@media (max-width:760px){ .big-stat{ grid-template-columns:1fr; gap:16px; padding:28px; } }
.big-stat > b{ font-size:clamp(4rem,10vw,7rem); font-weight:700; letter-spacing:-.04em; line-height:1; color:var(--gold); }
.big-stat h2{ font-size:clamp(1.4rem,2.8vw,2rem); max-width:26ch; }
.tryit{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media (max-width:900px){ .tryit{ grid-template-columns:1fr; gap:32px; } }
.prompt-box{ margin-top:24px; padding:24px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line); display:grid; gap:16px; }
.prompt-box p{ font-size:1.15rem; font-weight:500; line-height:1.45; }
.prompt-box .btn{ justify-self:start; min-height:44px; }
.tryit-claim{ margin:18px 0; font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:600; letter-spacing:-.01em; line-height:1.3; }
.measure2{ display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:48px; align-items:start; }
@media (max-width:900px){ .measure2{ grid-template-columns:1fr; gap:32px; } }
.mp-card{ padding:30px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line); }
.mp-head{ display:flex; justify-content:space-between; align-items:center; color:var(--text2); font-size:.92rem; }
.mp-rank{ font-size:clamp(3rem,7vw,4.4rem); font-weight:700; letter-spacing:-.04em; line-height:1; margin:18px 0 22px; }
.mp-rank small{ font-size:1.1rem; color:var(--gray); font-weight:500; letter-spacing:0; }
.mp-list{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.mp-list li{ display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:6px 14px; align-items:center; }
.mp-list li > div:first-child{ grid-column:1/-1; display:flex; justify-content:space-between; gap:10px; font-size:.9rem; }
.mp-label{ color:var(--gray); }
.mp-list .track{ height:8px; background:var(--line-soft); border-radius:8px; overflow:hidden; }
.mp-list .track i{ display:block; height:100%; background:rgba(242,242,240,.3); border-radius:8px; }
.mp-list li.you .track i{ background:var(--gold); }
.mp-list li.you .mp-label, .mp-list li.you b{ color:var(--gold); }
.mp-list b{ text-align:right; }
.mp-gap{ margin-top:22px; padding:14px 16px; border-radius:var(--radius-m); border:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:12px; }
.mp-gap b{ color:var(--gold); font-size:1.3rem; }
.mp-note{ margin-top:12px; font-size:.78rem; color:var(--bronze); }
.why{ margin-top:72px; max-width:820px; }
.why h3{ font-size:clamp(1.5rem,3vw,2.1rem); letter-spacing:-.02em; }
.why p{ color:var(--text2); margin-top:14px; font-size:1.05rem; }
.why .why-claim{ color:var(--off); font-weight:600; }
.prod3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:48px; }
@media (max-width:1000px){ .prod3{ grid-template-columns:minmax(0,1fr); } }
.prod3 .path{ padding:36px 30px; }
.pnum{ color:var(--gold); font-weight:600; font-size:.85rem; margin-bottom:16px; }
.prod3 .path h3{ font-size:clamp(1.4rem,2.2vw,1.75rem); }
.pclaim{ margin-top:14px; font-weight:600; color:var(--off); font-size:.98rem; }
.ecom{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
@media (max-width:900px){ .ecom{ grid-template-columns:1fr; gap:28px; } }
.ecom-q{ margin-left:0; max-width:100%; font-size:1.05rem; line-height:1.5; border-radius:18px 18px 18px 4px; background:var(--raised); padding:18px 20px; }
.tags{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.tags li{ padding:7px 14px; border-radius:999px; border:1px solid var(--gold-deep); color:var(--gold); font-size:.88rem; }
.eq{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1.1fr; gap:14px; align-items:stretch; margin-top:48px; }
@media (max-width:1000px){ .eq{ grid-template-columns:1fr; } .eq-op{ justify-self:center; } }
.eq-item{ padding:24px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.eq-item span{ display:block; font-weight:700; font-size:1.2rem; margin-bottom:8px; }
.eq-item p{ color:var(--text2); font-size:.94rem; }
.eq-sum{ border-color:var(--gold-deep); background:linear-gradient(150deg,#171915,#0E100F); }
.eq-sum span{ color:var(--gold); letter-spacing:.08em; }
.eq-op{ align-self:center; font-size:1.8rem; color:var(--gold); font-weight:300; }
.closing{ display:grid; grid-template-columns:1fr 1fr; gap:24px 48px; }
@media (max-width:760px){ .closing{ grid-template-columns:1fr; } }
.closing h3{ font-size:1.4rem; letter-spacing:-.01em; }
.closing p{ color:var(--text2); margin-top:6px; }
.closing h2{ grid-column:1/-1; margin-top:32px; font-size:clamp(2.2rem,5vw,3.8rem); max-width:none; }
.closing .cta-row{ grid-column:1/-1; margin-top:8px; }
.hero h1{ font-size:clamp(2.3rem,4.4vw,3.7rem); max-width:17ch; }

/* ================= Mobile-Optimierung ================= */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
a, button, summary, .chip, .choice{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
input[type=checkbox]{ width:22px; height:22px; accent-color:var(--gold); flex-shrink:0; }
.brand{ min-height:44px; }

/* Tabellen werden auf dem Handy zu Karten */
@media (max-width:640px){
  .table-wrap{ border:0; overflow:visible; }
  .table-wrap table, .table-wrap tbody, .table-wrap tr, .table-wrap td{ display:block; width:100%; min-width:0; }
  .table-wrap thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .table-wrap tr{ border:1px solid var(--line-soft); border-radius:var(--radius-m); background:var(--black); padding:12px 16px; margin-bottom:10px; }
  .table-wrap td{ border:0; padding:4px 0; }
  .table-wrap td[data-label]::before{ content:attr(data-label); display:block; font-size:.8rem; color:var(--gray); margin-bottom:2px; }
  .table-wrap td:first-child{ font-weight:600; color:var(--off); }
}

@media (max-width:760px){
  body{ font-size:16.5px; }
  section{ padding:72px 0; }
  .final{ padding:88px 0; }
  .hero, .p-hero{ padding:36px 0 64px; }
  .page-head{ padding:28px 0 48px; }
  .lead{ font-size:1.05rem; }
  .kicker{ margin-bottom:12px; }
  .cta-row{ margin-top:28px; }
  .sec-cta{ margin-top:32px; }
  .facts, .market, .intents, .model, .branchen, .paths, .prod3, .stats, .measure2, .offer-steps, .promises, .objs, .features, .hub{ margin-top:32px; }
  .shift, .question, .why{ margin-top:56px; }

  /* Hero kompakter: Chat ohne Zusatzzeilen, kleinere Abstände */
  .hero-grid{ gap:36px; }
  .hero-q{ margin-top:16px; font-size:1.15rem; }
  .chat-head{ min-height:48px; padding:8px 14px; }
  .chat-body{ padding:16px 14px; gap:12px; }
  .msg-user{ font-size:.92rem; padding:11px 14px; max-width:92%; }
  .msg-ai{ font-size:.92rem; }
  .msg-ai ol{ gap:7px; margin-top:10px; }
  .msg-ai li{ padding:9px 12px; }
  .msg-ai li small{ display:none; }
  .missing{ margin-top:10px; padding:11px 14px; }
  .chat-input{ margin:0 10px; padding:6px 6px 6px 14px; }
  .chat .mock-note{ margin:10px 14px 12px; }
  .chat-pause{ min-height:40px; padding:0 14px; }

  /* Lesbare Mindestgrößen */
  .mock-note, .consent, .dash-foot, .mp-note, .footnotes, .src-note, .ad-label, .demo-tag{ font-size:.82rem; }
  .lk small, .kpi small, .gap small, .calc-out small, .loss small{ font-size:.82rem; }

  /* Tippflächen */
  .chip{ min-height:44px; padding:0 16px; font-size:.9rem; }
  .choice{ min-height:60px; font-size:1.05rem; }
  .faq summary, .qa summary{ padding-top:20px; padding-bottom:20px; }
  .foot-grid ul{ gap:0; }
  .foot-grid a{ display:inline-flex; align-items:center; min-height:44px; }
  footer{ padding-bottom:calc(110px + env(safe-area-inset-bottom,0px)); }

  /* Fragen-Seite: Werkzeugleiste nicht festkleben, spart Platz */
  .fragen-tools{ position:static; background:none; backdrop-filter:none; -webkit-backdrop-filter:none; padding-top:0; }
  .qcat h2, .qa{ scroll-margin-top:90px; }

  /* Karten und Boxen etwas enger */
  .panel, .offer, .lock, .pcard, .mp-card, .stat, .obj, .feat, .hub-card, .cmp, .path, .prod3 .path{ padding:22px; }
  .seal{ padding:24px; gap:18px; }
  .seal-ring{ width:92px; height:92px; }
  .big-stat{ padding:24px; }
  .measure{ padding:24px; }
  .eq-item{ padding:18px; }

  /* Handy-Mockup kleiner */
  .device-wrap{ min-height:0; }
  .phone{ width:236px; height:470px; border-radius:38px; padding:10px; }
  .phone-screen{ border-radius:30px; }
  .toast{ right:-4px; top:90px; width:210px; padding:12px 14px; }
}

/* Mobiles Menü als volle Fläche mit großen Zielen */
@media (max-width:1140px){
  .menu summary{ min-height:44px; padding:0 18px; }
  .menu-panel{ position:fixed; left:12px; right:12px; top:calc(env(safe-area-inset-top,0px) + 80px); min-width:0; padding:8px; max-height:calc(100vh - 110px); overflow:auto; box-shadow:0 30px 60px -20px rgba(0,0,0,.9); }
  .menu-panel a{ min-height:52px; display:flex; align-items:center; font-size:1.05rem; padding:0 16px; }
  .menu-panel .btn{ justify-content:center; margin-top:10px; }
}

/* Mobile CTA-Leiste: optional mit Anrufen-Knopf */
.mcta-row{ display:flex; gap:10px; }
.mcta-row .btn{ flex:1; }
.mcta-row .btn-call{ flex:0 0 auto; width:56px; padding:0; background:var(--black); border:1px solid var(--line); color:var(--off); }
@media (max-width:760px){
  .chat .mock-note{ font-size:.82rem; }
  .seal-ring small{ font-size:.8rem; }
  .hero .cta-row .btn-ghost{ display:none; }
  .hero .cta-row .btn-primary{ width:100%; }
}
body{ overflow-wrap:break-word; }
@media (max-width:900px){
  .proof, .split, .req, .calc, .tryit, .measure2, .ecom, .region, .market, .bm-head, .check-grid, .hero-grid, .layout-2, .fragen-grid, .dash-body{ grid-template-columns:minmax(0,1fr); }
}
.case-shell dd, .case-shell dt{ min-width:0; }
@media (max-width:640px){ .table-wrap td:first-child::before{ display:none; } .table-wrap td:first-child{ font-size:1.02rem; margin-bottom:4px; } }

/* ================= Live-Check ================= */
.fxc{ --fx-red:#C47A6C; --fx-orange:#CC955F; --fx-amber:#C9B26A; --fx-green:#82A68C; --fx-unk:#6F6E6B; }
.fx-form{ margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:760px; }
.fx-form .field{ margin:0; } .fx-form .full{ grid-column:1/-1; }
@media (max-width:600px){ .fx-form{ grid-template-columns:minmax(0,1fr); } }
.fx-run-title{ font-size:clamp(1.6rem,3.4vw,2.4rem); }
.fx-steps{ list-style:none; padding:0; margin:28px 0 0; max-width:720px; }
.fx-steps li{ display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; padding:13px 0; border-bottom:1px solid var(--line-soft); color:var(--gray); transition:color .3s; }
.fx-steps li.run{ color:var(--text2); } .fx-steps li.done{ color:var(--off); }
.fx-dot{ width:22px; height:22px; margin-top:2px; border-radius:50%; border:1.5px solid var(--line); }
.fx-steps li.run .fx-dot{ border-color:var(--gold); border-top-color:transparent; animation:spin .8s linear infinite; }
.fx-steps li.done .fx-dot{ background:var(--gold); border-color:var(--gold); box-shadow:inset 0 0 0 5px var(--black); }
.fx-banner{ padding:12px 16px; border-radius:var(--radius-m); background:#2A2316; color:#E6D3AE; border:1px solid var(--line); font-size:.9rem; margin-bottom:24px; }
.fx-hero{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:40px; align-items:center; padding:32px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
@media (max-width:760px){ .fx-hero{ grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; padding:24px; gap:20px; } }
.fx-ring{ position:relative; width:190px; height:190px; }
.fx-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.fx-ring .tr{ stroke:rgba(242,242,240,.07); } .fx-ring .vl{ stroke-linecap:round; transition:stroke-dashoffset 1.4s cubic-bezier(.2,.7,.2,1); }
.fx-ring-c{ position:absolute; inset:0; display:grid; place-content:center; text-align:center; }
.fx-ring-c b{ font-size:3rem; font-weight:700; letter-spacing:-.03em; line-height:1; } .fx-ring-c b.rng{ font-size:2.1rem; }
.fx-ring-c small{ color:var(--gray); margin-top:6px; }
.fx-status{ display:block; font-weight:600; margin-bottom:6px; }
.fx-hero h2{ font-size:clamp(1.4rem,3vw,2rem); max-width:none; }
.fx-conf{ margin-top:18px; max-width:420px; } @media (max-width:760px){ .fx-conf{ margin:18px auto 0; } }
.fx-conf-row{ display:flex; justify-content:space-between; font-size:.85rem; color:var(--gray); margin-bottom:6px; }
.fx-bar{ height:5px; border-radius:5px; background:rgba(242,242,240,.07); overflow:hidden; } .fx-bar i{ display:block; height:100%; background:var(--gold-deep); border-radius:5px; transition:width 1s ease; }
.fx-meta{ margin-top:14px; font-size:.85rem; color:var(--gray); }
.fx-h{ font-size:clamp(1.4rem,2.8vw,1.9rem); margin:56px 0 18px; max-width:none; }
.fx-q{ border:1px solid var(--line-soft); border-radius:var(--radius-m); background:var(--black); margin-bottom:10px; }
.fx-q summary{ list-style:none; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:16px 18px; }
.fx-q summary::-webkit-details-marker{ display:none; }
@media (max-width:700px){ .fx-q summary{ grid-template-columns:1fr 1fr; } .fx-q-t{ grid-column:1/-1; } }
.fx-q-t small{ display:block; color:var(--gray); font-size:.8rem; }
.fx-q-r{ display:grid; gap:2px; font-size:.82rem; } .fx-q-p{ color:var(--gray); }
.fx-q-s{ font-weight:600; } .fx-q-s.ok{ color:var(--fx-green); } .fx-q-s.no{ color:var(--fx-red); } .fx-q-s.unk{ color:var(--gray); font-weight:500; }
.fx-ex{ padding:0 18px 14px; } .fx-ex b{ font-size:.82rem; color:var(--gold); font-weight:600; } .fx-ex p{ color:var(--text2); font-size:.9rem; white-space:pre-wrap; margin-top:4px; }
.fx-named{ margin-top:18px; padding:22px; border-radius:var(--radius-l); border:1px solid var(--gold-deep); background:linear-gradient(150deg,#151713,#0C0E0D); }
.fx-named h3{ font-size:1.15rem; } .fx-named ul{ list-style:none; margin:14px 0 10px; padding:0; display:grid; gap:8px; }
.fx-named li{ display:flex; justify-content:space-between; gap:12px; padding:10px 14px; border-radius:var(--radius-s); background:rgba(242,242,240,.04); }
.fx-named li b{ color:var(--gold); } .fx-named p{ font-size:.85rem; }
.fx-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media (max-width:900px){ .fx-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:440px){ .fx-cards{ grid-template-columns:minmax(0,1fr); } }
.fx-card{ padding:20px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line-soft); display:grid; gap:10px; }
.fx-card h3{ font-size:1rem; } .fx-card-s{ font-size:1.8rem; font-weight:700; } .fx-card-s small{ font-size:.9rem; color:var(--gray); font-weight:500; } .fx-card p.muted{ font-size:.85rem; }
.fx-acc{ border:1px solid var(--line-soft); border-radius:var(--radius-m); background:var(--black); margin-bottom:10px; }
.fx-acc summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:12px; padding:18px 20px; min-height:56px; align-items:center; }
.fx-acc summary::-webkit-details-marker{ display:none; }
.fx-why{ padding:0 20px 8px; font-size:.92rem; }
.fx-cks{ list-style:none; margin:0; padding:0 20px 16px; }
.fx-ck{ display:grid; grid-template-columns:26px minmax(0,1fr) auto; gap:12px; align-items:start; padding:12px 0; border-top:1px solid var(--line-soft); font-size:.94rem; }
.fx-ck small{ display:block; color:var(--gray); font-size:.8rem; margin-top:2px; }
.fx-ic{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:.75rem; font-weight:700; margin-top:1px; }
.fx-ck.passed .fx-ic{ background:rgba(130,166,140,.16); color:var(--fx-green); } .fx-ck.warning .fx-ic{ background:rgba(201,178,106,.16); color:var(--fx-amber); }
.fx-ck.failed .fx-ic{ background:rgba(196,122,108,.16); color:var(--fx-red); } .fx-ck.unknown .fx-ic{ background:rgba(111,110,107,.2); color:var(--gray); }
.fx-st{ font-size:.78rem; color:var(--gray); white-space:nowrap; }
@media (max-width:520px){ .fx-ck{ grid-template-columns:26px minmax(0,1fr); } .fx-st{ grid-column:2; } }
.fx-levers{ margin-top:28px; } .fx-levers h3{ font-size:1.2rem; } .fx-levers ol{ margin:10px 0 0; padding-left:1.2em; color:var(--text2); display:grid; gap:6px; }
.fx-lead{ margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; border-color:var(--gold-deep); }
@media (max-width:900px){ .fx-lead{ grid-template-columns:minmax(0,1fr); } }
.fx-lead h2{ font-size:1.5rem; max-width:none; }
.fx-method{ margin-top:20px; font-size:.8rem; color:var(--gray); max-width:80ch; }

/* ================= Website-Konfigurator ================= */
.wc-progress{ display:flex; gap:8px; margin-bottom:28px; flex-wrap:wrap; }
.wc-progress span{ font-size:.85rem; padding:6px 12px; border-radius:999px; border:1px solid var(--line-soft); color:var(--gray); }
.wc-progress span.on{ border-color:var(--gold-deep); color:var(--gold); }
.wc-form{ margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:860px; }
.wc-form .field{ margin:0; } .wc-form .full{ grid-column:1/-1; }
@media (max-width:640px){ .wc-form{ grid-template-columns:minmax(0,1fr); } }
.wc-l{ font-weight:600; font-size:.95rem; }
.wc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 8px; }
.wc-chip input{ position:absolute; opacity:0; pointer-events:none; }
.wc-chip span{ display:inline-flex; align-items:center; min-height:44px; padding:0 16px; border-radius:999px; border:1px solid var(--line); cursor:pointer; font-size:.92rem; color:var(--text2); transition:all .15s; }
.wc-chip input:checked + span{ background:var(--gold); color:var(--deep); border-color:var(--gold); font-weight:600; }
.wc-chip input:focus-visible + span{ outline:2px solid var(--gold); outline-offset:2px; }
.wc-flags{ display:flex !important; flex-wrap:wrap; gap:12px 24px; align-items:center; }
.wc-flags label{ display:flex; align-items:center; gap:8px; font-weight:500; min-height:44px; }
.wc-year input{ width:90px; min-height:44px; }
.wc-sws{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.wc-sw{ display:grid; justify-items:center; gap:4px; cursor:pointer; }
.wc-sw input{ position:absolute; opacity:0; }
.wc-sw span{ width:44px; height:44px; border-radius:50%; border:2px solid transparent; box-shadow:0 0 0 1px var(--line); }
.wc-sw input:checked + span{ border-color:var(--off); box-shadow:0 0 0 3px var(--gold); }
.wc-sw em{ font-style:normal; font-size:.78rem; color:var(--gray); }
.wc-form input[type=file]{ padding:12px; min-height:52px; }
.wc-h{ font-size:clamp(2rem,4.4vw,3.2rem); }
.wc-view{ display:flex; gap:8px; margin:24px 0; }
.wc-designs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
@media (max-width:1000px){ .wc-designs{ grid-template-columns:minmax(0,1fr); } }
.wc-d{ display:grid; gap:12px; }
.wc-frame{ position:relative; display:block; width:100%; aspect-ratio:4/3.2; border:1px solid var(--line); border-radius:var(--radius-l); overflow:hidden; background:#fff; padding:0; cursor:zoom-in; transition:border-color .2s, transform .2s; }
.wc-frame:hover{ border-color:var(--gold); transform:translateY(-3px); }
.wc-frame iframe{ position:absolute; top:0; left:0; width:1280px; height:1024px; border:0; transform-origin:0 0; pointer-events:none; }
.wc-frame.desktop iframe{ transform:scale(var(--wc-s, .28)); }
.wc-frame.mobile{ background:#1A1C1A; }
.wc-frame.mobile iframe{ width:390px; height:844px; left:50%; top:6%; transform:translateX(-50%) scale(.42); transform-origin:50% 0; border-radius:28px; }
.wc-d-meta{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.wc-d-meta b{ display:block; font-size:1.1rem; } .wc-d-meta .muted{ font-size:.88rem; }
.wc-d-meta .btn{ min-height:46px; padding:0 18px; }
.wc-modal{ position:fixed; inset:0; z-index:100; background:rgba(5,6,5,.96); display:flex; flex-direction:column; padding-top:env(safe-area-inset-top,0px); }
.wc-modal[hidden]{ display:none; }
.wc-modal-bar{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.wc-modal-bar > div{ display:flex; gap:8px; }
.wc-modal-bar .btn{ min-height:44px; padding:0 18px; }
.wc-modal iframe{ flex:1; width:100%; border:0; background:#fff; }
.wc-order{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
@media (max-width:900px){ .wc-order{ grid-template-columns:minmax(0,1fr); } }
.wc-order h2{ font-size:1.4rem; max-width:none; margin-bottom:14px; }
.wc-sum{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 18px; margin:0; font-size:.95rem; }
.wc-sum dt{ color:var(--gray); } .wc-sum dd{ margin:0; }
.wc-incl{ list-style:none; margin:20px 0 0; padding:0; display:grid; gap:8px; color:var(--text2); font-size:.94rem; }
.wc-incl li{ display:grid; grid-template-columns:16px 1fr; gap:10px; } .wc-incl li::before{ content:""; width:8px; height:8px; margin-top:.55em; border-radius:2px; background:var(--gold-deep); }
#wc-order-form{ display:grid; gap:14px; } #wc-order-form .field{ margin:0; }
.wc-sw, .wc-chip{ position:relative; }
.wc-sw input, .wc-chip input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; pointer-events:none; }
.wc-modal{ background:var(--deep); } .wc-modal-bar{ background:var(--black); }

/* ================= Hero: Chat im Hintergrund ================= */
.hero-bgchat{ min-height:min(780px, calc(100vh - 72px)); display:flex; align-items:center; }
.hero-bgchat .wrap{ width:100%; }
.hero-bgchat::before{ z-index:0; }
.hero-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; display:flex; align-items:center; justify-content:flex-end;
  padding-right:max(24px, calc((100% - var(--maxw)) / 2 + 24px)); perspective:1400px; }
.hero-bg .chat{ width:min(540px, 44vw); pointer-events:none; opacity:.72; transform:rotateY(-14deg) rotateX(4deg) translateX(10px); transform-origin:right center;
  box-shadow:0 60px 120px -40px rgba(0,0,0,.95);
  -webkit-mask-image:linear-gradient(100deg, transparent 0%, rgba(0,0,0,.55) 22%, #000 48%); mask-image:linear-gradient(100deg, transparent 0%, rgba(0,0,0,.55) 22%, #000 48%); }
.hero-bg .chat-pause{ pointer-events:auto; }
.hero-solo{ position:relative; z-index:2; }
.hero-text{ max-width:620px; }
.hero-text h1, .hero-text .hero-q, .hero-text .lead{ text-shadow:0 2px 24px rgba(5,6,5,.85); }
@media (max-width:980px){
  .hero-bgchat{ min-height:0; display:block; }
  .hero-bg{ align-items:flex-start; justify-content:center; padding:24px 16px 0; }
  .hero-bg .chat{ width:100%; max-width:460px; opacity:.22; transform:none;
    -webkit-mask-image:linear-gradient(180deg, #000 30%, transparent 95%); mask-image:linear-gradient(180deg, #000 30%, transparent 95%); }
  
  .hero-text{ max-width:none; }
}
@media (prefers-reduced-motion: reduce){ .hero-bg .chat{ transform:none; } }

/* ================= Hero minimal ================= */
.hero-text{ max-width:640px; }
.hero-bgchat h1{ font-size:clamp(2.6rem,5.6vw,4.6rem); font-weight:700; letter-spacing:-.025em; line-height:1.04; max-width:13ch; }
.hero-bgchat h1 .gold{ display:block; background:linear-gradient(180deg,#E3D6BF,#B8A382); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none; }
.hero-sub{ margin-top:22px; font-size:clamp(1.1rem,1.8vw,1.3rem); color:var(--text2); max-width:34ch; text-shadow:0 2px 24px rgba(5,6,5,.85); }
.hero-form{ margin-top:34px; display:flex; gap:6px; padding:6px; border-radius:999px; background:rgba(17,19,18,.88); border:1px solid var(--line); max-width:540px; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 20px 50px -20px rgba(0,0,0,.9); }
.hero-form:focus-within{ border-color:var(--gold-deep); }
.hero-form input{ flex:1; min-width:0; background:transparent; border:0; color:var(--off); font:inherit; font-size:1.02rem; padding:0 18px; min-height:52px; }
.hero-form input:focus{ outline:none; }
.hero-form input::placeholder{ color:var(--bronze); }
.hero-form .btn{ flex-shrink:0; }
.hero-trust{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; font-size:.88rem; color:var(--gray); }
.hero-trust span{ display:inline-flex; align-items:center; gap:7px; }
.hero-trust span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--gold-deep); }
.hero-src{ position:absolute; left:0; right:0; bottom:18px; z-index:2; text-align:center; font-size:.75rem; color:var(--bronze); margin:0; padding:0 16px; }
@media (max-width:560px){
  .hero-form{ flex-direction:column; border-radius:22px; padding:8px; }
  .hero-form input{ text-align:center; }
  .hero-form .btn{ width:100%; }
  .hero-src{ position:static; margin-top:28px; text-align:left; padding:0 24px; }
}
@media (max-width:760px){ .hero-bgchat h1{ max-width:none; } }

/* Chat rechts neben dem Text, ohne Überlappung */
.hero-bgchat{ --ht:640px; }
@media (max-width:1180px){ .hero-bgchat{ --ht:520px; } }
.hero-bgchat .hero-text{ max-width:var(--ht); }
@media (min-width:981px){
  .hero-bg{ justify-content:flex-end; padding-right:max(24px, calc((100% - var(--maxw)) / 2 + 8px)); }
  .hero-bg .chat{
    width:min(540px, calc(100vw - (max(0px, (100vw - var(--maxw)) / 2) + 24px + var(--ht)) - 56px));
    opacity:.9; transform:rotateY(-10deg) rotateX(3deg); transform-origin:right center;
    -webkit-mask-image:linear-gradient(100deg, rgba(0,0,0,.35) 0%, #000 28%); mask-image:linear-gradient(100deg, rgba(0,0,0,.35) 0%, #000 28%);
  }
}
@media (min-width:981px){
  .hero-bg{ padding-right:24px; }
  .hero-bg .chat{ width:min(540px, calc(100vw - 24px - (max(0px, (100vw - var(--maxw)) / 2) + 24px + var(--ht)) - 56px)); }
}
@media (min-width:981px){
  .hero-bg{ padding-right:max(24px, calc((100vw - var(--maxw)) / 2 - 100px)); }
  .hero-bg .chat{ width:min(560px, calc(100vw - max(24px, (100vw - var(--maxw)) / 2 - 100px) - (max(0px, (100vw - var(--maxw)) / 2) + 24px + var(--ht)) - 52px)); }
}
@media (max-width:980px){
  .hero-bgchat{ display:flex; flex-direction:column; }
  .hero-bgchat .hero-solo{ order:1; }
  .hero-bg{ position:static; order:2; padding:36px 24px 0; pointer-events:auto; justify-content:center; }
  .hero-bg .chat{ opacity:1; max-width:460px; -webkit-mask-image:none; mask-image:none; }
  .hero-src{ order:3; }
}

/* ===== Hero-Chat endgültig: füllt den freien Raum rechts, nie hinter dem Text ===== */
@media (min-width:981px){
  .hero-bg{
    left:calc(max(0px, (100vw - var(--maxw)) / 2) + 24px + var(--ht) + 48px);
    right:-48px; top:0; bottom:0; padding:0;
    display:flex; align-items:center; justify-content:center; perspective:1600px;
  }
  .hero-bg .chat{
    width:100%; max-width:780px; opacity:.78;
    transform:rotateY(-12deg) rotateX(3deg); transform-origin:center center;
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.25) 0%, #000 22%, #000 88%, rgba(0,0,0,.4) 100%);
            mask-image:linear-gradient(90deg, rgba(0,0,0,.25) 0%, #000 22%, #000 88%, rgba(0,0,0,.4) 100%);
  }
  .hero-bgchat{ overflow:hidden; }
}

/* ================= Hero final: Chat füllt den freien Bereich rechts, nie hinter dem Text ================= */
@media (min-width:981px){
  .hero-bg{
    left:calc(max(0px, (100vw - var(--maxw)) / 2) + 24px + var(--ht) + 48px);
    right:-48px; padding:0; justify-content:center; align-items:center; perspective:1600px;
  }
  .hero-bg .chat{
    width:100%; max-width:780px; opacity:.78;
    transform:rotateY(-12deg) rotateX(3deg); transform-origin:left center;
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.25) 0%, #000 22%, #000 88%, rgba(0,0,0,.4) 100%);
            mask-image:linear-gradient(90deg, rgba(0,0,0,.25) 0%, #000 22%, #000 88%, rgba(0,0,0,.4) 100%);
    box-shadow:0 80px 140px -50px rgba(0,0,0,.95);
  }
  .hero::after{ right:auto; left:58%; width:760px; height:760px; top:0; }
}

/* Vertrauensleiste */
.trust-strip{ padding:0; border-top:1px solid var(--line-soft); background:var(--surface); }
.ts{ display:flex; align-items:center; justify-content:space-between; gap:16px 32px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; }
.ts ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 28px; }
.ts li{ display:flex; align-items:center; gap:8px; color:var(--text2); font-size:.92rem; }
.ts li svg{ color:var(--gold); }
.ts-count{ font-size:.95rem; color:var(--off); } .ts-count b{ color:var(--gold); font-size:1.2rem; margin-right:4px; }
@media (max-width:760px){ .ts ul{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; } .ts li{ font-size:.86rem; align-items:flex-start; } }

/* Bewertungen (erscheinen erst mit echten Einträgen) */
.rvs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:40px; }
@media (max-width:900px){ .rvs{ grid-template-columns:minmax(0,1fr); } }
.rv{ margin:0; padding:26px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); display:flex; flex-direction:column; gap:14px; }
.rv-stars{ color:var(--gold); letter-spacing:2px; }
.rv blockquote{ margin:0; color:var(--text3); font-size:1rem; line-height:1.6; }
.rv figcaption{ margin-top:auto; display:grid; gap:2px; } .rv figcaption span{ color:var(--text2); font-size:.9rem; } .rv small{ color:var(--gray); font-size:.8rem; } .rv small a{ color:var(--gray); }
@media (min-width:981px){
  .hero-bg{ right:max(24px, calc((100vw - var(--maxw)) / 2 - 140px)); }
  .hero-bg .chat{ max-width:820px; transform:rotateY(-9deg) rotateX(2deg); transform-origin:right center; }
}
@media (min-width:981px){
  .hero-bg{ right:24px; }
  .hero-bg .chat{ max-width:940px; }
}
@media (min-width:981px) and (max-width:1280px){
  .hero-bg .msg-ai li small{ display:none; }
  .hero-bg .chat-body{ padding:16px; gap:12px; }
  .hero-bg .msg-user, .hero-bg .msg-ai{ font-size:.9rem; }
  .hero-bg .msg-ai li{ padding:9px 12px; }
}
.wc-h{ max-width:none; }
.brand .word{ width:145px; height:16px; }
@media (max-width:420px){ .brand .word{ width:122px; height:13px; } }
.foot-about img{ width:145px; height:auto; }



/* ================= Sprachumschalter ================= */
.langsw{ position:relative; margin-left:auto; margin-right:10px; }
.langsw summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; min-height:42px; padding:0 12px; border-radius:999px; border:1px solid var(--line); color:var(--text2); font-size:.88rem; font-weight:600; }
.langsw summary::-webkit-details-marker{ display:none; }
.langsw summary:hover{ color:var(--off); border-color:var(--gold-deep); }
.langsw-panel{ position:absolute; right:0; top:50px; z-index:60; min-width:170px; padding:6px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line); box-shadow:0 20px 40px -12px rgba(0,0,0,.85); display:grid; gap:2px; }
.langsw-panel a{ display:flex; align-items:center; min-height:44px; padding:0 14px; border-radius:var(--radius-s); text-decoration:none; color:var(--text2); }
.langsw-panel a:hover{ background:var(--raised); color:var(--off); }
.langsw-panel a[aria-current="true"]{ color:var(--gold); font-weight:600; }
.nav .wrap{ gap:14px; }
@media (max-width:1140px){ .langsw{ margin-right:6px; } }
@media (max-width:480px){
  .nav .wrap{ gap:8px; }
  .langsw{ margin-right:0; }
  .langsw summary{ padding:0 10px; gap:5px; min-height:40px; font-size:.82rem; }
  .menu summary{ padding:0 14px; }
}
@media (max-width:360px){
  .langsw summary svg{ display:none; }
  .brand .word{ width:110px; height:12px; }
}
.nav ul a, .nav .nav-cta{ white-space:nowrap; }

/* Menü je Sprache rechtzeitig kompakt */
@media (max-width:1240px){ html[lang="de"] .nav ul, html[lang="de"] .nav .nav-cta{ display:none; } html[lang="de"] .menu{ display:block; } }
@media (max-width:1160px){ html[lang="en"] .nav ul, html[lang="en"] .nav .nav-cta{ display:none; } html[lang="en"] .menu{ display:block; } }
@media (max-width:1310px){ html[lang="ru"] .nav ul, html[lang="ru"] .nav .nav-cta{ display:none; } html[lang="ru"] .menu{ display:block; } }
@media (max-width:1390px){ html[lang="es"] .nav ul, html[lang="es"] .nav .nav-cta{ display:none; } html[lang="es"] .menu{ display:block; } }
.brand .word{ width:102px; height:20px; }
@media (max-width:420px){ .brand .word{ width:92px; height:18px; } }
.foot-about img{ width:120px; height:auto; }

/* ================= Navigation mit Menüs ================= */
.nav ul{ align-items:center; }
.dd{ position:relative; }
.dd summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px; color:var(--text2); font-size:.95rem; padding:8px 4px; white-space:nowrap; }
.dd summary::-webkit-details-marker{ display:none; }
.dd summary::after{ content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7; }
.dd summary:hover, .dd[open] summary, .dd summary.is-cur{ color:var(--off); }
.dd-panel{ position:absolute; left:-14px; top:44px; z-index:60; min-width:290px; padding:8px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line); box-shadow:0 24px 50px -16px rgba(0,0,0,.9); display:grid; gap:2px; }
.dd-panel a{ display:grid; gap:2px; padding:11px 14px; border-radius:var(--radius-s); text-decoration:none; color:var(--off); }
.dd-panel a b{ font-weight:600; font-size:.95rem; } .dd-panel a span{ font-size:.82rem; color:var(--gray); }
.dd-panel a:hover, .dd-panel a[aria-current]{ background:var(--raised); }
.menu-panel .mgroup{ margin:10px 16px 2px; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--bronze); }
.foot-disclaimer{ margin-top:32px; font-size:.78rem; color:var(--gray); max-width:90ch; line-height:1.55; }

/* ================= Startseite v6 ================= */
.hero-stat{ font-size:clamp(1rem,1.6vw,1.15rem); color:var(--text2); margin-bottom:18px; }
.hero-stat b{ color:var(--gold); font-weight:700; font-size:1.15em; }
.hero-bgchat h1{ font-size:clamp(2.2rem,4.6vw,3.9rem); max-width:16ch; }
.hero-alt{ color:var(--gold); text-decoration:none; font-weight:600; border-bottom:1px solid var(--gold-deep); }
.hero-trust .hero-alt::before{ display:none; }
.cmp-label{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); }
.cmp.ki .cmp-label{ color:var(--gold); }
.research{ padding-top:0; }
.src-line{ margin-top:14px; font-size:.82rem; color:var(--gray); }
.ask-list{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:10px; }
.ask-list li{ padding:14px 18px; border-radius:18px 18px 18px 4px; background:var(--raised); color:var(--off); font-size:1rem; }
.yesno{ display:grid; gap:12px; margin:18px 0 6px; }
.yesno div{ padding:16px 18px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line-soft); }
.yesno b{ color:var(--gold); } .yesno p{ color:var(--text2); margin-top:4px; }
.check-teaser{ padding-top:0; }
.ct-box{ display:grid; grid-template-columns:1fr 1.1fr; gap:36px; align-items:center; padding:36px; border-radius:28px; border:1px solid var(--gold-deep); background:linear-gradient(150deg,#151713,#0B0D0C); }
@media (max-width:900px){ .ct-box{ grid-template-columns:minmax(0,1fr); padding:24px; gap:22px; } }
.ct-form{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ct-form .field{ margin:0; } .ct-form .full{ grid-column:1/-1; }
@media (max-width:560px){ .ct-form{ grid-template-columns:minmax(0,1fr); } }
.sys{ list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; counter-reset:s; }
@media (max-width:1000px){ .sys{ grid-template-columns:minmax(0,1fr); } }
.sys li{ position:relative; padding:22px; border-radius:var(--radius-l); background:var(--black); border:1px solid var(--line-soft); }
.sys li:not(:last-child)::after{ content:"→"; position:absolute; right:-11px; top:50%; transform:translateY(-50%); color:var(--gold); font-size:1.1rem; z-index:1; }
@media (max-width:1000px){ .sys li:not(:last-child)::after{ content:"↓"; right:auto; left:50%; top:auto; bottom:-17px; transform:translateX(-50%); } }
.sys-k{ display:block; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--bronze); margin-bottom:8px; }
.sys b{ display:block; font-size:1.15rem; } .sys p{ color:var(--text2); font-size:.9rem; margin-top:6px; }
.checks-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.checks-list li{ display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start; padding:14px 16px; border-radius:var(--radius-m); background:var(--black); border:1px solid var(--line-soft); color:var(--text2); }
.checks-list svg{ color:var(--gold); margin-top:3px; }
.pgrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:36px; }
.pgrid-2{ margin-top:16px; }
@media (max-width:900px){ .pgrid{ grid-template-columns:minmax(0,1fr); } }
.pcard ul{ margin:14px 0; padding-left:1.1em; color:var(--text2); display:grid; gap:6px; }
.pcard .btn{ margin-top:14px; }
.pc-price b{ font-size:2rem; }

/* ================= Animiertes Entwicklungsdiagramm ================= */
.vchart{ margin:40px 0 0; padding:28px 28px 18px; border-radius:var(--radius-l); background:linear-gradient(160deg,#121412,#0A0C0B); border:1px solid var(--line-soft); box-shadow:0 30px 60px -40px rgba(0,0,0,.9); }
.vchart svg{ width:100%; height:auto; display:block; overflow:visible; }
.vchart-legend{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:10px; font-size:.9rem; color:var(--text2); }
.lg{ display:inline-flex; align-items:center; gap:8px; } .lg::before{ content:""; width:22px; height:3px; border-radius:3px; }
.lg-vis::before{ background:var(--gold); } .lg-req::before{ background:var(--gray); }
.vc-grid line{ stroke:rgba(242,242,240,.06); stroke-width:1; }
.vc-phases line{ stroke:rgba(200,185,162,.18); stroke-dasharray:4 6; }
.vc-phases text{ fill:var(--bronze); font-size:13px; text-anchor:middle; font-family:inherit; }
.vc-axis{ fill:var(--gray); font-size:12px; font-family:inherit; }
.vc-vis, .vc-req{ fill:none; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; }
.vc-vis{ stroke-width:4; filter:drop-shadow(0 0 10px rgba(200,185,162,.35)); }
.vc-req{ stroke:#979694; stroke-width:3; }
.vc-area{ opacity:0; }
.vc-dot{ opacity:0; transform-box:fill-box; transform-origin:center; transform:scale(.3); }
.vc-dot-vis{ fill:var(--gold); } .vc-dot-req{ fill:#979694; }
.vchart.is-in .vc-vis{ animation:vcDraw 2.2s cubic-bezier(.4,0,.2,1) .2s forwards; }
.vchart.is-in .vc-req{ animation:vcDraw 2.2s cubic-bezier(.4,0,.2,1) .8s forwards; }
.vchart.is-in .vc-area{ animation:vcFade 1.2s ease 1.4s forwards; }
.vchart.is-in .vc-dot-vis{ animation:vcPop .5s cubic-bezier(.2,1.6,.4,1) 2.3s forwards, vcPulse 2.4s ease-in-out 2.9s infinite; }
.vchart.is-in .vc-dot-req{ animation:vcPop .5s cubic-bezier(.2,1.6,.4,1) 2.9s forwards; }
@keyframes vcDraw{ to{ stroke-dashoffset:0; } }
@keyframes vcFade{ to{ opacity:1; } }
@keyframes vcPop{ to{ opacity:1; transform:scale(1); } }
@keyframes vcPulse{ 0%,100%{ filter:drop-shadow(0 0 0 rgba(200,185,162,0)); } 50%{ filter:drop-shadow(0 0 10px rgba(200,185,162,.8)); } }
.vchart figcaption{ margin-top:12px; font-size:.8rem; color:var(--gray); }
@media (max-width:560px){ .vchart{ padding:18px 14px 12px; } .vc-phases text{ font-size:17px; } .vc-axis{ font-size:15px; } }
@media (prefers-reduced-motion: reduce){ .vc-vis, .vc-req{ stroke-dashoffset:0; animation:none !important; } .vc-area, .vc-dot{ opacity:1; transform:none; animation:none !important; } }

/* Diagramm v2: mit FuxKi gegen ohne */
.vchart2 .vc-req{ stroke:#6F6E6B; stroke-width:3; stroke-dasharray:1; }
.vchart2 .vc-vis{ stroke-width:5; }
.vc-start{ fill:var(--off); }
.vc-tag{ fill:var(--text2); font-size:14px; font-family:inherit; opacity:0; }
.vc-end{ fill:var(--off); font-size:17px; font-weight:700; font-family:inherit; opacity:0; }
.vc-end.vc-end-vis{ fill:var(--gold); }
.vc-endsub{ fill:var(--gray); font-size:13px; font-family:inherit; opacity:0; }
.vc-gaplabel{ fill:var(--gold); font-size:16px; font-weight:600; font-family:inherit; letter-spacing:.02em; opacity:0; }
.vc-ylab{ text-anchor:middle; font-size:12px; }
.vchart2.is-in .vc-start{ animation:vcPop .4s cubic-bezier(.2,1.6,.4,1) .1s forwards; }
.vchart2.is-in .vc-tag-start{ animation:vcFade .5s ease .2s forwards; }
.vchart2.is-in .vc-req{ animation:vcDraw 2s cubic-bezier(.4,0,.2,1) .4s forwards; }
.vchart2.is-in .vc-vis{ animation:vcDraw 2.2s cubic-bezier(.4,0,.2,1) .6s forwards; }
.vchart2.is-in .vc-area{ animation:vcFade 1.2s ease 1.9s forwards; }
.vchart2.is-in .vc-dot-req{ animation:vcPop .45s cubic-bezier(.2,1.6,.4,1) 2.3s forwards; }
.vchart2.is-in .vc-dot-vis{ animation:vcPop .45s cubic-bezier(.2,1.6,.4,1) 2.7s forwards, vcPulse 2.4s ease-in-out 3.2s infinite; }
.vchart2.is-in .vc-end-req{ animation:vcFade .5s ease 2.4s forwards; }
.vchart2.is-in .vc-end-vis{ animation:vcFade .5s ease 2.8s forwards; }
.vchart2.is-in .vc-gaplabel{ animation:vcFade .6s ease 2.6s forwards; }
@media (max-width:560px){ .vc-end{ font-size:22px; } .vc-endsub{ font-size:17px; } .vc-gaplabel{ font-size:20px; } .vc-tag{ font-size:18px; } .vc-ylab{ font-size:16px; } }
@media (prefers-reduced-motion: reduce){ .vc-tag, .vc-end, .vc-endsub, .vc-gaplabel{ opacity:1; animation:none !important; } }
.vc-legend2{ display:none; }
@media (max-width:700px){
  .vchart2 .vc-end, .vchart2 .vc-endsub, .vchart2 .vc-gaplabel, .vchart2 .vc-tag, .vchart2 .vc-ylab, .vchart2 .vc-axis{ display:none; }
  .vc-legend2{ display:grid; gap:10px; margin-top:16px; }
  .vc-legend2 p{ display:grid; grid-template-columns:14px auto 1fr; gap:4px 10px; align-items:center; font-size:.95rem; }
  .vc-legend2 p::before{ content:""; width:14px; height:4px; border-radius:4px; }
  .vc-legend2 .lv::before{ background:var(--gold); } .vc-legend2 .lr::before{ background:#6F6E6B; } .vc-legend2 .lg2::before{ height:12px; background:rgba(200,185,162,.25); }
  .vc-legend2 b{ color:var(--off); } .vc-legend2 .lv b{ color:var(--gold); } .vc-legend2 span{ color:var(--text2); }
}

/* Keine automatische Silbentrennung irgendwo */
html, body, *{ -webkit-hyphens:manual; hyphens:manual; }
p, li{ text-wrap:pretty; }

/* Überschriften auf schmalen Handys: jedes Wort passt im Ganzen, ohne Trennung */
@media (max-width:430px){
  h1, .page-head h1, .p-hero h1{ font-size:min(2.05rem, 8.2vw); }
  .hero-bgchat h1{ font-size:min(2.15rem, 8.6vw); }
  h2{ font-size:min(1.7rem, 7vw); }
  article h2, .prose h2, .legal h2{ font-size:min(1.35rem, 5.4vw); }
  h3{ font-size:min(1.2rem, 5.6vw); }
}

/* ================= Angebote ================= */
.of-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; align-items:stretch; }
@media (max-width:1000px){ .of-grid{ grid-template-columns:minmax(0,1fr); } }
.of-card{ position:relative; display:flex; flex-direction:column; padding:30px 26px; border-radius:20px; background:var(--black); border:1px solid var(--line-soft); }
.of-card.gold{ border-color:var(--gold-deep); background:linear-gradient(170deg,#161814,#0C0E0D); box-shadow:0 30px 60px -40px rgba(200,185,162,.35); }
.of-badge{ align-self:flex-start; margin-bottom:14px; padding:5px 12px; border-radius:999px; font-size:.78rem; font-weight:600; color:var(--deep); background:var(--gold); }
.of-badge-quiet{ color:var(--gold); background:transparent; border:1px solid var(--gold-deep); }
.of-card h3, .of-ads h3{ font-size:1.25rem; }
.of-price{ margin:12px 0 0; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.of-price b{ font-size:2.4rem; font-weight:700; letter-spacing:-.02em; line-height:1; } .of-price span{ color:var(--gray); font-size:.92rem; }
.of-ads .of-price b{ font-size:1.5rem; }
.of-claim{ margin-top:12px; color:var(--text2); font-size:.98rem; min-height:3em; }
.of-cta{ margin:20px 0 6px; width:100%; }
.of-inc{ margin-top:16px; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:var(--bronze); }
.of-list{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:9px; }
.of-list li{ display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; font-size:.93rem; color:var(--text2); line-height:1.45; }
.of-list svg{ color:var(--gold); margin-top:3px; width:16px; height:16px; }
.of-note{ margin-top:auto; padding-top:16px; font-size:.83rem; color:var(--gray); line-height:1.5; border-top:1px solid var(--line-soft); margin-top:18px; }
.of-ads{ margin-top:18px; display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; padding:28px 26px; border-radius:20px; border:1px dashed var(--line); background:rgba(17,19,18,.6); }
@media (max-width:900px){ .of-ads{ grid-template-columns:minmax(0,1fr); gap:10px; } }
.of-ads .btn{ margin-top:16px; }
.of-notes{ margin-top:22px; display:grid; gap:10px; font-size:.9rem; color:var(--text2); max-width:90ch; }
.of-notes strong{ color:var(--off); }
.of-card .of-badge{ position:absolute; top:-13px; left:24px; margin:0; }
.of-grid{ margin-top:48px; row-gap:30px; }

/* ================= Preisseite (Plan-Stil) ================= */
.pl-head{ padding:44px 0 72px; }
.pl-head h1{ font-size:clamp(2.6rem,6vw,4.2rem); text-align:center; }
.tabs{ display:flex; justify-content:center; gap:4px; margin:26px auto 0; padding:4px; border-radius:999px; background:var(--black); border:1px solid var(--line-soft); width:fit-content; max-width:100%; overflow-x:auto; }
.tab{ border:0; background:none; color:var(--text2); font:inherit; font-size:.92rem; font-weight:600; padding:0 18px; min-height:42px; border-radius:999px; cursor:pointer; white-space:nowrap; }
.tab:hover{ color:var(--off); } .tab.is-on{ background:var(--raised); color:var(--off); box-shadow:inset 0 0 0 1px var(--line); }
.tabpanel{ margin-top:36px; }
.pl-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
@media (max-width:1000px){ .pl-grid{ grid-template-columns:minmax(0,1fr); max-width:560px; margin:0 auto; } }
.pl-card{ position:relative; display:flex; flex-direction:column; padding:30px 26px 28px; border-radius:20px; background:var(--black); border:1px solid var(--line-soft); }
.pl-card.is-featured{ border-color:var(--gold-deep); background:linear-gradient(175deg,#171914,#0C0E0D); }
.pl-badge{ position:absolute; top:-12px; left:24px; padding:4px 12px; border-radius:999px; font-size:.76rem; font-weight:600; color:var(--deep); background:var(--gold); }
.pl-card h3{ font-size:1.3rem; }
.pl-tag{ margin-top:6px; color:var(--gray); font-size:.93rem; min-height:2.9em; }
.pl-price{ margin-top:18px; font-size:2.8rem; font-weight:700; letter-spacing:-.03em; line-height:1; color:var(--off); }
.pl-ads .pl-price{ font-size:1.8rem; }
.pl-note{ margin-top:8px; color:var(--gray); font-size:.86rem; min-height:1.4em; }
.pl-cta{ width:100%; margin:20px 0 22px; }
.pl-lead{ font-weight:600; font-size:.92rem; color:var(--off); margin-bottom:12px; }
.pl-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.pl-list li{ display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; font-size:.92rem; color:var(--text2); line-height:1.45; }
.pl-list svg{ width:16px; height:16px; margin-top:3px; color:var(--gold); }
.pl-ads{ display:grid; grid-template-columns:1fr 1.2fr; gap:36px; max-width:980px; margin:0 auto; }
@media (max-width:860px){ .pl-ads{ grid-template-columns:minmax(0,1fr); gap:8px; } }
.pl-foot{ margin-top:16px; font-size:.84rem; color:var(--gray); line-height:1.55; max-width:90ch; }
.pl-legal{ margin:28px auto 0; max-width:820px; text-align:center; font-size:.84rem; color:var(--gray); line-height:1.6; }
.pl-compare h2, .pl-faq h2{ text-align:center; max-width:none; }
.cmp-wrap{ margin-top:32px; overflow-x:auto; border-radius:18px; border:1px solid var(--line-soft); }
.cmp-table{ width:100%; border-collapse:collapse; min-width:560px; }
.cmp-table thead th{ position:sticky; top:0; background:var(--black); padding:18px 16px; text-align:left; vertical-align:bottom; border-bottom:1px solid var(--line); }
.cmp-table thead th b{ display:block; font-size:1.05rem; color:var(--off); } .cmp-table thead th span{ display:block; color:var(--gray); font-size:.84rem; margin:2px 0 10px; font-weight:400; }
.btn-sm{ min-height:38px; padding:0 14px; font-size:.84rem; }
.cmp-table tbody th{ text-align:left; font-weight:400; color:var(--text2); padding:14px 16px; width:48%; }
.cmp-table td{ padding:14px 16px; color:var(--off); font-size:.93rem; }
.cmp-table tbody tr{ border-top:1px solid var(--line-soft); }
.cmp-group th{ padding:22px 16px 10px !important; font-weight:600 !important; color:var(--gold) !important; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; background:rgba(200,185,162,.04); }
.ck-yes svg{ width:18px; height:18px; color:var(--gold); } .ck-no{ color:var(--gray); }
.pl-faq .tabs{ margin-bottom:8px; }
@media (max-width:600px){
  .cmp-table{ min-width:0; } .cmp-table tbody th{ width:44%; font-size:.86rem; padding:12px 10px; } .cmp-table td{ font-size:.85rem; padding:12px 8px; }
  .cmp-table thead th{ padding:14px 8px; } .cmp-table thead th .btn{ display:none; }
  .pl-price{ font-size:2.4rem; }
}
@media (min-width:1001px){ .pl-grid .pl-tag{ min-height:4.4em; } }
.pl-cta{ min-height:58px; line-height:1.25; }
@supports (grid-template-rows: subgrid){
  @media (min-width:1001px){
    .pl-grid .pl-card{ display:grid; grid-template-rows:subgrid; grid-row:span 7; row-gap:0; }
    .pl-grid .pl-tag, .pl-grid .pl-note{ min-height:0; }
    .pl-grid .pl-list{ align-self:start; }
  }
}

/* ================= Produktkarten Startseite (Plan-Stil) ================= */
.pc4-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:40px; align-items:stretch; }
@media (max-width:1180px){ .pc4-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .pc4-grid{ grid-template-columns:minmax(0,1fr); } }
.pc4{ display:flex; flex-direction:column; padding:28px 22px 26px; border-radius:18px; background:#151716; border:1px solid rgba(242,242,240,.08); }
.pc4-alt{ border-color:rgba(200,185,162,.32); background:#131514; }
.pc4-ic{ display:block; width:40px; height:40px; color:var(--off); margin-bottom:22px; }
.pc4-ic svg{ width:40px; height:40px; }
.pc4 h3{ font-size:1.65rem; font-weight:700; letter-spacing:-.02em; }
.pc4-tag{ margin-top:4px; color:var(--text2); font-size:.92rem; min-height:2.8em; }
.pc4-price{ margin-top:22px; font-size:1.25rem; font-weight:700; color:var(--off); }
.pc4-note{ margin-top:4px; font-size:.78rem; color:var(--gray); line-height:1.45; min-height:2.3em; }
.pc4-btn{ display:flex; align-items:center; justify-content:center; text-align:center; margin-top:22px; min-height:44px; padding:0 14px; border-radius:8px; background:var(--off); color:#111312; font-weight:600; font-size:.92rem; text-decoration:none; transition:background .2s, transform .15s; }
.pc4-btn:hover{ background:#fff; } .pc4-btn:active{ transform:scale(.98); }
.pc4-hr{ border:0; border-top:1px solid rgba(242,242,240,.1); margin:22px 0 16px; }
.pc4-lead{ font-weight:700; font-size:.86rem; color:var(--off); margin-bottom:10px; }
.pc4-list{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.pc4-list li{ display:grid; grid-template-columns:16px 1fr; gap:9px; align-items:start; font-size:.84rem; color:var(--text2); line-height:1.45; }
.pc4-list svg{ width:14px; height:14px; margin-top:3px; color:var(--text2); }
.pc4-foot{ margin-top:22px; font-size:.8rem; color:var(--gray); max-width:100ch; line-height:1.55; }
.pc4-foot a{ color:var(--gold); }
@supports (grid-template-rows: subgrid){
  @media (min-width:1181px){ .pc4-grid .pc4{ display:grid; grid-template-rows:subgrid; grid-row:span 9; row-gap:0; } .pc4-tag, .pc4-note{ min-height:0; } .pc4-list{ align-self:start; } }
}

/* ================= Gebietsschutz ================= */
.terr{ position:relative; overflow:hidden; }
.terr::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(60% 50% at 80% 20%, rgba(200,185,162,.08), transparent 70%); }
.terr-top{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
@media (max-width:960px){ .terr-top{ grid-template-columns:minmax(0,1fr); gap:28px; } }
.terr h2{ font-size:clamp(2rem,4.2vw,3.2rem); max-width:18ch; }
.terr-fig{ position:relative; margin:0; border-radius:24px; border:1px solid var(--line-soft); background:linear-gradient(160deg,#121412,#0A0C0B); padding:18px; }
.terr-fig svg{ width:100%; height:auto; display:block; }
.terr-grid line{ stroke:rgba(242,242,240,.05); stroke-width:1; }
.terr-road{ fill:none; stroke:rgba(242,242,240,.09); stroke-width:6; stroke-linecap:round; }
.terr-zone{ fill:rgba(200,185,162,.10); stroke:var(--gold); stroke-width:2; stroke-dasharray:8 7; }
.terr-pin-you circle{ fill:var(--gold); } .terr-pin-you path{ stroke:#111312; }
.terr-pin-out circle{ fill:#3a3c3b; stroke:#5a5c5b; }
.terr-x path{ stroke:#C47A6C; stroke-width:2.2; stroke-linecap:round; }
.terr-label{ position:absolute; left:28px; bottom:44px; display:flex; gap:10px; align-items:center; padding:10px 14px; border-radius:12px; background:rgba(17,19,18,.92); border:1px solid var(--gold-deep); backdrop-filter:blur(6px); }
.terr-label b{ display:block; font-size:.92rem; color:var(--off); } .terr-label small{ color:var(--gray); font-size:.78rem; }
.terr-dot{ width:10px; height:10px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(200,185,162,.6); }
.terr-fig figcaption{ margin-top:8px; font-size:.75rem; color:var(--bronze); text-align:right; }
.terr-fig .terr-zone{ animation:terrDash 18s linear infinite; }
.terr-fig .terr-glow{ animation:terrGlow 4s ease-in-out infinite; transform-origin:210px 170px; }
.terr-fig .terr-pin-you{ animation:terrPop 2.6s ease-in-out infinite; transform-origin:210px 170px; transform-box:view-box; }
.terr-dot{ animation:terrPulse 2.2s ease-out infinite; }
@keyframes terrDash{ to{ stroke-dashoffset:-150; } }
@keyframes terrGlow{ 0%,100%{ opacity:.7; transform:scale(.96); } 50%{ opacity:1; transform:scale(1.04); } }
@keyframes terrPop{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.06); } }
@keyframes terrPulse{ 0%{ box-shadow:0 0 0 0 rgba(200,185,162,.55); } 100%{ box-shadow:0 0 0 12px rgba(200,185,162,0); } }
@media (prefers-reduced-motion: reduce){ .terr-fig *, .terr-dot{ animation:none !important; } }
.terr-benefits{ position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:48px; }
@media (max-width:1100px){ .terr-benefits{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .terr-benefits{ grid-template-columns:minmax(0,1fr); } }
.tb{ padding:24px 22px; border-radius:18px; background:var(--black); border:1px solid var(--line-soft); }
.tb-n{ display:block; font-size:.8rem; color:var(--gold); font-weight:700; letter-spacing:.06em; margin-bottom:12px; }
.tb h3{ font-size:1.12rem; } .tb p{ margin-top:8px; color:var(--text2); font-size:.92rem; }
.terr-check{ position:relative; margin-top:20px; display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center; padding:28px; border-radius:22px; border:1px solid var(--gold-deep); background:linear-gradient(150deg,#161814,#0C0E0D); }
@media (max-width:900px){ .terr-check{ grid-template-columns:minmax(0,1fr); gap:16px; padding:22px; } }
.terr-check h3{ font-size:1.4rem; } .terr-check p{ margin-top:6px; color:var(--text2); }
.terr-form{ display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }
.terr-form .field{ margin:0; }
@media (max-width:640px){ .terr-form{ grid-template-columns:minmax(0,1fr); } .terr-form .btn{ width:100%; } }
.terr-note{ position:relative; margin-top:16px; font-size:.82rem; color:var(--gray); max-width:90ch; }
.nw{ white-space:nowrap; }
/* Feinschliff für sehr schmale Handys */
.chat{ max-width:100%; min-width:0; }
.chat-head{ flex-wrap:wrap; gap:8px; }
.mp-head{ flex-wrap:wrap; gap:8px; }
@media (max-width:560px){ .objs{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:400px){ .chat-pause{ font-size:.74rem; padding:0 10px; min-height:36px; } .demo-tag{ font-size:.72rem; } }
@media (max-width:340px){ .obj .nw, .tb .nw{ white-space:normal; } }
@media (max-width:560px){ .features{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:340px){ .feat .nw, .feat h3{ white-space:normal; } .feat h3{ font-size:1.02rem; } }
.btn .nw, .pc4-btn .nw, .tab .nw, .chip .nw{ display:contents; }

/* ================= WhatsApp ================= */
.btn-wa{ gap:10px; } .btn-wa svg{ width:20px; height:20px; flex-shrink:0; }
.btn-ghost.btn-wa svg{ color:var(--gold); }
.mcta-row .btn-call-wa{ color:var(--gold); }
.mcta-row .btn-call-wa svg{ width:24px; height:24px; }
.wa-link{ display:inline-flex; align-items:center; gap:8px; margin-top:18px; min-height:44px; color:var(--gold); font-size:.88rem; font-weight:600; text-decoration:none; }
.wa-link svg{ width:18px; height:18px; } .wa-link:hover{ color:var(--off); }
.pc4 .wa-link, .pl-card .wa-link{ margin-top:auto; padding-top:14px; }
.wa-box{ display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding:22px; border-radius:18px; border:1px solid var(--gold-deep); background:linear-gradient(150deg,#161814,#0C0E0D); margin-bottom:18px; }
.wa-box b{ font-size:1.15rem; color:var(--off); } .wa-box p{ margin-top:4px; color:var(--text2); font-size:.93rem; }
.wa-or{ margin:0 0 12px; color:var(--gray); font-size:.88rem; }
.final-alt{ margin-top:12px; font-size:.9rem; } .final-alt a{ color:var(--gray); } .final-alt a:hover{ color:var(--off); }
.terr-more{ margin-top:14px; } .terr-more a{ color:var(--gold); font-size:.92rem; }
@media (max-width:560px){ .wa-box .btn{ width:100%; } }

/* Diagramm: dritte Linie "Nur klassisches SEO" */
.vchart2 .vc-seo{ fill:none; stroke:#8C846F; stroke-width:3; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; }
.vc-dot-seo{ fill:#8C846F; }
.vc-end.vc-end-seo{ fill:#C9C2B2; }
.vchart2.is-in .vc-seo{ animation:vcDraw 2.1s cubic-bezier(.4,0,.2,1) .5s forwards; }
.vchart2.is-in .vc-dot-seo{ animation:vcPop .45s cubic-bezier(.2,1.6,.4,1) 2.5s forwards; }
.vchart2.is-in .vc-end-seo{ animation:vcFade .5s ease 2.6s forwards; }
.vc-legend2 .ls::before{ background:#8C846F; }
@media (prefers-reduced-motion: reduce){ .vchart2 .vc-seo{ stroke-dashoffset:0; animation:none !important; } }

/* Abschnitt „Warum KI-Sichtbarkeit“ */
.cmp-who{ margin-top:14px; color:var(--text2); font-size:.95rem; }
.cmp-desc{ margin-top:16px; color:var(--text2); font-size:.98rem; line-height:1.6; }
.cmp.ki .cmp-desc{ color:var(--off); }
.shift-claim{ margin-top:48px; padding:30px 32px; border-left:3px solid var(--gold); background:linear-gradient(90deg, rgba(200,185,162,.07), transparent 70%); border-radius:0 18px 18px 0; max-width:900px; }
.shift-big{ font-size:clamp(1.4rem,2.8vw,2rem); font-weight:700; letter-spacing:-.015em; line-height:1.25; color:var(--off); }
@media (max-width:560px){ .shift-claim{ padding:22px 20px; } }

/* Abschnitt „Warum KI-Sichtbarkeit“ im Stil der Vorlage */
.why2-head{ text-align:center; max-width:960px; margin:0 auto; }
.why2-kicker{ display:block; text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.why2-head h2{ margin:10px auto 0; max-width:none; font-size:clamp(2rem,4.6vw,3.6rem); }
.why2-head .lead{ margin:18px auto 0; max-width:62ch; }
.why2-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1290px; margin:56px auto 0; }
@media (max-width:860px){ .why2-grid{ grid-template-columns:minmax(0,1fr); gap:16px; margin-top:36px; } }
.why2-card{ padding:40px; border-radius:18px; background:#0A0B0A; border:1px solid rgba(242,242,240,.10); }
.why2-card.is-ki{ background:#1C1B19; border-color:rgba(200,185,162,.45); }
@media (max-width:560px){ .why2-card{ padding:26px 22px; } }
.why2-top{ display:flex; align-items:center; gap:14px; }
.why2-ic{ width:50px; height:50px; border-radius:12px; display:grid; place-items:center; background:rgba(242,242,240,.10); color:var(--off); flex-shrink:0; }
.why2-ic svg{ width:22px; height:22px; }
.why2-label{ text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:.95rem; color:var(--text2); }
.why2-card.is-ki .why2-label{ color:var(--off); }
.why2-who{ margin-top:36px; color:var(--text2); font-size:1rem; }
.why2-q{ margin-top:18px; font-size:clamp(1.25rem,2vw,1.6rem); font-weight:700; line-height:1.35; color:var(--off); }
.why2-desc{ margin-top:12px; color:var(--gray); font-size:1rem; line-height:1.55; }
.why2 .shift-claim{ margin-left:auto; margin-right:auto; max-width:1290px; }
.why2 .question{ text-align:center; margin-left:auto; margin-right:auto; }
.why2 .question h2{ margin:0 auto; } .why2 .question .cta-row{ justify-content:center; }
.why2-head{ max-width:1100px; } .why2-head h2{ font-size:clamp(2rem,4.2vw,3.4rem); text-wrap:balance; }

/* ================= KI-Check als persönliche Anfrage ================= */
.kc-head{ max-width:760px; }
.kc-steps{ list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:980px; }
@media (max-width:760px){ .kc-steps{ grid-template-columns:minmax(0,1fr); } }
.kc-steps li{ display:flex; gap:12px; align-items:flex-start; padding:16px; border-radius:16px; background:var(--black); border:1px solid var(--line-soft); }
.kc-steps li > span{ width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--deep); font-weight:700; flex-shrink:0; }
.kc-steps b{ color:var(--off); } .kc-steps p{ color:var(--text2); font-size:.88rem; margin-top:2px; }
.kc-wrap{ display:grid; grid-template-columns:1.25fr .75fr; gap:22px; margin-top:26px; align-items:start; }
@media (max-width:960px){ .kc-wrap{ grid-template-columns:minmax(0,1fr); } }
.kc-form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kc-form .field{ margin:0; } .kc-form .full{ grid-column:1/-1; }
@media (max-width:560px){ .kc-form{ grid-template-columns:minmax(0,1fr); } }
.kc-check{ display:flex; gap:8px; align-items:center; margin-top:8px; font-size:.86rem; color:var(--text2); min-height:32px; cursor:pointer; }
.kc-check input{ width:18px; height:18px; accent-color:var(--gold); }
.kc-form input:disabled{ opacity:.45; }
.kc-form [aria-invalid="true"]{ border-color:#C47A6C !important; }
.kc-consent{ font-size:.86rem; }
.kc-small{ font-size:.84rem; color:var(--gray); text-align:center; }
.kc-side{ padding:24px; border-radius:20px; border:1px solid var(--line-soft); background:var(--black); }
.kc-side h3{ font-size:1.15rem; margin-bottom:14px; }
.kc-get li{ background:transparent; border:0; padding:6px 0; }
.kc-side-wa{ margin-top:18px; font-size:.9rem; color:var(--text2); display:grid; gap:10px; }
.kc-done{ text-align:left; }
.kc-ok{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--deep); margin-bottom:14px; }
.kc-ok svg{ width:26px; height:26px; }
.kc-next{ margin:16px 0 0; padding-left:1.2em; display:grid; gap:8px; color:var(--text2); }
.kc-wa-tip{ margin-top:18px; padding:14px 16px; border-radius:14px; border:1px solid var(--gold-deep); background:rgba(200,185,162,.06); font-size:.92rem; color:var(--text2); }
.kc-wa-tip b{ color:var(--gold); }

/* Schutz-Span für Wörter mit Bindestrich: erbt immer alles vom umgebenden Text */
.nw.nw{ display:inline; width:auto; height:auto; min-width:0; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; white-space:nowrap; place-items:normal; }
.btn .nw.nw, .pc4-btn .nw.nw, .tab .nw.nw, .chip .nw.nw{ display:contents; }
.nw.nw{ display:inline !important; width:auto !important; height:auto !important; padding:0 !important; margin:0 !important; border:0 !important; background:none !important; box-shadow:none !important; color:inherit !important; font:inherit !important; letter-spacing:inherit !important; text-transform:inherit !important; }
.btn .nw.nw, .pc4-btn .nw.nw, .tab .nw.nw, .chip .nw.nw{ display:contents !important; }
@media (max-width:340px){ .obj .nw.nw, .tb .nw.nw, .feat .nw.nw, .pl-list .nw.nw, .pc4-list .nw.nw, .kc-form .nw.nw{ white-space:normal; } }

/* ================= Plattform-Leiste ================= */
.pf{ padding:34px 0 26px; }
.pf-title{ text-align:center; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--bronze); font-weight:600; }
.pf-row{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; max-width:1000px; margin:18px auto 0; }
@media (max-width:820px){ .pf-row{ grid-template-columns:minmax(0,1fr); max-width:460px; gap:10px; } }
.pf-card{ position:relative; overflow:hidden; display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:center; padding:16px 18px; border-radius:16px; background:var(--black); border:1px solid var(--line-soft); }
.pf-ic{ grid-row:span 2; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; color:var(--gold); background:rgba(200,185,162,.08); border:1px solid rgba(200,185,162,.22); transition:box-shadow .4s; }
.pf-ic svg{ width:24px; height:24px; }
.pf-txt b{ display:block; font-size:1.08rem; color:var(--off); letter-spacing:-.01em; } .pf-txt small{ display:block; font-size:.8rem; color:var(--gray); margin-top:1px; }
.pf-status{ position:relative; display:flex; align-items:center; gap:7px; height:18px; font-size:.74rem; color:var(--text2); }
.pf-status i{ width:7px; height:7px; border-radius:50%; background:var(--gold); flex-shrink:0; box-shadow:0 0 0 0 rgba(200,185,162,.6); animation:pfPulse 2s ease-out infinite; animation-delay:calc(var(--i) * .7s); }
.pf-status em{ position:absolute; left:14px; font-style:normal; opacity:0; animation:pfStep 6.3s infinite; }
.pf-s1{ animation-delay:calc(var(--i) * .7s) !important; } .pf-s2{ animation-delay:calc(var(--i) * .7s + 2.1s) !important; } .pf-s3{ animation-delay:calc(var(--i) * .7s + 4.2s) !important; }
.pf-scan{ position:absolute; left:0; bottom:0; height:2px; width:100%; background:linear-gradient(90deg, transparent, var(--gold), transparent); transform:translateX(-100%); animation:pfScan 6.3s cubic-bezier(.4,0,.2,1) infinite; animation-delay:calc(var(--i) * .7s); opacity:.85; }
.pf-card::after{ content:""; position:absolute; inset:0; border-radius:16px; pointer-events:none; border:1px solid rgba(200,185,162,0); animation:pfGlow 6.3s ease-in-out infinite; animation-delay:calc(var(--i) * .7s); }
@keyframes pfStep{ 0%{ opacity:0; transform:translateY(4px); } 4%{ opacity:1; transform:none; } 30%{ opacity:1; } 33.3%,100%{ opacity:0; transform:translateY(-4px); } }
@keyframes pfScan{ 0%{ transform:translateX(-100%); } 30%,100%{ transform:translateX(100%); } }
@keyframes pfGlow{ 0%,100%{ border-color:rgba(200,185,162,0); } 12%{ border-color:rgba(200,185,162,.45); } 34%{ border-color:rgba(200,185,162,0); } }
@keyframes pfPulse{ 0%{ box-shadow:0 0 0 0 rgba(200,185,162,.55); } 100%{ box-shadow:0 0 0 8px rgba(200,185,162,0); } }
.pf-compact{ padding:6px 0 0; } .pf-compact .wrap{ padding:0; } .pf-compact .pf-title{ text-align:left; } .pf-compact .pf-row{ margin-left:0; max-width:980px; }
@media (prefers-reduced-motion: reduce){ .pf *, .pf-card::after{ animation:none !important; } .pf-s3{ opacity:1; } .pf-scan{ display:none; } }
.pf-logo{ width:30px; height:30px; object-fit:contain; }
.pf-ic.has-logo{ background:#fff; border-color:transparent; }
.pf-ic.has-logo svg{ display:none; }

/* Branchen-Menü: zweispaltig */
.dd-panel.dd-wide{ grid-template-columns:repeat(2,minmax(0,1fr)); min-width:520px; }
.dd-panel.dd-wide a{ padding:10px 14px; }
.dd-panel.dd-wide a b{ font-weight:500; font-size:.92rem; }
.dd-panel.dd-wide a[href$="#andere"]{ grid-column:1/-1; border-top:1px solid var(--line-soft); border-radius:0 0 var(--radius-s) var(--radius-s); color:var(--gold); }
.qa-open{ padding:22px 0; border-bottom:1px solid var(--line-soft); }
.qa-open h3{ font-size:1.15rem; margin:0 0 8px; }
.qa-open p{ color:var(--text2); line-height:1.65; max-width:80ch; }

/* Methodik-Stufen und Pillar-Seiten */
.stages{ list-style:none; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
.stages li{ display:flex; gap:14px; align-items:flex-start; padding:18px; border-radius:16px; background:var(--black); border:1px solid var(--line-soft); }
.st-n{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--deep); font-weight:700; flex-shrink:0; }
.stages b{ color:var(--off); } .stages p{ margin-top:4px; color:var(--text2); font-size:.92rem; }
.prose-wide{ max-width:820px; }
