/* ProntoSite Landing – gemeinsame Styles für alle Seiten (/, /funktionen, /preise, /so-gehts).
   LIGHT MODE als Standard: weißer Grund, dunkle Typo; Akzent #4f46e5 aus dem Logo. Keine externen
   Ressourcen (Fonts/Skripte). Nav + Footer sind auf allen Seiten identisch (Tests erzwingen das). */
:root{
  color-scheme:light;   /* Landing immer im Light-Mode rendern (UA-Controls/Scrollbars, auch bei OS-Dark) */
  --bg:#ffffff;--soft:#f5f5fa;--text:#18181b;--muted:#6b7280;
  --brand:#4f46e5;--brand-hover:#4338ca;--brand-soft:#eef2ff;--line:#e5e7eb;
  --wrap:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 "Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
a{color:var(--brand)}
h1,h2,h3{line-height:1.18;margin:0}
em{font-style:normal;color:var(--brand)}
.kicker{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:700;margin:0 0 10px}
h2{font-size:clamp(1.5rem,4vw,2.05rem);font-weight:700}
.sub{color:var(--muted);margin:10px 0 0;max-width:62ch}
section{padding:64px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:9px;
  font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s ease}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-hover)}
.btn.secondary{background:#fff;color:var(--text);border-color:var(--line)}
.btn.secondary:hover{border-color:var(--muted)}
.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---- Kopfzeile / Navigation (auf allen Seiten identisch) ----
   Drei Zonen: Logo links · Navigation mittig · CTA/Login rechts (Grid mit auto|1fr|auto). */
.site-head{border-bottom:1px solid var(--line);background:#fff}   /* einheitlicher Kopf auf allen Seiten */
.topnav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 0}
.topnav .logo{height:32px;width:auto;display:block}
/* Wortmarke als ECHTER Text (Icon-Mark + „ProntoSite") – der Name steht sichtbar im HTML, nicht nur im Bild. */
.topnav .brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.topnav .brandmark{height:30px;width:auto;display:block;flex:none}
.topnav .brandword{font-weight:800;font-size:1.32rem;letter-spacing:-.015em;line-height:1;color:var(--text)}
.topnav .brandword .b{color:var(--brand)}
.topnav .nav{justify-self:center;display:flex;gap:2px;flex-wrap:wrap}
/* Menü-Link-Regeln NUR echte Links treffen (nicht die Drawer-Buttons .btn) – sonst überschreibt
   `.topnav .nav a` (0,2,1) die Button-Regeln `.btn.primary` (0,2,0) → falsche Textfarbe/Hover im Drawer. */
.topnav .nav a:not(.btn){padding:8px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem}
.topnav .nav a:not(.btn):hover{color:var(--text);background:var(--soft)}
.topnav .nav a.active,.topnav .nav a[aria-current="page"]{color:var(--brand);background:var(--brand-soft)}
.topnav .navcta{justify-self:end;display:flex;gap:8px;align-items:center}
.topnav .btn{padding:9px 18px}
/* Mobile-Navigation: Drawer von rechts (Panel + Scrim; ✕/Esc/Overlay/Link schließt – Muster vom Fashion-Template). */
.menu-btn{display:none;justify-self:end;background:#fff;border:1px solid var(--line);border-radius:9px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}
.menu-btn svg{width:22px;height:22px}
.topnav .nav-scrim,.topnav .nav-close,.drawer-cta{display:none}
/* Beide Kopf-CTAs auf identische Höhe: 42px, vertikal zentriert (Nachtrag). Höhe steuert, vertikales
   Padding neutralisiert – horizontales bleibt (border-box). */
.navcta .btn{height:42px;padding-top:0;padding-bottom:0;line-height:1}
/* „Anmelden" im Kopf = Icon-Button (User-Icon) mit Tooltip (title); Label nur für Screenreader (+ mobil im Drawer). */
.navcta .btn.secondary{padding:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center}
.navcta .btn.secondary .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.navcta .btn.secondary .ic{display:inline-flex;width:20px;height:20px}
@media (max-width:860px){
  .topnav{grid-template-columns:auto 1fr auto}
  .topnav > a{justify-self:start}
  .menu-btn{display:inline-flex}
  .topnav .nav{position:fixed;top:0;right:0;height:100dvh;width:min(86vw,330px);justify-self:auto;flex-direction:column;flex-wrap:nowrap;gap:2px;
    background:#fff;border-left:1px solid var(--line);padding:16px 16px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;z-index:60;
    transform:translateX(100%);transition:transform .3s ease}
  .menu-btn[aria-expanded="true"] ~ .nav{transform:translateX(0);box-shadow:-14px 0 44px rgba(17,24,39,.26)}
  .topnav .nav a:not(.btn){padding:12px 12px;font-size:1rem;border-radius:8px}
  .topnav .nav-scrim{display:block;position:fixed;inset:0;background:rgba(255,255,255,.82);opacity:0;pointer-events:none;transition:opacity .3s;z-index:-1}
  .menu-btn[aria-expanded="true"] ~ .nav .nav-scrim{opacity:1;pointer-events:auto}
  .topnav .nav-close{display:inline-flex;align-self:flex-end;background:none;border:0;font-size:1.5rem;line-height:1;color:var(--text);cursor:pointer;padding:4px 8px;margin-bottom:4px}
  html:has(.menu-btn[aria-expanded="true"]){overflow:hidden}
  /* Sobald der Hamburger/Drawer aktiv ist (mobil, ≤860): BEIDE Kopf-CTAs RAUS aus dem .site-head und als
     LETZTE Einträge im Drawer NACH dem Preise-Link – „Kostenlos testen" als Primär-Button, „Anmelden" als
     Link mit User-Icon. Desktop (>860) bleibt unverändert. */
  .topnav .navcta{display:none}   /* Spezifitaet muss die Basisregel aus Zeile 39 schlagen (gleiche Spez., spaeter) */
  /* Drawer-CTAs nutzen die ECHTEN .btn-Klassen (gleicher Stil + Hover/Focus wie im Kopf); einzige mobile
     Anpassung: gestapelt + volle Breite. KEINE eigenen Farb-/Hover-Regeln, die die Buttons überschreiben. */
  .drawer-cta{display:flex;flex-direction:column;gap:8px;margin-top:16px}
  .drawer-cta .btn{width:100%}
  .drawer-cta .btn .ic{width:20px;height:20px;flex:none}
}

/* ---- HERO (Startseite) – animierter Gradient-Mesh in ProntoSite-Indigo ---- */
.hero{position:relative;overflow:hidden;isolation:isolate;padding:74px 0 60px;background:#fff}
/* Mesh: mehrere weiche, langsam driftende Radial-Blobs (nur transform/opacity → GPU-freundlich).
   Ein heller Scrim darüber hält den dunklen Text sicher über AA-Kontrast. Keine externen Assets. */
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg .blob{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform,opacity;transform:translateZ(0)}
/* SCHICHT 2: Plexus-Netz (Canvas) ÜBER dem Gradient, hinter dem Inhalt. Full-bleed. */
.hero-net{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-bg .b1{width:48vw;height:48vw;left:-8vw;top:-14vw;opacity:.55;background:radial-gradient(circle at 30% 30%,#818cf8,transparent 70%);animation:drift1 23s ease-in-out infinite alternate}
.hero-bg .b2{width:44vw;height:44vw;right:-10vw;top:-10vw;opacity:.4;background:radial-gradient(circle at 60% 40%,#4f46e5,transparent 68%);animation:drift2 27s ease-in-out infinite alternate}
.hero-bg .b3{width:42vw;height:42vw;left:22vw;bottom:-20vw;opacity:.5;background:radial-gradient(circle at 50% 50%,#a78bfa,transparent 70%);animation:drift3 31s ease-in-out infinite alternate}
.hero-bg .b4{width:36vw;height:36vw;right:6vw;bottom:-16vw;opacity:.6;background:radial-gradient(circle at 40% 60%,#c7d2fe,transparent 72%);animation:drift1 25s ease-in-out infinite alternate-reverse}
/* Scrim: heller Gesamtton + zusätzliche radiale Aufhellung LINKS (hinter dem Textblock) → dort
   praktisch weißer Grund, damit die dunkle Typo sicher über AA-Kontrast bleibt. */
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 20% 42%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.35) 46%,transparent 66%),linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.72) 82%)}
@keyframes drift1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4vw,3vw,0) scale(1.12)}}
@keyframes drift2{from{transform:translate3d(0,0,0) scale(1.05)}to{transform:translate3d(-5vw,4vw,0) scale(.92)}}
@keyframes drift3{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(3vw,-4vw,0) scale(1.1)}}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr;gap:44px;align-items:center}
.hero .slogan{font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brand);font-weight:700;margin:0 0 14px}
.hero h1{font-size:clamp(2.2rem,6vw,3.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}
.hero .lead{color:#3f3f46;font-size:clamp(1.05rem,2.4vw,1.3rem);margin:18px 0 30px;max-width:36ch}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .note{font-size:.82rem;color:var(--muted);margin:14px 0 0}
/* Trust-Zahlen (Stat-Muster: große Ziffer, kleines Label + Sub) */
.hero .stats{display:flex;flex-wrap:wrap;gap:26px 40px;margin:30px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
.hero .stat{display:flex;flex-direction:column}
.hero .stat .num{font-size:clamp(1.7rem,3.4vw,2.35rem);font-weight:800;letter-spacing:-.025em;color:var(--text);line-height:1}
.hero .stat .lbl{margin-top:7px;font-weight:700;font-size:.92rem;color:var(--text)}
.hero .stat .lbl small{display:block;font-weight:400;font-size:.76rem;color:var(--muted);margin-top:2px}
.chatdemo{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(24,24,27,.1);padding:22px;max-width:440px;transition:opacity .26s ease}
.chatdemo.fade{opacity:.28}
.chatdemo .row{display:flex;margin:10px 0}
.chatdemo .b{padding:10px 14px;border-radius:14px;font-size:.93rem;line-height:1.5;max-width:85%}
.chatdemo .user{justify-content:flex-end}
.chatdemo .user .b{background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.chatdemo .bot .b{background:var(--soft);color:var(--text);border-bottom-left-radius:4px}
.chatdemo .meta{font-size:.75rem;color:var(--muted);margin:12px 6px 2px}
/* Anbieter-Band als Hero-Abschluss */
.hero-providers{margin-top:54px}
.hero-providers .kicker{text-align:center;margin-bottom:12px}
.hero-providers .carousel{margin-top:0}
.hero-providers .disclaimer{text-align:center;margin:12px 0 0}
@media (prefers-reduced-motion: reduce){
  .hero-bg .blob{animation:none}   /* statischer Gradient statt Bewegung */
}

/* ---- Seitenkopf (Unterseiten) ---- */
/* Pagehead-Aufwertung: dieselbe Indigo-Verlaufsfläche wie der Home-Hero (.hero-bg) – STATISCH (keine
   Animation). Die vier Blob-Farbflächen als Radial-Verläufe + weiche weiße Überblendung für Lesbarkeit. */
.pagehead{position:relative;overflow:hidden;isolation:isolate;padding:52px 0;background:#fff}
.pagehead::before,.priceteaser::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(46vw 46vw at 6% -10%,rgba(129,140,248,.55),transparent 70%),
  radial-gradient(44vw 44vw at 96% -8%,rgba(79,70,229,.40),transparent 68%),
  radial-gradient(42vw 42vw at 34% 130%,rgba(167,139,250,.50),transparent 70%),
  radial-gradient(36vw 36vw at 92% 120%,rgba(199,210,254,.60),transparent 72%)}
.pagehead::after,.priceteaser::after{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(80% 120% at 18% 30%,rgba(255,255,255,.85) 0%,rgba(255,255,255,.35) 48%,transparent 70%),
  linear-gradient(180deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.78) 88%)}
.pagehead h1{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800}
.pagehead .sub{font-size:1.08rem;margin-top:12px}
@media (prefers-reduced-motion:reduce){.pagehead::before,.pagehead::after,.priceteaser::before,.priceteaser::after{background-attachment:initial}}

/* Zwei-Spalten-Pagehead (Bild links, Titel/Intro rechts; mobil gestapelt – Titel zuerst). */
.phead-grid{display:flex;flex-direction:column;gap:22px}
.phead-media img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 44px rgba(49,46,129,.20)}
.phead-credit{display:block;margin-top:7px;font-size:.72rem;color:var(--muted)}
.phead-credit a{color:inherit;text-decoration:underline}
@media (min-width:781px){
  .phead-grid{flex-direction:row-reverse;align-items:center;gap:40px}
  .phead-media{flex:0 0 40%;max-width:440px}
  .phead-copy{flex:1;min-width:0}
}

/* ---- Template-Story: drei Wege ---- */
.paths{display:grid;grid-template-columns:1fr;gap:18px;margin-top:32px}
.path{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;overflow:hidden}
.path .shot{display:block;margin:-26px -24px 20px;background:var(--brand-soft);border-bottom:1px solid var(--line)}
.path .shot img{display:block;width:100%;height:auto}   /* proportional (Quelle 3:2) – nie verzerrt/überlaufend */
.path.link{text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}
.path.link:hover{border-color:var(--brand);box-shadow:0 10px 28px rgba(79,70,229,.1)}
.path .tag{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-radius:99px;padding:4px 12px;margin-bottom:14px}
.path .tag.soon{background:#fef3c7;color:#92400e}
.path .tag.now{background:#dcfce7;color:#166534}
.path .tag.buy{background:var(--brand-soft);color:var(--brand)}
.path h3{font-size:1.15rem;margin-bottom:8px}
.path p{margin:0;color:var(--muted);font-size:.95rem}
.path .more{margin-top:auto;padding-top:16px;font-weight:600;font-size:.9rem;color:var(--brand)}   /* ans untere Kartenende – Buttons bündig */
.way-cta{margin-top:24px}
.pathsnote{margin:30px auto 0;text-align:center;color:var(--text);font-weight:600;font-size:1.02rem;max-width:66ch}

/* ---- Hero-Trust-Zeile ---- */
.hero .trustline{margin:12px 0 0;font-size:.82rem;color:var(--muted);font-weight:600}

/* ---- Highlight: Bilder inklusive (Unsplash) ---- */
.imagehl{background:linear-gradient(180deg,#fff 0%,var(--brand-soft) 140%)}
.ih-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
.ih-cta{margin-top:24px}
/* Foto-Collage: echte Unsplash-Fotos, versetzt/überlappt/leicht rotiert, verschiedene Größen */
.ih-visual{position:relative;aspect-ratio:1/1;width:100%;max-width:500px;margin:0 auto}
.ih-visual .ic{position:absolute;display:block;object-fit:cover;background:#fff;border:4px solid #fff;border-radius:14px;
  box-shadow:0 14px 34px rgba(24,24,27,.18);transition:transform .3s ease,box-shadow .3s ease}
.ih-visual .ic:hover{transform:rotate(0deg) scale(1.05);box-shadow:0 20px 46px rgba(24,24,27,.28);z-index:9}
.ic1{width:50%;aspect-ratio:4/3;top:2%;left:0;transform:rotate(-5deg);z-index:2}
.ic2{width:32%;aspect-ratio:3/4;top:0;left:57%;transform:rotate(5deg);z-index:3}
.ic3{width:48%;aspect-ratio:3/2;top:35%;left:19%;transform:rotate(-2deg);z-index:5}
.ic4{width:33%;aspect-ratio:3/4;top:45%;left:1%;transform:rotate(4deg);z-index:4}
.ic5{width:45%;aspect-ratio:3/2;top:60%;left:51%;transform:rotate(-6deg);z-index:3}
.ic6{width:24%;aspect-ratio:1/1;top:5%;left:38%;transform:rotate(9deg);z-index:1}
@media(prefers-reduced-motion:reduce){.ih-visual .ic{transition:none}}
.ih-credits{margin:26px auto 0;max-width:500px;font-size:.72rem;color:var(--muted);line-height:1.7}
.ih-credits a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.ih-credits a:hover{color:var(--text)}
@media (min-width:920px){.ih-grid{grid-template-columns:1.05fr .95fr}}

/* ---- Anbieter-Carousel ---- */
.carousel{margin-top:36px;position:relative}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:40px;width:max-content;animation:bandlauf 45s linear infinite;margin:0;padding:0}
.marquee:hover .track,.marquee:focus-within .track,.carousel.paused .track{animation-play-state:paused}
.track li{list-style:none;white-space:nowrap;display:flex;align-items:center;gap:9px;height:32px}
.track .pfav{width:28px;height:28px;object-fit:contain;border-radius:5px;flex:none}
.track .pw{font-weight:600;color:#a1a1aa;font-size:1.02rem;transition:color .25s ease}
.track .plogo{height:26px;width:auto;display:block}
@media (hover:hover){
  .track li:hover .pw,.track li:focus-within .pw{color:var(--text)}
}
@keyframes bandlauf{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .marquee{-webkit-mask-image:none;mask-image:none}
  .pausebtn{display:none}
}
.pausebtn{position:absolute;right:0;top:-14px;background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:5px 12px;font:inherit;font-size:.8rem;color:var(--muted);cursor:pointer}
.pausebtn:hover{color:var(--text)}
.disclaimer{font-size:.85rem;color:var(--muted);text-align:center;margin:18px auto 0;max-width:none}

/* ---- Features ---- */
.features{background:var(--soft)}
.fgrid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:34px}
.fcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.fcard svg{width:24px;height:24px;color:var(--brand);margin-bottom:12px}
.fcard h3{font-size:1.02rem;margin-bottom:6px}
.fcard p{margin:0;color:var(--muted);font-size:.9rem}
.centerlink{text-align:center;margin-top:28px}
/* ② Home-Feature-Karten: großes Icon als Hintergrund-Wasserzeichen (bleibt) + kleines Zeilen-Icon links
   neben dem Text (dieselbe Icon-Sprache wie /funktionen). */
.features .fcard{position:relative;overflow:hidden;min-height:134px;display:flex;gap:13px;align-items:flex-start}
.features .fcard > svg.wm{position:absolute;left:-24px;top:50%;transform:translateY(-50%);width:136px;height:136px;color:var(--brand);opacity:.08;margin:0;z-index:0}
.features .fcard > svg.ficon{position:relative;z-index:1;flex:none;width:24px;height:24px;color:var(--brand);opacity:1;margin:3px 0 0}
.features .fcard > .ftext{position:relative;z-index:1;min-width:0}
.features .fcard h3,.features .fcard p{position:relative;z-index:1}
/* ① Chip-Band „Was wegfällt" – animierte Pills mit STOP-Symbol (nach den drei Wegen). */
.nofuss{background:var(--soft)}
.nofuss .kicker{text-align:center}
.chips{list-style:none;margin:20px auto 0;padding:0;display:flex;flex-wrap:wrap;gap:11px;justify-content:center;max-width:900px}
.chips li{position:relative;overflow:hidden;background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);border-radius:999px;padding:10px 18px;font-weight:600;font-size:.95rem;color:var(--brand);display:inline-flex;align-items:center;gap:8px;animation:chipin .5s ease both;transition:transform .18s ease,box-shadow .18s ease,color .2s ease}
.chips li .noico{width:17px;height:17px;color:var(--brand);flex:none}
.chips li::after{content:"";position:absolute;left:41px;right:15px;top:52%;height:2px;background:currentColor;opacity:.5;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.chips li:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(79,70,229,.14);color:var(--text)}
.chips li:hover::after{transform:scaleX(1)}
@keyframes chipin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.chips li{animation:none}.chips li::after{transition:none}}
/* ③ /funktionen/: Gruppen mit klassischer Icon-links-Zeile (kein Wasserzeichen – exklusiv Home). */
.fgroup{margin-top:40px}
.fgroup > h2{font-size:1.25rem;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:8px}
.fgroup .fgrid{margin-top:20px}
.fgroup .fcard{display:flex;gap:14px;align-items:flex-start}
.fgroup .fcard > svg{width:26px;height:26px;color:var(--brand);flex:none;margin:3px 0 0}
.fgroup .fcard > div{min-width:0}
.fgroup .fcard h3{margin-bottom:6px}
.fgroup .fcard p{font-size:.94rem;line-height:1.55}
/* Feature-Gruppen (Funktionen-Seite) */
.fgroup{margin-top:44px}
.fgroup > h2{font-size:1.3rem}
.fgroup .glead{color:var(--muted);margin:6px 0 0}
/* „bald"/„in Vorbereitung"-Marker an Gruppen-Überschriften (Partner-Seite) */
.soonbadge{display:inline-block;margin-left:10px;vertical-align:middle;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);border-radius:999px;padding:3px 9px}
/* Fließtext-Hinweis unter einer Gruppen-Überschrift (z. B. „Alles kombinierbar") */
.fnote{margin-top:14px;max-width:70ch;font-size:.98rem;line-height:1.6;color:var(--muted)}
/* „Als Autor bewerben"-Formular (Partner-Seite) */
/* CTA-Zeile über einem aufklappbaren Formular (Bewerbung/Anfrage): Formular-Button primär + mailto daneben. */
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.applyform{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;max-width:620px;scroll-margin-top:84px}
.applyform[hidden]{display:none}
/* sanftes Aufklappen beim Einblenden (data-reveal setzt hidden weg) */
@media (prefers-reduced-motion:no-preference){.applyform:not([hidden]){animation:reveal .28s ease both}}
@keyframes reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.applyform h3{margin-bottom:6px}
.applyform p{color:var(--muted);font-size:.95rem;margin:0 0 14px}
.applyform label{display:block;font-weight:600;font-size:.9rem;margin-bottom:13px}
.applyform input,.applyform textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-weight:400;background:var(--soft);color:var(--text)}
.applyform textarea{resize:vertical}
.applyform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.applyform button{margin-top:4px}

/* ---- Pakete ---- */
.plans{display:grid;grid-template-columns:1fr;gap:18px;margin-top:34px}
.plan{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;display:flex;flex-direction:column}
.plan.hot{border-color:var(--brand);box-shadow:0 10px 34px rgba(79,70,229,.13)}
.plan h3{font-size:1.1rem}
.plan .price{font-size:2rem;font-weight:800;margin:12px 0 2px}
.plan .price small{font-size:.9rem;font-weight:500;color:var(--muted)}
.plan .approx{font-size:.78rem;color:var(--muted);margin:0 0 16px}
.plan ul{margin:0 0 22px;padding:0 0 0 2px;list-style:none;color:#3f3f46;font-size:.93rem}
.plan li{padding:5px 0 5px 26px;position:relative}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}
.plan .usage{background:var(--brand-soft);color:var(--brand);border-radius:8px;padding:9px 12px;
  font-weight:700;font-size:.92rem;margin:0 0 16px;text-align:center}
.plan .btn{margin-top:auto}
.plan .fine{font-size:.76rem;color:var(--muted);text-align:center;margin:10px 0 0}
/* ---- Info-Tooltips (Tarif-Karten): Begriff mit gestricheltem Underline + ⓘ, Hover/Fokus + Tap.
   JS (nav.js) steuert Öffnen/Schließen und positioniert die Blase (position:fixed, viewport-geklammert).
   Die Blase bleibt via opacity im A11y-Baum → aria-describedby wird zuverlässig vorgelesen. */
.tt{position:relative;display:inline}
.tt-term{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;
  text-decoration:underline dotted;text-decoration-color:var(--muted);text-underline-offset:2px}
.tt-term::after{content:"\24D8";font-size:.82em;color:var(--brand);margin-left:2px}
.tt:hover .tt-term,.tt.open .tt-term{text-decoration-color:var(--brand)}
.tt-term:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
.tt-pop{position:fixed;left:0;top:0;z-index:60;width:max-content;max-width:min(260px,86vw);
  background:#111827;color:#f9fafb;font-size:.8rem;line-height:1.5;font-weight:400;text-align:left;
  padding:9px 12px;border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.22);
  opacity:0;pointer-events:none;transition:opacity .13s ease}
.tt.open .tt-pop{opacity:1;pointer-events:auto}
.tt-pop::after{content:"";position:absolute;top:100%;left:var(--ax,16px);transform:translateX(-50%);
  border:6px solid transparent;border-top-color:#111827}
.tt-pop.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#111827}
.pricenote{max-width:64ch;margin:26px auto 0;text-align:center;color:var(--muted);font-size:.92rem;
  background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 20px}
/* Startseiten-Preis-Teaser */
.priceteaser{position:relative;overflow:hidden;isolation:isolate;background:#fff}   /* gleicher Hero-bg-Verlauf wie .pagehead (/preise) */
.priceteaser .sub{max-width:none}   /* „Jedes Paket kann alles": volle Breite (kein 62ch-Limit) */
.pt-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px}
.pt-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center}
.pt-card.hot{border-color:var(--brand)}
.pt-card .n{font-weight:700}
.pt-card .p{font-size:1.6rem;font-weight:800;margin:6px 0 2px}
.pt-card .p small{font-size:.8rem;font-weight:500;color:var(--muted)}
.pt-card .u{color:var(--brand);font-weight:600;font-size:.86rem}
@media (min-width:640px){.pt-grid{grid-template-columns:repeat(2,1fr)}}   /* 4 Karten (Free+3): 2×2 */
@media (min-width:1160px){.pt-grid{grid-template-columns:repeat(4,1fr)}}  /* dann 4-up in einer Reihe */

/* ---- FAQ ---- */
.faq{margin-top:36px;display:grid;gap:14px;grid-template-columns:1fr}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 18px}
.faq summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 14px;color:var(--muted);max-width:72ch}   /* Zeilenlänge begrenzen (breiter Container) */

/* ---- So geht's (Schritte je Weg) ---- */
.way{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;margin-top:22px}
.way .tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:4px 12px}
.way .tag.soon{background:#fef3c7;color:#92400e}
.way .tag.now{background:#dcfce7;color:#166534}
.way .tag.buy{background:var(--brand-soft);color:var(--brand)}
.way .shot{display:block;margin:0 0 18px;background:none;border:0}   /* generischen .shot-Verlauf/-Rand neutralisieren */
.way .shot img{display:block;width:100%;height:auto;border-radius:12px}   /* proportional, ohne Rahmen/Hintergrund */
.way-body{min-width:0}
.way .steps{grid-template-columns:1fr}   /* Schritte IMMER einspaltig (untereinander), kein Mehrspalt-Grid */
/* Zweispaltig ab Tablet: links Bild (~40%), rechts Content; mobil gestapelt (Bild oben, DOM-Reihenfolge). */
@media(min-width:760px){
  .way{display:grid;grid-template-columns:40% 1fr;gap:30px;align-items:center}
  .way .shot{margin:0}
  .way .carousel{grid-column:1 / -1}            /* Anbieter-Band (#kaufen) über volle Breite unter der Zeile */
}
.way h2{font-size:1.3rem;margin:12px 0 4px}
.steps{display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px}
.step{display:flex;gap:14px;align-items:flex-start}
.step .num{flex:none;width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-size:.9rem}
.step b{display:block;font-size:.98rem}
.step span{color:var(--muted);font-size:.9rem}

/* ---- Referenzen ---- */
.refs{background:var(--soft)}
/* Ehrlicher Vergleich: 1:1-Import vs. Vibe-Coding-Baukästen */
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--brand-soft);color:var(--brand-hover);padding:1px 6px;border-radius:5px}
.compare{background:#fff}
.compare .tablewrap{overflow-x:auto;margin-top:18px}
.compare table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.compare th,.compare td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.compare thead th:nth-child(2){color:var(--brand)}
.compare td:first-child{color:var(--text);font-weight:600}
.compare td.ps{color:#15803d;font-weight:600}
.compare td.vc{color:var(--muted)}
.refgrid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:34px}
/* Referenz-Kachel (Redesign): Browser-Rahmen mit echtem Screenshot oben, darunter Logo-Kachel +
   Titel/Untertitel/Tags + „Projekt ansehen"-Button (siehe Vorlage). Zwei-Spalten-Grid weiter unten. */
.ref{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(24,24,27,.05),0 14px 34px -16px rgba(24,24,27,.22);transition:transform .18s ease,box-shadow .18s ease}
.ref:hover{transform:translateY(-3px);box-shadow:0 6px 14px -6px rgba(24,24,27,.18),0 26px 50px -22px rgba(24,24,27,.32)}
.shot{background:var(--brand-soft);border-bottom:1px solid var(--line)}
.shot .bar{display:flex;align-items:center;gap:6px;background:#fff;border-bottom:1px solid var(--line);padding:9px 12px}
.shot .dot{width:9px;height:9px;border-radius:50%;background:#d4d4d8}
.shot .url{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--soft);
  border:1px solid var(--line);border-radius:7px;font-size:.74rem;color:var(--muted);padding:4px 12px;
  margin-inline:auto;max-width:66%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shot .url::before{content:"";width:11px;height:11px;flex:none;background:currentColor;opacity:.6;
  -webkit-mask:var(--ref-lock) center/contain no-repeat;mask:var(--ref-lock) center/contain no-repeat;
  --ref-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5Zm3 8H9V7a3 3 0 0 1 6 0v3Z'/%3E%3C/svg%3E")}
.shot .body{aspect-ratio:820/525;overflow:hidden}
.shot .body img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}   /* echter Website-Screenshot */
.ref .meta{display:flex;align-items:center;gap:16px;padding:18px 20px;flex-wrap:wrap}
.ref .logo{flex:none;width:60px;height:60px;border-radius:14px;background:var(--brand-soft);color:var(--brand);
  border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:1.05rem;letter-spacing:.02em}
/* Favicon-Variante des Referenz-Logos (echtes Kundensite-Favicon statt Initialen): weißer Grund,
   Icon eingepasst; gleiche Box/Rahmen/Radius wie die Initialen-Variante. */
.ref img.logo{display:block;background:#fff;object-fit:contain;padding:9px}
.ref .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.ref .txt b{display:block;font-size:1.05rem;font-weight:700;line-height:1.25}
.ref .txt span{color:var(--muted);font-size:.88rem;line-height:1.35}
.ref .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.ref .tags span{font-size:.72rem;color:var(--muted);background:var(--soft);border:1px solid var(--line);
  border-radius:999px;padding:3px 10px;line-height:1.4}
.ref .cta{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--text);
  border:1px solid var(--line);border-radius:9px;padding:13px 24px;font-size:.9rem;font-weight:600;
  white-space:nowrap;transition:border-color .15s,color .15s,background .15s}
.ref .cta .arr{transition:transform .15s}
.ref .cta:hover{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,transparent)}
.ref .cta:hover .arr{transform:translateX(3px)}
.ref .cta:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media (max-width:520px){.ref .logo{width:52px;height:52px;border-radius:12px;font-size:.95rem}}
@media (prefers-reduced-motion:reduce){.ref,.ref:hover{transform:none;transition:none}.ref .cta .arr{transition:none}}
/* Anbieter-Übersicht (/anbieter) */
.provgrid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:30px}
.provcard{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.provcard:hover{border-color:var(--brand);box-shadow:0 10px 28px rgba(79,70,229,.1)}
.provcard img{width:40px;height:40px;border-radius:9px;object-fit:contain;background:var(--soft);flex:none}
.provcard .pc-name{font-weight:700;font-size:1.02rem}
.provcard .pc-note{color:var(--muted);font-size:.9rem;margin:4px 0 0}
.provcard .pc-go{color:var(--brand);font-weight:600;font-size:.85rem;margin-top:8px;display:inline-block}
@media(min-width:640px){.provgrid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.provgrid{grid-template-columns:repeat(3,1fr)}}
/* Schritt-für-Schritt-Anleitung (/import-anleitung) */
.guide{margin-top:34px;display:flex;flex-direction:column;gap:34px;max-width:840px}
.gstep{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.gstep .gnum{width:38px;height:38px;border-radius:10px;background:var(--brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.gstep h2{font-size:1.2rem;margin:3px 0 6px}
.gstep p{color:var(--muted);margin:0 0 6px}
.gstep .gshot{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(24,24,27,.1)}
.gstep .gshot img{display:block;width:100%;height:auto}
@media(max-width:560px){.gstep{grid-template-columns:1fr}.gstep .gnum{display:none}}

/* ---- Kundenstimmen (vorbereitet, standardmäßig aus) ---- */
.testimonials{padding:64px 0}
.tgrid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:34px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.tcard blockquote{margin:0 0 16px;font-size:1.02rem;line-height:1.6;color:#3f3f46}
.tcard blockquote::before{content:"„";color:var(--brand);font-weight:700}
.tcard .who{display:flex;align-items:flex-start;gap:12px}
.tcard .avatar{width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.tcard .who b{display:block;font-size:.95rem}
.tcard .who span{color:var(--muted);font-size:.83rem}
.tcard .who a{font-size:.8rem;text-decoration:none;margin-top:4px;display:inline-block}
.tcard .who a:hover{text-decoration:underline}

/* ---- Abschluss ---- */
.closing{text-align:center;padding:80px 0}
.closing h2{margin-bottom:10px}
.closing .sub{margin:0 auto 28px}
.closing .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---- Footer (auf allen Seiten identisch) ---- */
footer{padding:34px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
footer .fwrap{max-width:var(--wrap);margin:0 auto;padding:0 22px;display:flex;gap:24px;flex-wrap:wrap;align-items:center}
footer nav{display:flex;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--text);text-decoration:underline}
footer .grow{flex:1}
footer .legal{display:flex;gap:14px}

@media (min-width:640px){
  .fgrid{grid-template-columns:repeat(2,1fr)}
  .paths{grid-template-columns:repeat(3,1fr)}
  .refgrid{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:repeat(2,1fr)}   /* 4 Preiskarten (Free+3): 2×2, bevor sie in eine Reihe passen */
  .faq{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
}
@media (min-width:920px){
  .hero-grid{grid-template-columns:1.15fr .85fr}
  .fgrid{grid-template-columns:repeat(3,1fr)}
  .tgrid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(4,1fr)}
}
/* Preiskarten: alle vier (Free/Starter/Business/Pro) in EINE Reihe, sobald der 1400er-Container Platz bietet. */
@media (min-width:1160px){ .plans{grid-template-columns:repeat(4,1fr)} }
