/*
Theme Name: Aprosos
Theme URI: https://aprosos.de
Author: Aprosos UG
Author URI: https://aprosos.de
Description: Digitale Souveränität für den Mittelstand – Open Source IT-Beratung
Version: 17.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: aprosos
*/

/* ═══════════════════════════════════════
   FONTS – Poppins (lokal, DSGVO-konform)
   Liegen in /fonts, daher relativer Pfad ab style.css
═══════════════════════════════════════ */
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;
  src:url('fonts/poppins-300.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/poppins-400.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/poppins-500.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/poppins-600.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/poppins-700.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;
  src:url('fonts/poppins-800.woff2') format('woff2');
}
@font-face {
  font-family:'Poppins';font-style:normal;font-weight:900;font-display:swap;
  src:url('fonts/poppins-900.woff2') format('woff2');
}

/* ═══════════════════════════════════════
   VARIABLES
═══════════════════════════════════════ */
:root {
  --pr: #3D2FD9;
  --pr-dk: #2E22B0;
  --pr-lt: #7C6FF0;
  --pr-gl: rgba(61,47,217,0.10);
  --bg: #F2F7FE;
  --sf: rgba(255,255,255,0.88);
  --tx: #0D0E1A;
  --mu: #5A5D7A;
  --rd: 18px;
  --ez: 0.25s ease;
  --sp: 0.45s cubic-bezier(0.34,1.56,0.64,1);
}

/* ═══════════════════════════════════════
   RESET
═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--tx);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer}

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
.ap-nav {
  position:fixed;top:0;left:0;right:0;z-index:300;
  height:88px;display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;
  transition:background .3s ease,box-shadow .3s ease;
}
.ap-nav.dark { background:transparent; }
.ap-nav.dark.scrolled { background:rgba(7,7,26,.95);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(255,255,255,.05); }
.ap-nav.light { background:rgba(242,247,254,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(61,47,217,.07); }

.ap-logo { display:flex;align-items:center; }

.ap-logo-img { height:82px;width:auto;display:block;object-fit:contain; }
.ap-logo-pic { display:block;line-height:0; }

/* Dark nav (front page / hero) → show light logo */
.ap-nav.dark  .ap-logo-img--dark  { display:none; }
.ap-nav.dark  .ap-logo-img--light { display:block; }

/* Light nav (inner pages) → show dark logo */
.ap-nav.light .ap-logo-img--dark  { display:block; }
.ap-nav.light .ap-logo-img--light { display:none; }

/* Once the dark nav has scrolled, it gets a dark bg – keep light logo */
.ap-nav.dark.scrolled .ap-logo-img--dark  { display:none; }
.ap-nav.dark.scrolled .ap-logo-img--light { display:block; }

.ap-nav-links { display:flex;align-items:center;gap:2.2rem; }
.ap-nav.dark  .ap-nav-links a { font-size:.87rem;font-weight:500;color:rgba(255,255,255,.6);transition:color var(--ez); }
.ap-nav.light .ap-nav-links a { font-size:.87rem;font-weight:500;color:var(--mu);transition:color var(--ez); }
.ap-nav.dark  .ap-nav-links a:hover,
.ap-nav.dark  .ap-nav-links a.active { color:#fff; }
.ap-nav.light .ap-nav-links a:hover,
.ap-nav.light .ap-nav-links a.active { color:var(--pr); }

.ap-nav-cta {
  background:#fff!important;color:var(--pr)!important;
  padding:9px 22px;border-radius:8px;font-size:.85rem;font-weight:700;
  transition:transform var(--sp);
}
.ap-nav.light .ap-nav-cta { background:var(--pr)!important;color:#fff!important; }
.ap-nav-cta:hover { transform:translateY(-1px); }

/* ═══════════════════════════════════════
   HERO (DARK)
═══════════════════════════════════════ */
.ap-hero {
  position:relative;background:#07071A;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:9.5rem 2rem 6rem;overflow:hidden;
}
.ap-hero-grid {
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:72px 72px;
}
.ap-hero-grid::after {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 50% 50%,transparent 20%,#07071A 100%);
}
.ap-hero-glow {
  position:absolute;width:1100px;height:700px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(61,47,217,.22) 0%,rgba(61,47,217,.07) 45%,transparent 70%);
  top:50%;left:50%;transform:translate(-50%,-52%);pointer-events:none;z-index:0;
}
#ap-logo-field { position:absolute;inset:0;pointer-events:none;z-index:1; }

/* Logo slots */
.ap-ls {
  cursor:pointer;
  position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;transition:opacity 1.6s ease;pointer-events:auto;transform:translate(-50%,-50%);
}
.ap-ls.on { opacity:1; }
.ap-ls-card {
  width:72px;height:72px;border-radius:18px;
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(10px);
  box-shadow:0 8px 28px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
  position:relative;overflow:hidden;cursor:default;
}
.ap-ls-card::before { content:'';position:absolute;inset:0;background:var(--glow,transparent);opacity:0;transition:opacity .35s ease;border-radius:inherit; }
.ap-ls:hover .ap-ls-card { transform:scale(1.10) translateY(-4px);box-shadow:0 16px 44px rgba(0,0,0,.5),0 0 28px var(--glow,rgba(255,255,255,.08));border-color:rgba(255,255,255,.22); }
.ap-ls:hover .ap-ls-card::before { opacity:.18; }
.ap-ls-card img { width:38px;height:38px;object-fit:contain;position:relative;z-index:1;filter:brightness(0) invert(1);opacity:.82;transition:filter .35s ease,opacity .35s ease,transform .35s ease; }
.ap-ls:hover .ap-ls-card img { filter:none;opacity:1;transform:scale(1.1); }
.ap-ls-name { font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.28);transition:color .3s;white-space:nowrap; }
.ap-ls:hover .ap-ls-name { color:rgba(255,255,255,.6); }
@keyframes apFloat{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}

/* Hero content */
.ap-hero-content { position:relative;z-index:2;text-align:center;max-width:800px; }
.ap-eyebrow {
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(61,47,217,.16);border:1px solid rgba(107,92,231,.28);
  padding:6px 18px;border-radius:999px;margin-bottom:2.2rem;
}
.ap-ep { width:7px;height:7px;border-radius:50%;background:var(--pr-lt);box-shadow:0 0 10px var(--pr-lt);animation:apEp 2.2s ease-in-out infinite; }
@keyframes apEp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
.ap-et { font-size:.75rem;font-weight:600;color:rgba(255,255,255,.62);letter-spacing:.09em;text-transform:uppercase; }

.ap-h1 { font-size:clamp(3rem,6.5vw,5.6rem);font-weight:900;line-height:1.01;letter-spacing:-.045em;color:#fff;margin-bottom:1.6rem; }
.ap-h1 em { font-style:normal;background:linear-gradient(120deg,#a78bfa 0%,#818cf8 45%,#6366f1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.ap-sub { font-size:1.08rem;color:rgba(255,255,255,.48);line-height:1.82;max-width:540px;margin:0 auto 2.8rem; }

.ap-cta-row { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem; }
.ap-btn-hero {
  display:inline-block;background:var(--pr);color:#fff;
  padding:15px 34px;border-radius:10px;font-weight:700;font-size:.95rem;
  box-shadow:0 4px 28px rgba(61,47,217,.50);
  transition:transform var(--sp),box-shadow var(--ez),background var(--ez);
}
.ap-btn-hero:hover { background:var(--pr-dk);transform:translateY(-2px);box-shadow:0 10px 40px rgba(61,47,217,.60); }
.ap-btn-ghost {
  display:inline-block;background:rgba(255,255,255,.07);color:rgba(255,255,255,.85);
  padding:15px 34px;border-radius:10px;font-weight:600;font-size:.95rem;
  border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px);transition:all var(--ez);
}
.ap-btn-ghost:hover { background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);transform:translateY(-2px); }

.ap-trust { display:flex;align-items:center;gap:1.6rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem; }
.ap-trust-item { display:flex;align-items:center;gap:7px;font-size:.77rem;color:rgba(255,255,255,.36);font-weight:500; }
.ap-trust-item svg { width:14px;height:14px;stroke:var(--pr-lt);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }
.ap-trust-sep { color:rgba(255,255,255,.10); }

.ap-stats {
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
  border-radius:16px;overflow:hidden;max-width:860px;width:100%;backdrop-filter:blur(10px);
}
.ap-stat { padding:1.6rem 1.2rem;background:rgba(255,255,255,.03);text-align:center;transition:background var(--ez); }
.ap-stat:hover { background:rgba(255,255,255,.07); }
.ap-stat-v { display:block;font-size:1.75rem;font-weight:900;color:#fff;letter-spacing:-.04em;line-height:1;margin-bottom:.4rem; }
.ap-stat-l { font-size:.7rem;color:rgba(255,255,255,.38);line-height:1.5; }

.ap-scroll-hint {
  position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:5px;
  color:rgba(255,255,255,.18);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
  z-index:2;animation:apBounce 2.5s ease-in-out infinite;
}
@keyframes apBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
.ap-scroll-hint svg { width:18px;height:18px;stroke:rgba(255,255,255,.18);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }

/* ═══════════════════════════════════════
   SECTIONS (LIGHT)
═══════════════════════════════════════ */
.ap-sec { max-width:1200px;margin:0 auto;padding:5.5rem 3rem; }
.ap-sec-c { text-align:center; }
.ap-sec h2 { font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin-bottom:.8rem; }
.ap-sec h2 span { color:var(--pr); }
.ap-sec-sub { font-size:.97rem;color:var(--mu);line-height:1.78;max-width:600px;margin:0 auto; }
.ap-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(61,47,217,.10),transparent);margin:0 3rem; }

/* ═══════════════════════════════════════
   CARDS
═══════════════════════════════════════ */
.ap-card {
  background:var(--sf);border:1px solid rgba(61,47,217,.08);
  border-radius:var(--rd);backdrop-filter:blur(8px);
  transition:transform var(--sp),box-shadow var(--ez);
}
.ap-card:hover { transform:translateY(-5px);box-shadow:0 16px 48px rgba(61,47,217,.10); }

/* ═══════════════════════════════════════
   QUOTES
═══════════════════════════════════════ */
.ap-quotes { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3.5rem; }
.ap-quote { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2rem 2rem 1.6rem;position:relative;backdrop-filter:blur(8px);transition:transform var(--sp),box-shadow var(--ez); }
.ap-quote:hover { transform:translateY(-5px);box-shadow:0 20px 56px rgba(61,47,217,.10); }
.ap-quote::before { content:'"';position:absolute;top:.6rem;left:1.5rem;font-size:5rem;line-height:1;color:var(--pr);opacity:.08;font-family:Georgia,serif;pointer-events:none; }
.ap-qt { font-size:.93rem;line-height:1.78;color:var(--tx);font-weight:500;margin-bottom:1.4rem;font-style:italic; }
.ap-qf { display:flex;align-items:center;gap:.9rem;border-top:1px solid rgba(61,47,217,.07);padding-top:1rem; }
.ap-qa { width:40px;height:40px;border-radius:10px;background:rgba(61,47,217,.08);border:1px solid rgba(61,47,217,.12);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:var(--pr);flex-shrink:0; }
.ap-qm { flex:1; }
.ap-qn { font-size:.82rem;font-weight:700;color:var(--tx); }
.ap-qo { font-size:.72rem;color:var(--mu);margin-top:1px; }
.ap-qtag { background:rgba(61,47,217,.07);color:var(--pr);font-size:.67rem;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;text-transform:uppercase;white-space:nowrap; }
.ap-qnote { font-size:.72rem;color:var(--mu);text-align:center;margin-top:1.2rem;opacity:.55; }

/* ═══════════════════════════════════════
   PILLARS
═══════════════════════════════════════ */
.ap-pillars { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem; }
.ap-pillar { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2.2rem;text-align:center;backdrop-filter:blur(8px);transition:transform var(--sp),box-shadow var(--ez); }
.ap-pillar:hover { transform:translateY(-5px);box-shadow:0 16px 48px rgba(61,47,217,.10); }
.ap-pnum { display:inline-flex;width:32px;height:32px;border-radius:50%;background:var(--pr);color:#fff;font-size:.8rem;font-weight:800;align-items:center;justify-content:center;margin-bottom:1rem; }
.ap-pico { width:52px;height:52px;border-radius:14px;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem; }
.ap-pico svg { width:24px;height:24px;stroke:var(--pr);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.ap-pillar h3 { font-size:1.05rem;margin-bottom:.6rem; }
.ap-pillar p { font-size:.86rem;color:var(--mu);line-height:1.7; }

/* ═══════════════════════════════════════
   TECH GRID
═══════════════════════════════════════ */
.ap-tech { display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3.5rem; }

/* ── ENDLOS-BAND (Marquee) für Lösungs-Karten ── */
.ap-marquee {
  margin-top:3.5rem;
  overflow:hidden;
  position:relative;
  width:100%;
  /* sanftes Ausblenden an den Rändern */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.ap-marquee-track {
  display:flex;
  width:max-content;
  gap:1.2rem;
  /* Standard: langsam. Hover (per JS-Klasse) -> schnell */
  animation:apMarquee var(--ap-marquee-speed,60s) linear infinite;
  will-change:transform;
}
.ap-marquee:hover .ap-marquee-track {
  animation-duration:var(--ap-marquee-speed-fast,18s);
}
/* Da der Kartensatz doppelt ausgegeben wird, ist -50% genau ein Durchlauf → nahtlos */
@keyframes apMarquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}
/* Karten im Band brauchen feste Breite, damit sie nicht zerlaufen */
.ap-marquee .ap-tcard {
  flex:0 0 auto;
  width:260px;
}
/* Respektiere Nutzer mit "reduzierte Bewegung" */
@media (prefers-reduced-motion: reduce) {
  .ap-marquee-track { animation:none; transform:none; }
  .ap-marquee {
    overflow-x:auto;
    -webkit-mask-image:none;mask-image:none;
  }
}
.ap-tcard { display:block;text-decoration:none;color:inherit;background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:1.8rem 1.4rem;text-align:center;backdrop-filter:blur(8px);transition:transform var(--sp),box-shadow var(--ez);cursor:pointer; }
.ap-tcard:hover { transform:translateY(-6px);box-shadow:0 20px 56px rgba(61,47,217,.12); }
.ap-tcard-logo { width:56px;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center; }
.ap-tcard-logo img { width:46px;height:46px;object-fit:contain;transition:transform var(--sp),filter var(--ez);filter:grayscale(15%); }
.ap-tcard:hover .ap-tcard-logo img { transform:scale(1.15);filter:none; }
.ap-tcard-swap { font-size:.71rem;color:var(--mu);text-decoration:line-through;margin-bottom:.25rem;opacity:.6; }
.ap-tcard-name { font-size:1rem;font-weight:800;color:var(--tx);margin-bottom:.35rem; }
.ap-tcard-desc { font-size:.76rem;color:var(--mu);line-height:1.55; }

/* ═══════════════════════════════════════
   STEPS
═══════════════════════════════════════ */
.ap-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3.5rem; }
.ap-step { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2rem;position:relative;backdrop-filter:blur(8px); }
.ap-step-bg { position:absolute;top:-.5rem;right:1rem;font-size:5rem;font-weight:900;color:var(--pr);opacity:.055;line-height:1;letter-spacing:-.05em;pointer-events:none; }
.ap-step h3 { font-size:1rem;margin-bottom:.6rem; }
.ap-step p { font-size:.86rem;color:var(--mu);line-height:1.7; }

/* ═══════════════════════════════════════
   CTA BANNER
═══════════════════════════════════════ */
.ap-cta-wrap { max-width:1200px;margin:0 auto;padding:0 3rem 5.5rem; }
.ap-cta-box { background:var(--pr);border-radius:var(--rd);padding:4.5rem;text-align:center;position:relative;overflow:hidden; }
.ap-cta-box::before { content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.05);top:-250px;right:-100px;pointer-events:none; }
.ap-cta-box h2 { font-size:2.6rem;font-weight:900;color:#fff;letter-spacing:-.04em;margin-bottom:.8rem; }
.ap-cta-box p { color:rgba(255,255,255,.72);font-size:1rem;line-height:1.75;margin-bottom:2.2rem;max-width:520px;margin-left:auto;margin-right:auto; }
.ap-cta-btns { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap; }
.ap-btn-white { display:inline-block;background:#fff;color:var(--pr);padding:15px 32px;border-radius:10px;font-weight:700;font-size:.93rem;transition:transform var(--sp),box-shadow var(--ez);position:relative;z-index:1; }
.ap-btn-white:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15); }
.ap-btn-outline { display:inline-block;background:transparent;color:#fff;padding:15px 32px;border-radius:10px;font-weight:600;font-size:.93rem;border:1.5px solid rgba(255,255,255,.35);transition:all var(--ez);position:relative;z-index:1; }
.ap-btn-outline:hover { background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.6); }

/* ═══════════════════════════════════════
   BUTTONS (LIGHT)
═══════════════════════════════════════ */
.ap-btn { display:inline-block;background:var(--pr);color:#fff;padding:13px 26px;border-radius:9px;font-weight:700;font-size:.9rem;transition:transform var(--sp),background var(--ez); }
.ap-btn:hover { background:var(--pr-dk);transform:translateY(-2px); }
.ap-btn-sec { display:inline-block;background:rgba(255,255,255,.9);color:var(--pr);padding:13px 26px;border-radius:9px;font-weight:600;font-size:.9rem;border:1.5px solid rgba(61,47,217,.2);transition:all var(--ez); }
.ap-btn-sec:hover { background:#fff;border-color:var(--pr);transform:translateY(-2px); }

/* ═══════════════════════════════════════
   PAGE HERO (LIGHT PAGES)
═══════════════════════════════════════ */
.ap-page-hero { text-align:center;padding:7.5rem 3rem 3rem;max-width:900px;margin:0 auto; }
.ap-page-hero h1 { font-size:clamp(2.4rem,5vw,3.8rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:1rem; }
.ap-page-hero h1 span { color:var(--pr); }
.ap-page-hero .lead { font-size:1.05rem;color:var(--mu);line-height:1.8;max-width:600px;margin:0 auto; }

/* ═══════════════════════════════════════
   FAQ
═══════════════════════════════════════ */
.ap-faq-wrap { max-width:900px;margin:0 auto;padding:0 3rem 6rem; }
.ap-faq-section { margin-bottom:4rem; }
.ap-faq-hd { display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(61,47,217,.08); }
.ap-faq-icon { width:44px;height:44px;border-radius:12px;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.ap-faq-icon img { width:24px;height:24px;object-fit:contain; }
.ap-faq-icon svg { width:22px;height:22px;stroke:var(--pr);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.ap-faq-ttl { font-size:1.1rem;font-weight:800;margin-bottom:2px; }
.ap-faq-sub { font-size:.78rem;color:var(--mu); }

.ap-faq-list { display:flex;flex-direction:column;gap:.5rem; }
.faq-item { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:14px;overflow:hidden;backdrop-filter:blur(8px);transition:box-shadow var(--ez),border-color var(--ez); }
.faq-item.open { box-shadow:0 6px 24px rgba(61,47,217,.08);border-color:rgba(61,47,217,.15); }
.faq-q { width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;background:none;border:none;cursor:pointer;font-family:'Poppins',sans-serif;font-size:.94rem;font-weight:600;color:var(--tx);transition:color var(--ez); }
.faq-q:hover,.faq-item.open .faq-q { color:var(--pr); }
.faq-icon-btn { width:28px;height:28px;border-radius:50%;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--sp),background var(--ez); }
.faq-item.open .faq-icon-btn { background:var(--pr);transform:rotate(45deg); }
.faq-icon-btn svg { width:13px;height:13px;stroke:var(--pr);stroke-width:2.5;fill:none;transition:stroke var(--ez); }
.faq-item.open .faq-icon-btn svg { stroke:#fff; }
.faq-answer { max-height:0;overflow:hidden;transition:max-height .4s ease; }
.faq-answer-inner { padding:0 1.5rem 1.5rem;font-size:.88rem;line-height:1.82;color:var(--mu);border-top:1px solid rgba(61,47,217,.07);padding-top:1.1rem; }
.faq-answer-inner strong { color:var(--tx); }

.ap-cat-tabs { display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin:2rem 0 4rem;padding:0 2rem; }
.ap-cat-tab { background:var(--sf);border:1px solid rgba(61,47,217,.10);border-radius:999px;padding:8px 18px;font-size:.82rem;font-weight:600;color:var(--mu);cursor:pointer;transition:all var(--ez);white-space:nowrap;font-family:'Poppins',sans-serif; }
.ap-cat-tab:hover,.ap-cat-tab.active { background:var(--pr);color:#fff;border-color:var(--pr);transform:translateY(-1px); }

.ap-contact-box { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2.5rem;text-align:center;margin-top:3rem; }
.ap-contact-box h3 { font-size:1.15rem;margin-bottom:.5rem; }
.ap-contact-box p { font-size:.88rem;color:var(--mu);margin-bottom:1.5rem;line-height:1.7; }

/* ═══════════════════════════════════════
   SOLUTIONS DETAIL PAGE
═══════════════════════════════════════ */
.ap-sol-tabs { display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem;padding:0 2rem; }
.ap-sol-tab { background:var(--sf);border:1px solid rgba(61,47,217,.10);border-radius:999px;padding:8px 18px;font-size:.82rem;font-weight:600;color:var(--mu);cursor:pointer;transition:all var(--ez);white-space:nowrap;display:flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif; }
.ap-sol-tab img { width:16px;height:16px;object-fit:contain;filter:grayscale(60%);transition:filter var(--ez); }
.ap-sol-tab:hover,.ap-sol-tab.active { background:var(--pr);color:#fff;border-color:var(--pr);transform:translateY(-1px); }
.ap-sol-tab:hover img,.ap-sol-tab.active img { filter:brightness(0) invert(1); }

.ap-sols-wrap { max-width:1200px;margin:0 auto;padding:0 3rem 6rem;display:flex;flex-direction:column;gap:5rem; }
.ap-sol-block { display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start; }
.ap-sol-block.rev { direction:rtl; }
.ap-sol-block.rev>* { direction:ltr; }

.ap-sol-logo-row { display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem; }
.ap-sol-bubble { width:64px;height:64px;border-radius:16px;background:var(--sf);border:1px solid rgba(61,47,217,.10);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(61,47,217,.08);transition:transform var(--sp); }
.ap-sol-bubble:hover { transform:scale(1.08) rotate(-3deg); }
.ap-sol-bubble img { width:38px;height:38px;object-fit:contain; }
.ap-sol-rep strong { display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);opacity:.6;margin-bottom:2px; }
.ap-sol-rep s { font-size:.85rem;font-weight:700;color:var(--tx);opacity:.4; }
.ap-sol-rep .ap-arrow { color:var(--pr);font-weight:700;margin:0 6px; }
.ap-sol-rep .ap-new { color:var(--pr);font-weight:700; }

.ap-sol-info h2 { font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.8rem; }
.ap-sol-tag { font-size:1rem;color:var(--mu);line-height:1.75;margin-bottom:1.5rem; }

.ap-surprise { background:linear-gradient(135deg,rgba(61,47,217,.06) 0%,rgba(61,47,217,.03) 100%);border:1px solid rgba(61,47,217,.10);border-left:3px solid var(--pr);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1.5rem;cursor:pointer;transition:background var(--ez); }
.ap-surprise:hover { background:rgba(61,47,217,.08); }
.ap-surprise-lbl { font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pr);margin-bottom:4px; }
.ap-surprise-lbl::before { content:'⚡ '; }
.ap-surprise p { font-size:.88rem;font-weight:600;color:var(--tx);line-height:1.5; }
.ap-surprise .ap-more { font-size:.8rem;color:var(--mu);line-height:1.6;margin-top:.6rem;display:none; }
.ap-surprise.open .ap-more { display:block; }

.ap-benefits { display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem; }
.ap-benefit { display:flex;align-items:flex-start;gap:.7rem;font-size:.87rem;color:var(--tx);line-height:1.55; }
.ap-bdot { width:20px;height:20px;border-radius:50%;background:var(--pr-gl);border:1px solid rgba(61,47,217,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px; }
.ap-bdot svg { width:10px;height:10px;stroke:var(--pr);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }

.ap-roast { background:rgba(0,0,0,.03);border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.6rem; }
.ap-roast-ico { font-size:1rem;flex-shrink:0;margin-top:1px; }
.ap-roast p { font-size:.8rem;color:var(--mu);line-height:1.6;font-style:italic; }
.ap-roast p strong { color:var(--tx);font-style:normal; }

.ap-showcase { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);overflow:hidden;box-shadow:0 8px 40px rgba(61,47,217,.07); }
.ap-showcase-bar { background:rgba(13,14,26,.04);border-bottom:1px solid rgba(61,47,217,.07);padding:.8rem 1.2rem;display:flex;align-items:center;gap:.5rem; }
.ap-dot { width:10px;height:10px;border-radius:50%; }
.ap-dot.r{background:#FF5F57}.ap-dot.y{background:#FFBD2E}.ap-dot.g{background:#28C840}
.ap-bar-ttl { font-size:.75rem;color:var(--mu);font-weight:500;margin-left:.5rem; }
.ap-showcase-body { padding:1.8rem; }

.ap-stat-cmp { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem; }
.ap-sc-item { text-align:center;padding:1rem;border-radius:12px; }
.ap-sc-item.old { background:rgba(0,0,0,.03);border:1px dashed rgba(0,0,0,.10); }
.ap-sc-item.new { background:rgba(61,47,217,.06);border:1px solid rgba(61,47,217,.12); }
.ap-sc-lbl { font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);margin-bottom:.3rem; }
.ap-sc-val { font-size:1.6rem;font-weight:900;letter-spacing:-.04em;line-height:1; }
.ap-sc-item.old .ap-sc-val { color:var(--mu);text-decoration:line-through;opacity:.5; }
.ap-sc-item.new .ap-sc-val { color:var(--pr); }
.ap-sc-sub { font-size:.72rem;color:var(--mu);margin-top:.3rem;line-height:1.4; }

.ap-feat-list { display:flex;flex-direction:column;gap:.4rem; }
.ap-feat-row { display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:10px;background:rgba(13,14,26,.02);border:1px solid transparent;transition:all var(--ez); }
.ap-feat-row:hover { background:rgba(61,47,217,.04);border-color:rgba(61,47,217,.08); }
.ap-feat-name { font-size:.82rem;font-weight:500;color:var(--tx); }
.ap-feat-yes { font-size:.82rem;font-weight:700;color:#16A34A; }
.ap-feat-yes::before { content:'✓  '; }

.ap-used-by { margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(61,47,217,.07); }
.ap-used-lbl { font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);margin-bottom:.6rem; }
.ap-used-tags { display:flex;flex-wrap:wrap;gap:.4rem; }
.ap-used-tag { background:rgba(61,47,217,.07);color:var(--pr);font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:999px; }

.ap-sol-divider { height:1px;background:linear-gradient(90deg,transparent,rgba(61,47,217,.10),transparent); }

/* Comparison table */
.ap-comp-sec { max-width:1200px;margin:0 auto;padding:0 3rem 6rem; }
.ap-comp-sec h2 { text-align:center;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.6rem; }
.ap-comp-sec h2 span { color:var(--pr); }
.ap-comp-sub { text-align:center;font-size:.95rem;color:var(--mu);max-width:560px;margin:0 auto 2.5rem;line-height:1.7; }
.ap-comp { width:100%;border-collapse:separate;border-spacing:0 6px; }
.ap-comp thead th { font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:var(--mu);font-weight:600;padding:.4rem 1rem;text-align:left; }
.ap-comp thead th:nth-child(3) { color:var(--pr); }
.ap-comp tbody tr { background:var(--sf);transition:transform var(--ez); }
.ap-comp tbody tr:hover { transform:translateX(4px); }
.ap-comp tbody td { padding:1rem;font-size:.87rem;border-top:1px solid rgba(61,47,217,.04);border-bottom:1px solid rgba(61,47,217,.04); }
.ap-comp tbody td:first-child { border-left:1px solid rgba(61,47,217,.04);border-radius:12px 0 0 12px;font-weight:600; }
.ap-comp tbody td:last-child { border-right:1px solid rgba(61,47,217,.04);border-radius:0 12px 12px 0; }
.ap-comp-old { color:var(--mu); }
.ap-comp-new { color:var(--pr);font-weight:700; }
.ap-comp-badge { display:inline-block;background:rgba(61,47,217,.07);color:var(--pr);font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:999px; }

/* ═══════════════════════════════════════
   ÜBER UNS
═══════════════════════════════════════ */
.ap-statement { background:var(--pr);border-radius:var(--rd);padding:3.5rem;position:relative;overflow:hidden;margin-bottom:5rem; }
.ap-statement::before { content:'"';position:absolute;top:-1.5rem;left:2rem;font-size:13rem;line-height:1;color:rgba(255,255,255,.07);font-family:Georgia,serif;pointer-events:none; }
.ap-statement blockquote { font-size:clamp(1rem,2.2vw,1.35rem);font-weight:600;line-height:1.6;color:#fff;font-style:italic;letter-spacing:-.01em;margin-bottom:1.5rem; }
.ap-statement-attr { font-size:.84rem;color:rgba(255,255,255,.65); }

.ap-motive { display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start; }
.ap-motive-txt h2 { font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1.2rem; }
.ap-motive-txt h2 span { color:var(--pr); }
.ap-motive-txt p { font-size:.93rem;line-height:1.78;color:var(--mu);margin-bottom:1rem; }
.ap-fact-cards { display:flex;flex-direction:column;gap:1rem; }
.ap-fact { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:14px;padding:1.4rem;border-left:3px solid var(--pr);transition:transform var(--ez); }
.ap-fact:hover { transform:translateX(4px); }
.ap-fact h4 { font-size:.9rem;margin-bottom:.3rem; }
.ap-fact p { font-size:.82rem;color:var(--mu);line-height:1.6;margin:0; }

.ap-team { display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem; }
.ap-team-card { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);overflow:hidden;transition:transform var(--sp),box-shadow var(--ez); }
.ap-team-card:hover { transform:translateY(-5px);box-shadow:0 20px 56px rgba(61,47,217,.11); }
.ap-team-photo { height:220px;background:linear-gradient(135deg,rgba(61,47,217,.08) 0%,rgba(61,47,217,.03) 100%);display:flex;align-items:center;justify-content:center;position:relative; }
.ap-team-photo img { width:100%;height:100%;object-fit:cover;object-position:top; }
.ap-team-initials { width:96px;height:96px;border-radius:50%;background:var(--pr);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;color:#fff;letter-spacing:-.02em; }
.ap-team-body { padding:1.8rem; }
.ap-team-body h3 { font-size:1.2rem;margin-bottom:3px; }
.ap-team-role { font-size:.78rem;color:var(--pr);font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem; }
.ap-team-body p { font-size:.86rem;line-height:1.75;color:var(--mu); }
.ap-tags { display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem; }
.ap-tag { background:rgba(61,47,217,.07);color:var(--pr);font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px; }

.ap-beliefs { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem; }
.ap-belief { background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2rem;transition:transform var(--sp),box-shadow var(--ez); }
.ap-belief:hover { transform:translateY(-4px);box-shadow:0 12px 36px rgba(61,47,217,.09); }
.ap-belief-ico { width:44px;height:44px;border-radius:10px;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;margin-bottom:1rem; }
.ap-belief-ico svg { width:20px;height:20px;stroke:var(--pr);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.ap-belief h3 { font-size:1rem;margin-bottom:.5rem; }
.ap-belief p { font-size:.84rem;color:var(--mu);line-height:1.7;margin:0; }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.ap-footer { background:rgba(255,255,255,.6);border-top:1px solid rgba(61,47,217,.07);padding:2rem 3.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--mu);backdrop-filter:blur(8px); }
.ap-footer nav { display:flex;gap:2rem; }
.ap-footer nav a:hover { color:var(--pr); }

/* ═══════════════════════════════════════
   REVEAL ANIMATION
═══════════════════════════════════════ */
.fade-up { opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease; }
.fade-up.visible { opacity:1;transform:translateY(0); }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media(max-width:960px){
  .ap-nav{padding:0 1.5rem}
  .ap-footer{flex-direction:column;gap:1rem;text-align:center;padding:2rem 1.5rem}
  .ap-stats{grid-template-columns:1fr 1fr}
  .ap-quotes,.ap-pillars,.ap-steps{grid-template-columns:1fr}
  .ap-tech{grid-template-columns:1fr 1fr}
  .ap-sec{padding:3.5rem 1.5rem}
  .ap-cta-wrap{padding:0 1.5rem 3.5rem}
  .ap-faq-wrap{padding:0 1.5rem 4rem}
  .ap-sols-wrap{padding:0 1.5rem 4rem}
  .ap-sol-block{grid-template-columns:1fr;gap:2rem}
  .ap-sol-block.rev{direction:ltr}
  .ap-motive{grid-template-columns:1fr}
  .ap-team{grid-template-columns:1fr}
  .ap-beliefs{grid-template-columns:1fr}
  .ap-comp-sec{padding:0 1.5rem 4rem}
  .ap-page-hero{padding:6.5rem 1.5rem 2rem}
  #ap-logo-field{display:none}
}
@media(max-width:640px){
  .ap-nav-links a:not(.ap-nav-cta){display:none}
  .ap-h1{font-size:2.8rem}
}

/* ═══════════════════════════════════════
   PREISE PAGE
═══════════════════════════════════════ */
.ap-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.5rem;align-items:start}
.ap-price-card{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2.2rem;backdrop-filter:blur(8px);transition:transform var(--sp),box-shadow var(--ez);position:relative}
.ap-price-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(61,47,217,.10)}
.ap-price-card.featured{border:2px solid var(--pr);background:linear-gradient(135deg,rgba(61,47,217,.05) 0%,rgba(61,47,217,.02) 100%)}
.ap-price-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--pr);color:#fff;font-size:.72rem;font-weight:700;padding:4px 16px;border-radius:999px;white-space:nowrap;letter-spacing:.05em}
.ap-price-name{font-size:1.1rem;font-weight:800;margin-bottom:.4rem}
.ap-price-sub{font-size:.83rem;color:var(--mu);margin-bottom:1.5rem;line-height:1.5}
.ap-price-amount{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.3rem}
.ap-price-num{font-size:2.8rem;font-weight:900;color:var(--pr);letter-spacing:-.04em;line-height:1}
.ap-price-per{font-size:.82rem;color:var(--mu)}
.ap-price-note{font-size:.75rem;color:var(--mu);margin-bottom:1.8rem}
.ap-price-features{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2rem}
.ap-price-feat{display:flex;align-items:flex-start;gap:.6rem;font-size:.84rem;color:var(--tx);line-height:1.45}
.ap-price-feat svg{width:16px;height:16px;stroke:var(--pr);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:1px}
.ap-price-divider{height:1px;background:rgba(61,47,217,.07);margin:1.2rem 0}
.ap-price-extras{font-size:.78rem;color:var(--mu);line-height:1.6}
.ap-price-btn{display:block;text-align:center;background:var(--pr);color:#fff;padding:12px 20px;border-radius:9px;font-weight:700;font-size:.9rem;transition:transform var(--sp),background var(--ez)}
.ap-price-btn:hover{background:var(--pr-dk);transform:translateY(-1px)}
.ap-price-btn.outline{background:transparent;border:1.5px solid var(--pr);color:var(--pr)}
.ap-price-btn.outline:hover{background:var(--pr);color:#fff}

.ap-addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.5rem}
.ap-addon{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:14px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform var(--ez)}
.ap-addon:hover{transform:translateX(4px)}
.ap-addon-ico{width:44px;height:44px;border-radius:10px;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ap-addon-ico svg{width:20px;height:20px;stroke:var(--pr);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ap-addon-name{font-size:.88rem;font-weight:700;margin-bottom:2px}
.ap-addon-price{font-size:.78rem;color:var(--pr);font-weight:600}
.ap-addon-desc{font-size:.75rem;color:var(--mu);margin-top:1px}

.ap-process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;counter-reset:pstep}
.ap-pstep{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:1.8rem;text-align:center;backdrop-filter:blur(8px);counter-increment:pstep;position:relative}
.ap-pstep::before{content:counter(pstep);position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:28px;height:28px;background:var(--pr);color:#fff;border-radius:50%;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:28px;text-align:center}
.ap-pstep h3{font-size:.95rem;margin-bottom:.4rem;margin-top:.3rem}
.ap-pstep p{font-size:.8rem;color:var(--mu);line-height:1.6}

/* ═══════════════════════════════════════
   KONTAKT PAGE
═══════════════════════════════════════ */
.ap-contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start;margin-top:3.5rem}
.ap-contact-info h2{font-size:clamp(1.6rem,2.5vw,2rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}
.ap-contact-info p{font-size:.92rem;color:var(--mu);line-height:1.78;margin-bottom:2rem}
.ap-contact-items{display:flex;flex-direction:column;gap:1rem}
.ap-contact-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:12px;transition:transform var(--ez)}
.ap-contact-item:hover{transform:translateX(4px)}
.ap-contact-item-ico{width:40px;height:40px;border-radius:10px;background:var(--pr-gl);border:1px solid rgba(61,47,217,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ap-contact-item-ico svg{width:18px;height:18px;stroke:var(--pr);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ap-contact-item-lbl{font-size:.72rem;color:var(--mu);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:1px}
.ap-contact-item-val{font-size:.9rem;font-weight:600;color:var(--tx)}
.ap-contact-form-wrap{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:var(--rd);padding:2.5rem;backdrop-filter:blur(8px)}
.ap-contact-form-wrap h3{font-size:1.2rem;font-weight:800;margin-bottom:.4rem}
.ap-contact-form-wrap .sub{font-size:.85rem;color:var(--mu);margin-bottom:2rem;line-height:1.6}
.ap-form-group{margin-bottom:1.2rem}
.ap-form-label{display:block;font-size:.78rem;font-weight:600;color:var(--tx);margin-bottom:.4rem;letter-spacing:.02em}
.ap-form-input,.ap-form-select,.ap-form-textarea{width:100%;padding:.85rem 1rem;border:1.5px solid rgba(61,47,217,.12);border-radius:10px;font-family:'Poppins',sans-serif;font-size:.88rem;color:var(--tx);background:#fff;transition:border-color var(--ez),box-shadow var(--ez);outline:none}
.ap-form-input:focus,.ap-form-select:focus,.ap-form-textarea:focus{border-color:var(--pr);box-shadow:0 0 0 3px rgba(61,47,217,.08)}
.ap-form-textarea{resize:vertical;min-height:120px}
.ap-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ap-form-submit{width:100%;background:var(--pr);color:#fff;border:none;padding:14px 20px;border-radius:10px;font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform var(--sp),background var(--ez);margin-top:.5rem}
.ap-form-submit:hover{background:var(--pr-dk);transform:translateY(-1px)}
.ap-form-note{font-size:.74rem;color:var(--mu);margin-top:.8rem;text-align:center;line-height:1.5}
.ap-trust-badges{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.ap-trust-badge{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--mu);background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:8px;padding:.5rem .8rem}
.ap-trust-badge svg{width:14px;height:14px;stroke:var(--pr);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ═══════════════════════════════════════
   ROI RECHNER
═══════════════════════════════════════ */
.ap-roi-wrap{background:#07071A;border-radius:var(--rd);padding:3rem;position:relative;overflow:hidden}
.ap-roi-wrap::before{content:'';position:absolute;width:600px;height:400px;border-radius:50%;background:radial-gradient(ellipse,rgba(61,47,217,.20) 0%,transparent 70%);top:-100px;right:-100px;pointer-events:none}
.ap-roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;position:relative;z-index:1}
.ap-roi-inputs h3{font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:.4rem}
.ap-roi-inputs .sub{font-size:.82rem;color:rgba(255,255,255,.45);margin-bottom:2rem}
.ap-roi-field{margin-bottom:1.4rem}
.ap-roi-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.ap-roi-label span{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.03em}
.ap-roi-label .val{color:#fff;font-weight:800;font-size:.9rem}
.ap-roi-range{width:100%;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:rgba(255,255,255,.1);outline:none;cursor:pointer}
.ap-roi-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--pr);cursor:pointer;box-shadow:0 0 0 4px rgba(61,47,217,.3);transition:box-shadow .2s}
.ap-roi-range::-webkit-slider-thumb:hover{box-shadow:0 0 0 6px rgba(61,47,217,.4)}
.ap-roi-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--pr);cursor:pointer;border:none;box-shadow:0 0 0 4px rgba(61,47,217,.3)}
.ap-roi-select-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.4rem}
.ap-roi-sel-label{font-size:.73rem;font-weight:600;color:rgba(255,255,255,.5);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.4rem}
.ap-roi-sel{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-family:'Poppins',sans-serif;font-size:.82rem;padding:.6rem .9rem;outline:none;cursor:pointer;transition:border-color .2s}
.ap-roi-sel:focus{border-color:var(--pr-lt)}
.ap-roi-sel option{background:#1a1a2e;color:#fff}

.ap-roi-results h3{font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:.4rem}
.ap-roi-results .sub{font-size:.82rem;color:rgba(255,255,255,.45);margin-bottom:1.5rem}
.ap-roi-hero-num{text-align:center;background:rgba(61,47,217,.15);border:1px solid rgba(61,47,217,.3);border-radius:14px;padding:1.5rem;margin-bottom:1.2rem}
.ap-roi-hero-lbl{font-size:.72rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}
.ap-roi-hero-val{font-size:3.2rem;font-weight:900;color:#fff;letter-spacing:-.05em;line-height:1}
.ap-roi-hero-sub{font-size:.75rem;color:rgba(255,255,255,.4);margin-top:.3rem}
.ap-roi-cards{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.2rem}
.ap-roi-card{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:.9rem 1rem}
.ap-roi-card-lbl{font-size:.78rem;color:rgba(255,255,255,.5)}
.ap-roi-card-val{font-size:.92rem;font-weight:700;color:#fff}
.ap-roi-card-val.red{color:#f87171}
.ap-roi-card-val.green{color:#4ade80}
.ap-roi-bar-wrap{margin-bottom:1rem}
.ap-roi-bar-lbl{display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.4);margin-bottom:.4rem}
.ap-roi-bar-track{height:8px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}
.ap-roi-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--pr),var(--pr-lt));transition:width .6s ease}
.ap-roi-disclaimer{font-size:.68rem;color:rgba(255,255,255,.25);line-height:1.6;border-top:1px solid rgba(255,255,255,.06);padding-top:.8rem}

.ap-roi-methodology{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1.5rem;margin-top:1.5rem}
.ap-roi-methodology h4{font-size:.82rem;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem}
.ap-roi-methodology ul{display:flex;flex-direction:column;gap:.4rem;padding-left:0;list-style:none}
.ap-roi-methodology li{font-size:.74rem;color:rgba(255,255,255,.35);line-height:1.5;padding-left:1rem;position:relative}
.ap-roi-methodology li::before{content:'→';position:absolute;left:0;color:var(--pr-lt);opacity:.6}

/* ═══════════════════════════════════════
   RESPONSIVE ADDITIONS
═══════════════════════════════════════ */
@media(max-width:960px){
  .ap-pricing-grid{grid-template-columns:1fr}
  .ap-process-steps{grid-template-columns:1fr 1fr}
  .ap-contact-grid{grid-template-columns:1fr}
  .ap-roi-grid{grid-template-columns:1fr}
  .ap-addon-grid{grid-template-columns:1fr}
  .ap-form-row{grid-template-columns:1fr}
}

/* ROI bars container (generated by JS) */
#roi-bars { display:flex; flex-direction:column; gap:.5rem; }

/* ═══════════════════════════════════════
   UNSERE LÖSUNGEN – OVERVIEW PAGE
═══════════════════════════════════════ */
.ap-sol-ov-block{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:center;padding:3rem 0}
.ap-sol-ov-block.rev{direction:rtl}
.ap-sol-ov-block.rev>*{direction:ltr}
.ap-sol-ov-visual{display:flex;flex-direction:column;align-items:center;gap:2rem}
.ap-sol-ov-logo{width:100px;height:100px;border-radius:24px;background:var(--sf);border:1px solid rgba(61,47,217,.10);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(61,47,217,.08);transition:transform var(--sp)}
.ap-sol-ov-logo:hover{transform:scale(1.06) rotate(-3deg)}
.ap-sol-ov-logo img{width:56px;height:56px;object-fit:contain}
.ap-sol-ov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}
.ap-sol-ov-stat{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:14px;padding:1rem;text-align:center}
.ap-sol-ov-stat .n{display:block;font-size:1.4rem;font-weight:900;color:var(--pr);letter-spacing:-.03em;line-height:1;margin-bottom:.3rem}
.ap-sol-ov-stat .l{display:block;font-size:.72rem;color:var(--mu);line-height:1.4}
.ap-sol-ov-info{}
.ap-sol-ov-rep{display:flex;align-items:center;gap:.6rem;font-size:.82rem;margin-bottom:1rem}
.ap-sol-ov-rep s{color:var(--mu);opacity:.5;font-weight:500}
.ap-sol-ov-rep span{color:var(--pr);font-weight:700}
.ap-sol-ov-rep strong{color:var(--pr);font-weight:800}
.ap-sol-ov-info h2{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.8rem}
.ap-sol-ov-info p{font-size:.93rem;color:var(--mu);line-height:1.78;margin-bottom:1.2rem}
.ap-sol-ov-benefits{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.ap-sol-ov-benefits span{background:rgba(61,47,217,.07);color:var(--pr);font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:999px}
.ap-sol-ov-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(61,47,217,.10),transparent);margin:0}

@media(max-width:900px){
  .ap-sol-ov-block{grid-template-columns:1fr;gap:2rem;direction:ltr!important}
  .ap-sol-ov-block>*{direction:ltr!important}
  .ap-sol-ov-stats{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════════════════════════════════
   UNSERE LÖSUNGEN – TAB LAYOUT
═══════════════════════════════════════ */
.ap-ul-wrap{max-width:1200px;margin:0 auto;padding:0 3rem 5rem}
.ap-ul-block{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.ap-ul-block.visible{opacity:1;transform:translateY(0)}
.ap-ul-visual{display:flex;flex-direction:column;align-items:center;gap:1.5rem;position:sticky;top:80px}
.ap-ul-logo{width:110px;height:110px;border-radius:26px;background:var(--sf);border:1px solid rgba(61,47,217,.10);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(61,47,217,.08)}
.ap-ul-logo img{width:62px;height:62px;object-fit:contain}
.ap-ul-stats{display:flex;flex-direction:column;gap:.7rem;width:100%}
.ap-ul-stat{background:var(--sf);border:1px solid rgba(61,47,217,.08);border-radius:12px;padding:1rem;text-align:center}
.ap-ul-stat .n{display:block;font-size:1.5rem;font-weight:900;color:var(--pr);letter-spacing:-.03em;line-height:1;margin-bottom:.2rem}
.ap-ul-stat .l{display:block;font-size:.72rem;color:var(--mu);line-height:1.3}
.ap-ul-info h2{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}
.ap-ul-info p{font-size:.93rem;color:var(--mu);line-height:1.78;margin-bottom:1rem}
.ap-ul-quote{background:rgba(61,47,217,.05);border-left:3px solid var(--pr);border-radius:0 10px 10px 0;padding:1rem 1.2rem;font-size:.88rem;font-style:italic;color:var(--mu);line-height:1.6;margin-top:1.5rem}

/* ═══════════════════════════════════════
   ROI RECHNER V2 – FRAGEBOGEN
═══════════════════════════════════════ */
.roi-wizard{background:#07071A;border-radius:var(--rd);overflow:hidden;position:relative}
.roi-wizard::before{content:'';position:absolute;width:700px;height:500px;border-radius:50%;background:radial-gradient(ellipse,rgba(61,47,217,.18) 0%,transparent 70%);top:-150px;right:-150px;pointer-events:none}
.roi-progress{display:flex;align-items:center;gap:0;padding:2rem 2.5rem 0;position:relative;z-index:1}
.roi-step-dot{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;cursor:pointer}
.roi-step-dot-circle{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.3);transition:all .3s ease}
.roi-step-dot.active .roi-step-dot-circle{background:var(--pr);border-color:var(--pr);color:#fff;box-shadow:0 0 16px rgba(61,47,217,.5)}
.roi-step-dot.done .roi-step-dot-circle{background:rgba(61,47,217,.4);border-color:rgba(61,47,217,.6);color:#fff}
.roi-step-dot-label{font-size:.65rem;color:rgba(255,255,255,.3);text-align:center;white-space:nowrap;font-weight:500;letter-spacing:.03em}
.roi-step-dot.active .roi-step-dot-label{color:rgba(255,255,255,.7)}
.roi-step-line{flex:1;height:2px;background:rgba(255,255,255,.06);margin-bottom:1.4rem;max-width:40px}
.roi-step-line.done{background:rgba(61,47,217,.5)}

.roi-body{padding:2rem 2.5rem 2.5rem;position:relative;z-index:1}
.roi-step-panel{display:none}
.roi-step-panel.active{display:block;animation:roiSlide .3s ease}
@keyframes roiSlide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}

.roi-step-title{font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:.3rem}
.roi-step-sub{font-size:.82rem;color:rgba(255,255,255,.4);margin-bottom:1.8rem}

/* Step inputs */
.roi-user-selector{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}
.roi-user-row{display:flex;align-items:center;gap:1rem}
.roi-user-label{font-size:.85rem;color:rgba(255,255,255,.6);font-weight:500;min-width:60px}
.roi-big-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:rgba(255,255,255,.1);outline:none;cursor:pointer}
.roi-big-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--pr);cursor:pointer;box-shadow:0 0 0 4px rgba(61,47,217,.3)}
.roi-big-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--pr);cursor:pointer;border:none}
.roi-user-display{font-size:2rem;font-weight:900;color:#fff;letter-spacing:-.04em;min-width:60px;text-align:right}

.roi-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1rem}
.roi-check-item{background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;cursor:pointer;transition:all .25s ease;display:flex;align-items:flex-start;gap:.8rem}
.roi-check-item:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.roi-check-item.selected{background:rgba(61,47,217,.18);border-color:rgba(61,47,217,.5)}
.roi-check-box{width:20px;height:20px;border-radius:5px;border:2px solid rgba(255,255,255,.2);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.7rem;color:#fff}
.roi-check-item.selected .roi-check-box{background:var(--pr);border-color:var(--pr)}
.roi-check-item.selected .roi-check-box::after{content:'✓'}
.roi-check-name{font-size:.84rem;font-weight:600;color:rgba(255,255,255,.8);margin-bottom:2px}
.roi-check-price{font-size:.72rem;color:rgba(255,255,255,.35);font-weight:500}
.roi-check-note{font-size:.7rem;color:rgba(255,255,255,.25);margin-top:2px;line-height:1.4}

.roi-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06)}
.roi-btn-back{background:transparent;border:1.5px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);padding:10px 22px;border-radius:8px;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}
.roi-btn-back:hover{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.8)}
.roi-btn-next{background:var(--pr);color:#fff;border:none;padding:12px 28px;border-radius:8px;font-family:'Poppins',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .3s ease,background .2s;box-shadow:0 4px 16px rgba(61,47,217,.4)}
.roi-btn-next:hover{background:var(--pr-dk);transform:translateY(-1px)}

/* ERGEBNIS */
.roi-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.roi-result-hero{background:rgba(61,47,217,.15);border:1px solid rgba(61,47,217,.3);border-radius:14px;padding:2rem;text-align:center;grid-column:1/-1}
.roi-result-hero-lbl{font-size:.72rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.roi-result-hero-val{font-size:3.5rem;font-weight:900;color:#fff;letter-spacing:-.05em;line-height:1}
.roi-result-hero-sub{font-size:.78rem;color:rgba(255,255,255,.35);margin-top:.4rem}

.roi-result-col h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem}
.roi-result-col.red h4{color:#f87171}
.roi-result-col.green h4{color:#4ade80}
.roi-result-rows{display:flex;flex-direction:column;gap:.4rem}
.roi-result-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:.7rem .9rem}
.roi-result-row-lbl{font-size:.78rem;color:rgba(255,255,255,.45)}
.roi-result-row-val{font-size:.85rem;font-weight:700}
.roi-result-col.red .roi-result-row-val{color:#fca5a5}
.roi-result-col.green .roi-result-row-val{color:#86efac}

.roi-payback-bar{grid-column:1/-1;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.2rem}
.roi-payback-bar h4{font-size:.72rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.8rem}
.roi-year-bars{display:flex;flex-direction:column;gap:.5rem}
.roi-year-row{display:grid;grid-template-columns:40px 1fr 90px;gap:.5rem;align-items:center}
.roi-year-lbl{font-size:.7rem;color:rgba(255,255,255,.3);font-weight:600}
.roi-year-track{height:8px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;position:relative}
.roi-year-ms{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#f87171,#ef4444);border-radius:4px;transition:width .6s ease}
.roi-year-os{position:absolute;top:0;left:0;height:4px;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:4px;transition:width .6s ease}
.roi-year-saving{font-size:.7rem;color:#4ade80;font-weight:600;text-align:right}

.roi-disclaimer{font-size:.68rem;color:rgba(255,255,255,.2);line-height:1.6;border-top:1px solid rgba(255,255,255,.05);padding-top:.8rem;margin-top:1rem;grid-column:1/-1}
.roi-cta-row{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;grid-column:1/-1}
.roi-restart{background:transparent;border:1.5px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);padding:10px 20px;border-radius:8px;font-family:'Poppins',sans-serif;font-size:.85rem;cursor:pointer;transition:all .2s}
.roi-restart:hover{border-color:rgba(255,255,255,.3);color:#fff}

@media(max-width:900px){
  .ap-ul-wrap{padding:0 1.5rem 4rem}
  .ap-ul-block{grid-template-columns:1fr;gap:2rem}
  .ap-ul-visual{position:static}
  .roi-check-grid{grid-template-columns:1fr}
  .roi-result-grid{grid-template-columns:1fr}
  .roi-result-hero{grid-column:auto}
  .roi-payback-bar{grid-column:auto}
  .roi-disclaimer{grid-column:auto}
  .roi-cta-row{grid-column:auto}
}

/* ═══════════════════════════════════════
   HAMBURGER MENU
═══════════════════════════════════════ */
.ap-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none; border: none; cursor: pointer;
  padding: 4px; border-radius: 8px;
  transition: background var(--ez);
}
.ap-hamburger:hover { background: rgba(255,255,255,.08); }
.ap-hamburger span {
  display: block;
  width: 22px; height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .3s ease, opacity .3s ease, width .3s ease;
  transform-origin: center;
}
.ap-nav.light .ap-hamburger span { background: var(--tx); }
.ap-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ap-hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
.ap-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu overlay */
.ap-mobile-menu {
  position: fixed; inset: 0; z-index: 250;
  background: rgba(7,7,26,.97);
  backdrop-filter: blur(20px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .3s ease;
}
.ap-mobile-menu.open { opacity: 1; pointer-events: auto; }
.ap-mobile-menu-inner {
  display: flex; flex-direction: column;
  align-items: center; gap: 0;
  width: 100%;
}
.ap-mobile-menu-inner a {
  font-size: 1.6rem; font-weight: 800;
  color: rgba(255,255,255,.7);
  letter-spacing: -.02em;
  padding: .8rem 2rem;
  width: 100%; text-align: center;
  transition: color var(--ez), background var(--ez);
  border-radius: 12px;
}
.ap-mobile-menu-inner a:hover { color: #fff; }
.ap-mobile-menu-inner .ap-mobile-cta {
  margin-top: 1.5rem;
  background: var(--pr);
  color: #fff !important;
  font-size: 1.1rem;
  padding: 1rem 2.5rem;
  border-radius: 12px;
  width: auto;
  box-shadow: 0 4px 24px rgba(61,47,217,.5);
}

/* ═══════════════════════════════════════
   MOBILE TYPOGRAPHY FIXES
═══════════════════════════════════════ */
@media (max-width: 768px) {
  /* Nav */
  .ap-nav { padding: 0 1.2rem; }
  .ap-hamburger { display: flex; }
  .ap-nav-links { display: none !important; }

  /* Hero */
  .ap-hero { padding: 6rem 1.2rem 4rem; }
  .ap-h1 { font-size: clamp(2.2rem, 10vw, 3.2rem); letter-spacing: -.03em; }
  .ap-sub { font-size: .95rem; margin-bottom: 2rem; }
  .ap-cta-row { flex-direction: column; align-items: center; }
  .ap-btn-hero, .ap-btn-ghost { width: 100%; text-align: center; padding: 14px 20px; }
  .ap-trust { gap: 1rem; }
  .ap-trust-sep { display: none; }
  .ap-stats { grid-template-columns: 1fr 1fr; }
  .ap-stat { padding: 1.1rem .8rem; }
  .ap-stat-v { font-size: 1.4rem; }
  .ap-stat-l { font-size: .65rem; }
  .ap-scroll-hint { display: none; }

  /* Page hero */
  .ap-page-hero { padding: 5rem 1.2rem 2rem; }
  .ap-page-hero h1 { font-size: clamp(1.8rem, 8vw, 2.6rem); }
  .ap-page-hero .lead { font-size: .9rem; }

  /* Sections */
  .ap-sec { padding: 3rem 1.2rem; }
  .ap-sec h2 { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .ap-divider { margin: 0 1.2rem; }

  /* Cards */
  .ap-quotes { grid-template-columns: 1fr; }
  .ap-pillars { grid-template-columns: 1fr; }
  .ap-tech { grid-template-columns: 1fr 1fr; }
  .ap-steps { grid-template-columns: 1fr; }

  /* Quotes */
  .ap-qt { font-size: .88rem; }

  /* CTA */
  .ap-cta-wrap { padding: 0 1.2rem 3rem; }
  .ap-cta-box { padding: 2.5rem 1.5rem; }
  .ap-cta-box h2 { font-size: clamp(1.5rem, 7vw, 2rem); }
  .ap-cta-btns { flex-direction: column; align-items: center; }
  .ap-btn-white, .ap-btn-outline { width: 100%; text-align: center; }

  /* FAQ */
  .ap-faq-wrap { padding: 0 1.2rem 3rem; }
  .ap-cat-tabs { gap: .4rem; padding: 0 1.2rem; }
  .ap-cat-tab { font-size: .75rem; padding: 6px 12px; }
  .faq-q { font-size: .87rem; padding: 1.1rem 1.1rem; }

  /* Solutions */
  .ap-sol-tabs { padding: 0 1.2rem; gap: .4rem; }
  .ap-sol-tab { font-size: .75rem; padding: 6px 12px; }
  .ap-sol-tab img { width: 13px; height: 13px; }
  .ap-sols-wrap { padding: 0 1.2rem 3rem; }
  .ap-sol-block { grid-template-columns: 1fr; gap: 1.5rem; direction: ltr !important; }
  .ap-sol-block > * { direction: ltr !important; }
  .ap-sol-info h2 { font-size: clamp(1.4rem, 7vw, 1.8rem); }

  /* Unsere Lösungen */
  .ap-ul-wrap { padding: 0 1.2rem 3rem; }
  .ap-ul-block { grid-template-columns: 1fr; gap: 1.5rem; }
  .ap-ul-visual { position: static; flex-direction: row; flex-wrap: wrap; justify-content: center; }
  .ap-ul-logo { width: 72px; height: 72px; }
  .ap-ul-logo img { width: 40px; height: 40px; }
  .ap-ul-stats { flex-direction: row; }
  .ap-ul-info h2 { font-size: clamp(1.4rem, 7vw, 1.8rem); }

  /* Preise */
  .ap-pricing-grid { grid-template-columns: 1fr; }
  .ap-process-steps { grid-template-columns: 1fr 1fr; }
  .ap-addon-grid { grid-template-columns: 1fr; }

  /* ROI Wizard */
  .roi-progress { padding: 1.5rem 1.2rem 0; gap: 0; }
  .roi-step-dot-label { font-size: .56rem; }
  .roi-body { padding: 1.2rem; }
  .roi-check-grid { grid-template-columns: 1fr; }
  .roi-result-grid { grid-template-columns: 1fr; }
  .roi-result-hero { grid-column: auto; }
  .roi-result-hero-val { font-size: 2.5rem; }
  .roi-payback-bar { grid-column: auto; }
  .roi-disclaimer { grid-column: auto; }
  .roi-cta-row { grid-column: auto; flex-direction: column; }

  /* Kontakt */
  .ap-contact-grid { grid-template-columns: 1fr; }
  .ap-form-row { grid-template-columns: 1fr; }

  /* Über uns */
  .ap-motive { grid-template-columns: 1fr; }
  .ap-team { grid-template-columns: 1fr; }
  .ap-beliefs { grid-template-columns: 1fr; }

  /* Comparison table scroll */
  .ap-comp-sec { padding: 0 1.2rem 3rem; overflow-x: auto; }
  .ap-comp { min-width: 560px; }

  /* Footer */
  .ap-footer { flex-direction: column; gap: 1rem; text-align: center; padding: 2rem 1.2rem; }
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 960px) {
  .ap-hamburger { display: flex; }
  .ap-nav-links { display: none !important; }
  .ap-h1 { font-size: clamp(2.8rem, 6vw, 4rem); }
  .ap-stats { grid-template-columns: 1fr 1fr; }
  .ap-tech { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════
   OPEN SOURCE PAGE
═══════════════════════════════════════ */
.ap-os-story { display: flex; flex-direction: column; gap: 0; max-width: 860px; margin: 0 auto; }
.ap-os-chapter {
  display: grid; grid-template-columns: 64px 1fr;
  gap: 1.5rem; padding: 2.5rem 0;
  border-bottom: 1px solid rgba(61,47,217,.07);
  position: relative;
}
.ap-os-chapter:last-child { border-bottom: none; }
/* Vertical timeline line */
.ap-os-chapter::before {
  content: ''; position: absolute;
  left: 31px; top: 64px; bottom: -1px;
  width: 2px; background: rgba(61,47,217,.08);
}
.ap-os-chapter:last-child::before { display: none; }
.ap-os-chapter-icon {
  width: 64px; height: 64px; border-radius: 16px;
  background: var(--pr-gl); border: 1px solid rgba(61,47,217,.14);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; position: relative; z-index: 1;
  color: var(--pr);
}
.ap-os-chapter-icon svg { width: 28px; height: 28px; }
.ap-os-chapter-body {}
.ap-os-chapter-body h3 {
  font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em;
  margin-bottom: .8rem; color: var(--tx);
}
.ap-os-chapter-body p {
  font-size: .93rem; color: var(--mu); line-height: 1.8;
  margin-bottom: .8rem;
}
.ap-os-chapter-body p:last-child { margin-bottom: 0; }
.ap-os-chapter-body p strong { color: var(--tx); }

/* Donation cards */
.ap-donate-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem; margin-top: 3rem;
}
.ap-donate-card {
  background: var(--sf); border: 1px solid rgba(61,47,217,.08);
  border-radius: var(--rd); padding: 1.8rem 1.5rem;
  display: flex; flex-direction: column; gap: .8rem;
  backdrop-filter: blur(8px);
  transition: transform var(--sp), box-shadow var(--ez), border-color var(--ez);
}
.ap-donate-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(61,47,217,.10);
  border-color: rgba(61,47,217,.16);
}
.ap-donate-logo {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--pr-gl); border: 1px solid rgba(61,47,217,.10);
  display: flex; align-items: center; justify-content: center;
}
.ap-donate-logo img { width: 30px; height: 30px; object-fit: contain; }
.ap-donate-name { font-size: 1rem; font-weight: 800; color: var(--tx); letter-spacing: -.01em; }
.ap-donate-desc { font-size: .83rem; color: var(--mu); line-height: 1.65; flex: 1; }
.ap-donate-used {
  font-size: .72rem; color: var(--pr); font-weight: 600;
  background: var(--pr-gl); border-radius: 8px;
  padding: .4rem .7rem;
}
.ap-donate-btn {
  display: block; text-align: center;
  background: var(--pr); color: #fff;
  padding: .75rem 1rem; border-radius: 9px;
  font-weight: 700; font-size: .85rem;
  transition: transform var(--sp), background var(--ez);
  margin-top: auto;
}
.ap-donate-btn:hover { background: var(--pr-dk); transform: translateY(-1px); }

@media (max-width: 960px) { .ap-donate-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  .ap-donate-grid { grid-template-columns: 1fr; }
  .ap-os-chapter { grid-template-columns: 1fr; gap: 1rem; }
  .ap-os-chapter::before { display: none; }
  .ap-os-chapter-icon { width: 48px; height: 48px; border-radius: 12px; }
  .ap-os-chapter-icon svg { width: 22px; height: 22px; }
}

/* ═══════════════════════════════════════
   ROI MOBILE FIXES
═══════════════════════════════════════ */
@media (max-width: 768px) {
  /* Result grid - stack vertically */
  .roi-result-grid { grid-template-columns: 1fr !important; }
  .roi-result-hero { grid-column: auto !important; }
  .roi-result-hero-val { font-size: 2.2rem !important; }
  .roi-payback-bar { grid-column: auto !important; }
  .roi-disclaimer { grid-column: auto !important; }
  .roi-cta-row { grid-column: auto !important; flex-direction: column; }
  
  /* Key metrics - stack on mobile */
  .roi-metrics-row { grid-template-columns: 1fr !important; }
  
  /* Soft factors + sources - 1 col on mobile */
  .roi-soft-grid { grid-template-columns: 1fr !important; }
  .roi-sources-grid { grid-template-columns: 1fr !important; }
  
  /* Prevent any horizontal overflow */
  .roi-wizard { overflow-x: hidden; }
  .roi-body { padding: 1rem !important; }
  .roi-progress { padding: 1.2rem 1rem 0 !important; }
  .roi-step-dot-label { font-size: .55rem !important; }
  .roi-check-grid { grid-template-columns: 1fr !important; }
  
  /* Result rows - smaller text */
  .roi-result-row-lbl { font-size: .73rem; }
  .roi-result-row-val { font-size: .82rem; }
  .roi-result-row { padding: .6rem .8rem; }
  
  /* Hero val */
  .roi-result-hero { padding: 1.2rem !important; }
  
  /* Progress dots */
  .roi-step-line { max-width: 24px !important; }
  .roi-step-dot-circle { width: 26px !important; height: 26px !important; font-size: .7rem !important; }
}

/* ── Merged Lösungsseite V8.5 ── */

.ap-ms-block { display: none; }

/* Detail: komplett versteckt bis JS es freigibt */
/* ── SCREENSHOT GALLERY ── */
.ap-ms-screenshots {
  display: none;
  margin-top: 4rem;
}
.ap-ms-screenshots.ap-ms-visible {
  display: block;
}
.ap-screenshots-label {
  font-size: clamp(1.6rem,2.8vw,2.2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 2rem;
  color: var(--tx);
  text-align: center;
}
.ap-screenshots-label span {
  color: var(--pr);
}
.ap-screenshots-grid {
  position: relative;
  height: 340px;
  max-width: 860px;
  margin: 0 auto;
}
/* 1 Bild: mittig zentriert */
.ap-screenshots-grid:has(.ap-ss-main:only-child) {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
}
.ap-screenshots-grid:has(.ap-ss-main:only-child) .ap-ss-main {
  position: static;
  width: 70%;
  height: 280px;
}
/* 2 Bilder: mittig zentriert nebeneinander */
.ap-screenshots-grid:has(.ap-ss-side:only-of-type):not(:has(.ap-ss-back)) {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1.5rem;
  height: auto;
}
.ap-screenshots-grid:has(.ap-ss-side:only-of-type):not(:has(.ap-ss-back)) .ap-ss-main,
.ap-screenshots-grid:has(.ap-ss-side:only-of-type):not(:has(.ap-ss-back)) .ap-ss-side {
  position: static;
  width: 46%;
  height: 260px;
}
.ap-screenshot {
  position: absolute;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 48px rgba(13,14,26,.14);
  background: transparent;
  transition: transform .3s ease, box-shadow .3s ease;
}
.ap-screenshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ap-ss-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: .55rem 1rem;
  background: rgba(13,14,26,.72);
  backdrop-filter: blur(6px);
  color: rgba(255,255,255,.85);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .02em;
}
.ap-ss-main {
  left: 0;
  top: 0;
  width: 62%;
  height: 100%;
  z-index: 3;
}
.ap-ss-side {
  width: 40%;
  height: 48%;
  right: 0;
  z-index: 2;
}
.ap-ss-side:first-of-type,
.ap-ss-side:not(.ap-ss-back) {
  top: 0;
}
.ap-ss-back {
  bottom: 0;
  z-index: 1;
  transform: rotate(1.2deg) translateX(8px);
}
.ap-screenshot:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 60px rgba(13,14,26,.22);
  z-index: 10;
}
.ap-ss-back:hover {
  transform: rotate(0deg) translateX(0) scale(1.02);
}

@media (max-width: 700px) {
  .ap-screenshots-grid {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .ap-screenshot {
    position: static;
    width: 100% !important;
    height: 200px !important;
    transform: none !important;
  }
}

.ap-ms-detail {
  display: none;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  margin-top: 6rem;
  padding-top: 5rem;
  border-top: 1px solid rgba(61,47,217,.08);
}
.ap-ms-detail.ap-ms-visible {
  display: block;
}
.ap-ms-detail.ap-ms-revealed {
  opacity: 1;
  transform: translateY(0);
}

/* "Im Detail" – dezentes Label */
.ap-ms-detail-label {
  font-size: clamp(1.6rem,2.8vw,2.2rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: 3rem;
  color: var(--tx);
  text-align: center;
}
.ap-ms-detail-label span {
  color: var(--pr);
}

/* ── PREISE TABS ── */
.ap-preis-wrap { max-width:1200px;margin:0 auto;padding:0; }
.ap-preis-block { display:none; }

/* ═══════════════════════════════════════════════════════════
   WPFORMS – Angleichung an Aprosos-Theme (Modern Markup)
   Präzise auf die gerenderte Struktur von Formular #135.
═══════════════════════════════════════════════════════════ */

/* Container zurücksetzen */
.wpforms-container,
.wpforms-container-full {
  max-width: 100% !important;
  margin: 0 !important;
  font-family: 'Poppins', sans-serif !important;
}
.wpforms-container * {
  box-sizing: border-box;
}

/* WICHTIG: WPForms begrenzt Felder über "-medium/-small/-large" auf feste
   Breiten. Das hebeln wir auf, damit alle Felder volle Breite haben. */
.wpforms-container .wpforms-field-medium,
.wpforms-container .wpforms-field-small,
.wpforms-container .wpforms-field-large,
.wpforms-container input.wpforms-field-medium,
.wpforms-container select.wpforms-field-medium,
.wpforms-container textarea.wpforms-field-medium {
  max-width: 100% !important;
  width: 100% !important;
}

/* Jedes Feld: Abstand nach unten */
.wpforms-container .wpforms-field {
  padding: 0 0 1.2rem 0 !important;
  margin: 0 !important;
  clear: both;
}

/* Fieldset/Legend beim Namensfeld neutralisieren */
.wpforms-container fieldset {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}

/* Labels (auch Legend) */
.wpforms-container .wpforms-field-label,
.wpforms-container legend.wpforms-field-label {
  display: block !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  color: #0D0E1A !important;
  margin: 0 0 .4rem 0 !important;
  padding: 0 !important;
  letter-spacing: .02em !important;
  float: none !important;
  width: auto !important;
}
.wpforms-container .wpforms-required-label {
  color: #3D2FD9 !important;
  border: none !important;
}

/* Sub-Labels (Vorname/Nachname unter den Feldern) */
.wpforms-container .wpforms-field-sublabel {
  font-size: .68rem !important;
  font-weight: 400 !important;
  color: #5A5D7A !important;
  margin-top: .3rem !important;
  display: block !important;
}

/* Eingabefelder, Selects, Textareas – Theme-Stil */
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container select,
.wpforms-container textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: .85rem 1rem !important;
  border: 1.5px solid rgba(61,47,217,.12) !important;
  border-radius: 10px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .88rem !important;
  line-height: 1.4 !important;
  color: #0D0E1A !important;
  background: #fff !important;
  box-shadow: none !important;
  transition: border-color .25s ease, box-shadow .25s ease !important;
  outline: none !important;
  height: auto !important;
}

/* Focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: #3D2FD9 !important;
  box-shadow: 0 0 0 3px rgba(61,47,217,.08) !important;
}

.wpforms-container textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

/* Vor-/Nachname nebeneinander (wpforms-field-row + two halves) */
.wpforms-container .wpforms-field-row {
  display: flex !important;
  gap: 1rem !important;
  margin: 0 !important;
}
.wpforms-container .wpforms-field-row-block,
.wpforms-container .wpforms-one-half {
  flex: 1 1 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Submit-Button im Theme-Stil */
.wpforms-container .wpforms-submit-container {
  margin-top: .3rem !important;
  padding: 0 !important;
}
.wpforms-container button.wpforms-submit,
.wpforms-container .wpforms-submit {
  width: 100% !important;
  display: block !important;
  background: #3D2FD9 !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 20px !important;
  border-radius: 10px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: transform .45s cubic-bezier(0.34,1.56,0.64,1), background .25s ease !important;
  box-shadow: none !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}
.wpforms-container button.wpforms-submit:hover {
  background: #2E22B0 !important;
  transform: translateY(-1px) !important;
}

/* Platzhalter */
.wpforms-container ::placeholder {
  color: rgba(90,93,122,.6) !important;
  opacity: 1;
}

/* Select-Pfeil dezent */
.wpforms-container select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235A5D7A' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
}

/* Fehlermeldungen */
.wpforms-container .wpforms-error,
.wpforms-container label.wpforms-error {
  font-size: .75rem !important;
  color: #e23b3b !important;
  margin-top: .3rem !important;
  font-weight: 400 !important;
}
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error {
  border-color: #e23b3b !important;
}

/* Bestätigungs-Box (grüne Danke-Meldung) im Theme-Look */
div.wpforms-confirmation-container-full,
.wpforms-confirmation-container-full {
  background: rgba(61,47,217,.06) !important;
  border: 1.5px solid rgba(61,47,217,.18) !important;
  border-radius: 12px !important;
  color: #0D0E1A !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 1.2rem 1.4rem !important;
  margin: 0 !important;
}

/* Mobil: Vor-/Nachname untereinander */
@media (max-width: 600px) {
  .wpforms-container .wpforms-field-row {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .wpforms-container .wpforms-field-row-block {
    margin-bottom: 1rem !important;
  }
}

/* ── Skip-to-Content-Link (Accessibility) ── */
.ap-skip-link {
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100000;
  background:#3D2FD9;
  color:#fff;
  padding:12px 20px;
  border-radius:0 0 10px 0;
  font-family:'Poppins',sans-serif;
  font-size:.9rem;
  font-weight:600;
  text-decoration:none;
}
.ap-skip-link:focus {
  left:0;
  outline:3px solid #fff;
  outline-offset:-3px;
}
