/* ═══════════════════════════════════════════════════════════ */
/* ═══ AIGENZ v2.css — Mobile-First · Zero !important ══════ */
/* ═══════════════════════════════════════════════════════════ */

@import url("https://api.fontshare.com/v2/css?f[]=satoshi@300,400,500,700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/geist@1.2.2/dist/fonts/geist-sans/style.css");
@import url("https://cdn.jsdelivr.net/npm/geist@1.2.2/dist/fonts/geist-mono/style.css");

/* ═══ 1. VARIABLES & RESET ═══ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --bg: #FDFCFC; --bg2: #F5F5F7; --blue: #0055FF; --black: #0A0A0B;
  --text: rgba(10,10,11,0.82); --gray: rgba(10,10,11,0.48);
  --light: rgba(10,10,11,0.24); --border: rgba(0,0,0,0.06);
  --green: #16a34a; --green-bg: rgba(22,163,74,0.06);
  --radius: 16px; --gutter: 20px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
}

html { scroll-behavior: smooth; }
body { font-family:"Satoshi",-apple-system,sans-serif; background:var(--bg); color:var(--black); -webkit-font-smoothing:antialiased; font-size:15px; line-height:1.65; overflow-x:hidden; }
::selection { background:rgba(0,85,255,0.08); color:var(--black); }
img { max-width:100%; height:auto; }

/* ═══ 2. TYPOGRAPHY — MOBILE BASE ═══ */
h1 { font-family:"Geist Sans","geist-sans",sans-serif; font-size:clamp(2.2em,5vw,5.2em); font-weight:700; letter-spacing:-0.05em; line-height:1.04; color:var(--black); margin-bottom:20px; }
h2 { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.4em; font-weight:700; letter-spacing:-0.04em; line-height:1.08; color:var(--black); margin-bottom:10px; }
h3 { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1em; font-weight:600; letter-spacing:-0.02em; color:var(--black); margin-bottom:10px; }
p { color:var(--text); font-size:0.92em; line-height:1.7; max-width:640px; }
.sub { font-size:0.92em; color:var(--gray); max-width:560px; line-height:1.7; margin-bottom:14px; }
.tag { display:inline-block; font-family:"GeistMono","geist-mono",monospace; font-size:0.62em; font-weight:500; padding:4px 10px; border-radius:6px; background:var(--bg2); color:var(--gray); margin-bottom:10px; letter-spacing:0.08em; text-transform:uppercase; }
.accent { color:var(--blue); }
.blue-line { width:32px; height:2px; background:var(--blue); margin-bottom:10px; }
.blue-line-center { width:32px; height:2px; background:var(--blue); margin:0 auto 10px; }

/* ═══ 3. NAV — MOBILE BASE ═══ */
nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(253,252,252,0.92); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid var(--border); padding:8px 0; transition:padding 0.3s, box-shadow 0.3s; }
nav.scrolled { padding:8px 0; box-shadow:0 1px 12px rgba(0,0,0,0.04); }
nav .inner { max-width:1304px; margin:0 auto; padding:0 var(--gutter); display:flex; justify-content:center; align-items:center; flex-wrap:wrap; }
nav .logo { text-decoration:none; display:flex; align-items:center; }
.nav-logo { height:56px; width:auto; vertical-align:middle; }
.hamburger, .mobile-close { display:none; }

nav .links {
  display:flex; position:static; background:none; flex-direction:row;
  flex-wrap:nowrap; gap:20px; align-items:center; justify-content:center;
  width:100%; padding:6px 0 0; margin-top:4px; border-top:1px solid var(--border);
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
nav .links::-webkit-scrollbar { display:none; }
nav .links a:not(.btn) { font-size:0.78em; color:var(--gray); text-decoration:none; font-weight:500; padding:4px 0; white-space:nowrap; flex-shrink:0; }
nav .links a:not(.btn):hover { color:var(--black); }
nav .links .btn { display:none; }

/* ═══ 4. BUTTONS — MOBILE BASE ═══ */
.btn { display:block; width:100%; text-align:center; background:var(--black); color:#fff; padding:18px 24px; border-radius:10px; font-family:"Geist Sans","geist-sans",sans-serif; font-weight:600; font-size:0.95em; text-decoration:none; letter-spacing:-0.01em; transition:all 0.25s; border:none; cursor:pointer; }
.btn:hover { background:#1a1a1a; transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.12); }
.btn + .btn { margin-top:8px; }
.btn-outline { background:transparent; color:var(--black); border:1.5px solid rgba(0,0,0,0.1); }
.btn-outline:hover { background:var(--bg2); transform:translateY(-2px); }
.btn-full { width:100%; text-align:center; display:block; }
.btn-lg { padding:18px 28px; font-size:1em; border-radius:12px; }

/* ═══ 5. LAYOUT — MOBILE BASE ═══ */
section { padding:36px 0; }
section + section { border-top:1px solid var(--border); }
.wrap { max-width:1304px; margin:0 auto; padding:0 var(--gutter); overflow-x:hidden; }
.wrap-narrow { max-width:820px; margin:0 auto; padding:0 var(--gutter); overflow-x:hidden; }
.text-center { text-align:center; }
.section-alt { background:var(--bg2); }
.section-flush-top { padding-top:0; }
.no-border-top { border-top:none; }

/* ═══ 6. HERO — MOBILE BASE ═══ */
.section-hero { padding:120px 0 48px; min-height:100svh; display:flex; align-items:flex-end; position:relative; overflow:hidden; }
#hero-sphere { position:absolute; top:45%; left:50%; transform:translate(-50%,-50%); width:min(480px, 85vw); height:min(480px, 85vw); pointer-events:none; z-index:0; opacity:0.85; }
.section-hero > .wrap { position:relative; z-index:1; }
.section-hero-sub { padding:130px 0 40px; }
.hero-inner { max-width:860px; margin:0 auto; text-align:center; width:100%; }
#hero-headline { margin-bottom:120px; }
.hero-sub { font-size:0.92em; margin:0 auto 16px; text-align:center; max-width:100%; color:var(--gray); line-height:1.75; }
.hero-ctas { display:flex; flex-direction:column; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.hero-stats { margin-top:28px; gap:16px; justify-content:center; }
.trust-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:24px; }
.trust-badge { display:inline-flex; align-items:center; gap:6px; font-family:"GeistMono","geist-mono",monospace; font-size:0.62em; font-weight:500; letter-spacing:0.04em; color:var(--gray); padding:6px 12px; border:1px solid var(--border); border-radius:20px; background:var(--bg); white-space:nowrap; }
.trust-badge svg { flex-shrink:0; stroke:var(--gray); }
.section-cta { text-align:center; padding:52px 0; border-top:none; }
.cta-sub { margin:12px auto 28px; text-align:center; max-width:100%; color:var(--gray); font-size:0.92em; line-height:1.7; }
.section-grid { margin-top:16px; }
.h1-sub { font-size:clamp(1.8em,4vw,3.8em); }

/* ═══ 7. GRIDS — MOBILE BASE (all single column) ═══ */
.grid2, .grid3, .grid4, .grid5 { display:grid; grid-template-columns:1fr; gap:10px; }

/* ═══ 8. CARDS — MOBILE BASE ═══ */
.card { background:var(--bg2); border:1px solid rgba(0,0,0,0.04); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow-md); transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94); }
.card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px) scale(1.005); }
.card h3 { margin-bottom:10px; }
.card p { font-size:0.9em; line-height:1.6; color:var(--gray); max-width:none; }
.card-accent { border-left:3px solid var(--blue); box-shadow:var(--shadow-md); background:var(--bg); }
.card-accent:hover { box-shadow:var(--shadow-lg); border-left-color:var(--blue); }
.card-white { background:var(--bg); }
.card-num { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.2em; color:var(--blue); margin-bottom:2px; font-weight:700; line-height:1; }

/* ═══ 9. STATS — MOBILE BASE ═══ */
.stat-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; justify-items:center; text-align:center; }
.stat-row-center { justify-content:center; }
.stat-row-5 { display:flex; flex-wrap:wrap; justify-content:center; gap:20px 28px; }
.stat-row-5 .num { font-size:1.6em; }
.stat-row-5 .label { font-size:0.62em; }
.stat .num { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.8em; font-weight:700; letter-spacing:-0.05em; line-height:1; color:var(--black); }
.stat .label { font-size:0.68em; color:var(--gray); margin-top:8px; line-height:1.3; }
.counter-num { font-variant-numeric:tabular-nums; }

/* ═══ 10. BAFA ═══ */
.bafa-box { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:14px 16px; background:var(--bg2); border:1px solid var(--border); border-radius:12px; margin-bottom:24px; }
.bafa-old { font-family:"Geist Sans",sans-serif; font-size:1.2em; font-weight:700; text-decoration:line-through; color:var(--light); }
.bafa-new { font-family:"Geist Sans",sans-serif; font-size:1.2em; font-weight:700; color:var(--green); }
.branch-stat { margin-top:12px; font-family:"GeistMono","geist-mono",monospace; font-size:0.78em; color:var(--blue); }
.branch-link { font-family:"GeistMono","geist-mono",monospace; font-size:0.78em; color:var(--blue); text-decoration:none; }

/* ═══ 11. PILLS ═══ */
.pill { display:inline-block; font-family:"GeistMono","geist-mono",monospace; font-size:0.7em; padding:4px 12px; border-radius:6px; font-weight:500; margin:3px; background:var(--bg); color:var(--gray); border:1px solid var(--border); }

/* ═══ 12. PROCESS ═══ */
.process-step { display:flex; flex-direction:column; gap:8px; padding:16px 0; border-bottom:1px solid var(--border); }
.process-step:last-child { border:none; }
.step-num { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.5em; font-weight:700; color:var(--bg2); line-height:1; min-width:auto; }
.step-content h3 { margin-bottom:8px; }
.step-content p { font-size:0.94em; color:var(--gray); max-width:none; }

/* ═══ 13. PROOF BAR ═══ */
.proof-bar { display:flex; flex-direction:column; gap:6px; align-items:center; padding:10px 0; flex-wrap:wrap; }
.proof-item { font-family:"GeistMono","geist-mono",monospace; font-size:0.68em; color:var(--light); letter-spacing:0.04em; text-transform:uppercase; }

/* ═══ 14. FAQ — Clean Cards ═══ */
details { background:var(--bg2); border:1px solid var(--border); border-radius:12px; padding:0; margin-bottom:8px; overflow:hidden; transition:all 0.2s; }
details:last-child { margin-bottom:0; }
details[open] { background:var(--bg); box-shadow:var(--shadow-sm); border-color:rgba(0,85,255,0.12); }
summary { font-family:"Geist Sans","geist-sans",sans-serif; font-weight:600; font-size:0.88em; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; transition:color 0.2s; min-height:52px; padding:0 18px; }
summary:hover { color:var(--blue); }
summary::after { content:"+"; font-size:1.2em; color:var(--light); font-weight:300; transition:transform 0.2s; }
details[open] summary::after { content:"\2212"; color:var(--blue); }
details p { padding:0 18px 16px; margin-top:0; font-size:0.88em; color:var(--gray); max-width:none; line-height:1.7; }
.faq-master { background:none; border:none; padding:0; margin:0; text-align:center; }
.faq-master > summary { justify-content:center; gap:12px; padding:0; min-height:auto; }
.faq-master > summary::after { font-size:1em; }
.faq-master[open] { background:none; box-shadow:none; border:none; }
.faq-master[open] > summary { margin-bottom:8px; }
.faq-master > .mt-24 details { text-align:left; }

/* ═══ 15. FOOTER — MOBILE BASE ═══ */
footer { background:var(--bg2); color:var(--black); padding:36px 0; border-top:1px solid var(--border); }
footer .f-inner { max-width:1304px; margin:0 auto; padding:0 20px; display:flex; flex-direction:column; gap:20px; flex-wrap:wrap; }
footer .f-col h4 { font-family:"Geist Sans","geist-sans",sans-serif; font-size:0.76em; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--light); margin-bottom:6px; }
footer .f-col a { display:block; color:var(--gray); text-decoration:none; font-size:0.82em; margin-bottom:5px; transition:color 0.2s; }
footer .f-col a:hover { color:var(--black); }
footer .flogo { margin-bottom:4px; }
.footer-logo { height:56px; width:auto; }
footer .f-copy { font-size:0.76em; color:var(--light); margin-top:2px; line-height:1.5; }

/* ═══ 16. CUSTOM CURSOR — Hidden on mobile ═══ */
#cursor-dot, #cursor-ring { display:none; }
body, a, button, .btn { cursor:auto; }

/* ═══ MOBILE-ONLY: Hide detail sections ═══ */
.desktop-only { display:none; }

/* ═══ 17. ANIMATIONS ═══ */
.hero-word { display:inline-block; }
.parallax-img { will-change:transform; }
.reveal { opacity:1; transform:none; }
.reveal.visible { opacity:1; transform:none; }

/* ═══ 18. FORM INPUTS ═══ */
input, textarea { font-size:16px; }
.form-group { margin-bottom:16px; }
.form-group-lg { margin-bottom:20px; }
.form-label { display:block; font-size:0.85em; font-weight:500; margin-bottom:6px; }
.form-input { width:100%; padding:12px 16px; border:1px solid var(--border); border-radius:8px; font-family:"Satoshi",sans-serif; font-size:0.92em; background:var(--bg); outline:none; transition:border 0.15s; }
.form-input:focus { border-color:var(--blue); }
.form-textarea { resize:vertical; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: PRICING (pakete.html) ════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.pricing-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:8px; align-items:start; }
.pricing-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:24px 20px; display:flex; flex-direction:column; position:relative; box-shadow:var(--shadow-md); transition:all 0.3s; }
.pricing-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.pricing-card.featured { border:2px solid var(--black); box-shadow:0 8px 32px rgba(0,0,0,0.1); order:-1; }
.popular-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--black); color:#fff; font-family:"GeistMono","geist-mono",monospace; font-size:0.65em; font-weight:500; padding:4px 16px; border-radius:20px; letter-spacing:0.05em; white-space:nowrap; }
.plan-name { font-family:"Geist Sans","geist-sans",sans-serif; font-size:0.78em; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:var(--gray); margin-bottom:8px; }
.plan-desc { font-size:0.85em; color:var(--gray); line-height:1.5; margin-bottom:20px; }
.price-row { margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.price { font-family:"Geist Sans","geist-sans",sans-serif; font-size:2.2em; font-weight:700; letter-spacing:-0.04em; line-height:1; }
.price-suffix { font-size:0.28em; font-weight:400; color:var(--gray); letter-spacing:0; margin-left:3px; }
.setup-price { font-family:"GeistMono","geist-mono",monospace; font-size:0.75em; color:var(--gray); margin-top:6px; }
.features { list-style:none; flex:1; margin-bottom:24px; }
.features li { font-size:0.85em; color:var(--text); padding:8px 0 8px 24px; position:relative; line-height:1.45; border-bottom:1px solid var(--border); }
.features li:last-child { border:none; }
.features li::before { content:""; position:absolute; left:0; top:11px; width:14px; height:14px; border-radius:50%; background:var(--black); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E"); background-size:9px; background-repeat:no-repeat; background-position:center; }
.toggle-wrap { display:flex; justify-content:center; gap:12px; align-items:center; margin-top:16px; }
.toggle-label { font-size:0.88em; color:var(--gray); font-weight:500; transition:color 0.2s; }
.toggle-label.active { color:var(--black); }
.toggle-save { font-family:"GeistMono","geist-mono",monospace; font-size:0.7em; color:var(--green); font-weight:500; background:rgba(22,163,74,0.08); padding:3px 10px; border-radius:6px; margin-left:4px; }
.toggle { width:44px; height:24px; background:var(--bg2); border:1.5px solid var(--border); border-radius:12px; cursor:pointer; position:relative; transition:background 0.25s; }
.toggle.on { background:var(--black); border-color:var(--black); }
.toggle::after { content:""; position:absolute; top:2px; left:3px; width:18px; height:18px; background:#fff; border-radius:50%; transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1); box-shadow:0 1px 3px rgba(0,0,0,0.15); }
.toggle.on::after { transform:translateX(19px); }
.compare-wrap { margin-top:48px; }
.compare-wrap summary { font-family:"Geist Sans","geist-sans",sans-serif; font-weight:600; font-size:1em; cursor:pointer; list-style:none; display:flex; justify-content:center; align-items:center; gap:8px; color:var(--blue); padding:16px 0; transition:opacity 0.2s; min-height:auto; }
.compare-wrap summary:hover { opacity:0.7; }
.compare-wrap summary::after { content:"+"; font-size:1.2em; font-weight:300; }
.compare-wrap[open] summary::after { content:"\2212"; }
.compare { width:100%; border-collapse:collapse; margin-top:16px; font-size:0.75em; }
.compare th { text-align:left; padding:8px 6px; font-weight:600; font-size:0.72em; text-transform:uppercase; letter-spacing:0.08em; color:var(--light); border-bottom:2px solid var(--border); }
.compare th:not(:first-child) { text-align:center; }
.compare td { padding:8px 6px; border-bottom:1px solid var(--border); color:var(--text); }
.compare td:not(:first-child) { text-align:center; }
.compare td:first-child { font-weight:500; color:var(--black); }
.check { font-weight:700; color:var(--black); }
.dash { color:var(--light); }
.einzelleistungen { margin-top:32px; }
.el-item { display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--border); flex-wrap:wrap; gap:4px; }
.el-item:last-child { border:none; }
.el-name { font-weight:600; font-size:0.92em; color:var(--black); }
.el-price { font-family:"GeistMono","geist-mono",monospace; font-size:0.85em; color:var(--black); white-space:nowrap; }
.el-bafa { font-family:"GeistMono","geist-mono",monospace; font-size:0.72em; color:var(--green); width:100%; }
.bafa-section { background:var(--bg2); border-radius:var(--radius); padding:28px 16px; text-align:center; margin-top:56px; }
.bafa-big { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.6em; font-weight:700; letter-spacing:-0.04em; line-height:1.1; }
.bafa-desc { color:var(--gray); margin:12px auto 0; max-width:460px; text-align:center; font-size:0.95em; }
.bafa-example { display:inline-flex; align-items:baseline; gap:8px; margin:20px 0; padding:12px 16px; background:var(--bg); border:1px solid var(--border); border-radius:12px; flex-wrap:wrap; justify-content:center; }
.bafa-example .old { font-family:"Geist Sans",sans-serif; font-size:1.1em; font-weight:700; text-decoration:line-through; color:var(--light); }
.bafa-example .arrow { color:var(--light); }
.bafa-example .new { font-family:"Geist Sans",sans-serif; font-size:1.1em; font-weight:700; color:var(--green); }
.price-note { text-align:center; margin-top:20px; font-size:0.8em; color:var(--light); }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: TEAM (ueber-uns.html) ════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.team-duo { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-bottom:24px; box-shadow:var(--shadow-md); transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94); }
.team-duo:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.team-human { background:var(--bg); padding:22px 18px; }
.team-agent { background:#E8E8EC; padding:22px 18px; border-top:1px solid var(--border); }
.team-initials { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.4em; font-weight:700; margin-bottom:16px; }
.team-initials-human { background:var(--bg2); color:var(--blue); border:1px solid var(--border); }
.team-initials-agent { background:var(--black); color:#fff; }
.team-initials-sm { width:48px; height:48px; font-size:1.1em; margin-bottom:0; }
.team-name { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.2em; font-weight:700; margin-bottom:4px; }
.team-name-sm { font-size:1.05em; }
.team-role { font-family:"GeistMono","geist-mono",monospace; font-size:0.76em; color:var(--blue); font-weight:500; letter-spacing:0.03em; margin-bottom:12px; }
.team-role-flush { margin-bottom:0; }
.team-desc { font-size:0.9em; color:var(--gray); line-height:1.6; max-width:none; }
.team-skills { margin-top:14px; display:flex; flex-wrap:wrap; gap:4px; }
.team-skills-mb { margin-bottom:20px; }
.team-skill { font-family:"GeistMono","geist-mono",monospace; font-size:0.68em; padding:3px 10px; border-radius:4px; background:var(--bg); color:var(--gray); border:1px solid var(--border); }
.duo-label { font-family:"GeistMono","geist-mono",monospace; font-size:0.68em; color:var(--light); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:16px; }
.agent-header { display:flex; gap:8px; align-items:center; margin-bottom:12px; }
.agent-separator { border-top:1px solid var(--border); padding-top:16px; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: LEISTUNGEN ═══════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
/* ═══ STATEMENTS — Big Typography Scroll Reveal ═══ */
.section-statements { padding:48px 0; border-top:none; }
.statement { padding:48px 0; text-align:center; }
.statement-headline { font-family:"Geist Sans","geist-sans",sans-serif; font-size:clamp(1.6em,5vw,3.6em); font-weight:700; letter-spacing:-0.04em; line-height:1.1; color:var(--black); margin-bottom:16px; }
.st-word { display:inline-block; }
.statement-sub { font-size:0.95em; color:var(--gray); line-height:1.7; max-width:480px; margin:0 auto; }

.pillars-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:32px; }
.pillar-card { background:var(--bg); border:1px solid var(--border); border-left:3px solid var(--blue); border-radius:var(--radius); padding:20px; box-shadow:0 4px 16px rgba(0,0,0,0.06); transition:all 0.3s; }
.pillar-card:hover { box-shadow:0 12px 40px rgba(0,0,0,0.08); transform:translateY(-2px); }
.pillar-num { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.8em; font-weight:700; color:var(--blue); line-height:1; margin-bottom:4px; letter-spacing:-0.04em; }
.pillar-title { font-family:"Geist Sans","geist-sans",sans-serif; font-size:1.1em; font-weight:700; color:var(--black); margin-bottom:4px; }
.pillar-tagline { font-family:"GeistMono","geist-mono",monospace; font-size:0.78em; color:var(--blue); font-weight:500; margin-bottom:10px; }
.pillar-desc { font-size:0.9em; color:var(--gray); line-height:1.55; max-width:none; margin-bottom:14px; }
.pillar-link { font-family:"GeistMono","geist-mono",monospace; font-size:0.8em; color:var(--blue); text-decoration:none; font-weight:500; transition:opacity 0.2s; }
.pillar-link:hover { opacity:0.7; }
.pillar-badge { display:inline-block; font-family:"GeistMono","geist-mono",monospace; font-size:0.68em; padding:3px 10px; border-radius:4px; background:rgba(22,163,74,0.08); color:var(--green); font-weight:500; margin-left:8px; }
.branches-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-top:24px; }
.branch-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:0 2px 8px rgba(0,0,0,0.04); transition:all 0.3s; }
.branch-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.06); transform:translateY(-2px); }
.branch-card h3 { font-size:1em; margin-bottom:6px; }
.branch-card p { font-size:0.82em; color:var(--gray); line-height:1.5; max-width:none; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: LEISTUNGEN DETAIL ════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.saeule { padding:44px 0; border-top:1px solid var(--border); }
.saeule:first-of-type { border:none; }
.saeule-subtitle { font-family:"GeistMono","geist-mono",monospace; font-size:0.85em; color:var(--blue); font-weight:500; margin-bottom:12px; }
.saeule-items { margin-top:20px; }
.saeule-item { padding:12px 0; border-bottom:1px solid var(--border); font-size:0.92em; color:var(--text); line-height:1.55; }
.saeule-item:last-child { border:none; }
.saeule-item strong { color:var(--black); }
.highlight-card { margin-top:24px; padding:16px 18px; border-radius:12px; border:1px solid var(--border); font-size:0.92em; line-height:1.5; }
.highlight-green { background:rgba(22,163,74,0.04); border-left:3px solid var(--green); color:var(--black); }
.highlight-blue { background:rgba(0,85,255,0.03); border-left:3px solid var(--blue); color:var(--black); }
.back-link { font-family:"GeistMono","geist-mono",monospace; font-size:0.82em; color:var(--gray); text-decoration:none; transition:color 0.2s; }
.back-link:hover { color:var(--black); }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: KONTAKT ══════════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.contact-divider { margin-top:48px; padding-top:32px; border-top:1px solid var(--border); }
.contact-info-card { padding:36px; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ PAGE-SPECIFIC: LEGAL (Impressum/Datenschutz) ════════ */
/* ═══════════════════════════════════════════════════════════ */
.legal-heading { margin-top:32px; }
.legal-heading-first { margin-top:40px; }
.legal-text { max-width:none; }
.legal-date { margin-top:40px; font-size:0.82em; color:var(--light); }
.link-blue { color:var(--blue); text-decoration:none; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ UTILITY CLASSES ═════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.mt-4 { margin-top:4px; }
.mt-12 { margin-top:12px; }
.mt-16 { margin-top:16px; }
.mt-20 { margin-top:20px; }
.mt-24 { margin-top:24px; }
.mt-40 { margin-top:40px; }
.mb-8 { margin-bottom:8px; }
.mb-20 { margin-bottom:20px; }
.mb-24 { margin-bottom:24px; }
.mx-auto { margin-left:auto; margin-right:auto; }
.max-narrow { max-width:480px; }
.max-mid { max-width:520px; }
.max-wide { max-width:560px; }
.text-gray { color:var(--gray); }
.text-light { color:var(--light); }
.text-sm { font-size:0.82em; }
.text-xs { font-size:0.8em; }
.overflow-x-auto { overflow-x:auto; }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ ZENO LIVE DEMO ═════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
.zeno-section { padding:64px 0 72px; background:var(--bg); border-top:1px solid var(--border); }
.zeno-orb-wrap { display:flex; flex-direction:column; align-items:center; margin-top:40px; position:relative; }
.zeno-orb-wrap::before { display:none; }
#zeno-orb { width:min(480px, 85vw); height:min(480px, 85vw); position:relative; z-index:1; }
.zeno-orb-label {
  font-family:"GeistMono","geist-mono",monospace; font-weight:500; font-size:0.65em;
  letter-spacing:0.3em; text-transform:uppercase; color:rgba(255,255,255,0.3);
  margin-top:14px;
}
.zeno-response {
  max-width:520px; margin:28px auto 0; padding:0 var(--gutter); min-height:48px;
  text-align:center; color:var(--text); font-size:0.92em; line-height:1.7;
}
.zeno-response:empty::after {
  content:"Frag mich was über KI im Unternehmen.";
  color:var(--light); font-style:italic;
}
.zeno-input-bar {
  display:flex; gap:10px; max-width:440px; margin:24px auto 0; padding:0 var(--gutter);
}
#zeno-input {
  flex:1; background:var(--bg2); border:1px solid var(--border);
  border-radius:24px; padding:14px 20px; color:var(--black); font-size:0.88em;
  font-family:"Satoshi",sans-serif; outline:none; transition:border-color 0.2s;
}
#zeno-input::placeholder { color:var(--light); }
#zeno-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,85,255,0.08); }
#zeno-send {
  width:48px; height:48px; border-radius:50%; background:var(--black); border:none;
  color:#fff; font-size:1.2em; cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:all 0.25s; flex-shrink:0;
}
#zeno-send:hover { background:#1a1a1a; transform:translateY(-2px); }
.zeno-mic {
  width:48px; height:48px; border-radius:50%; background:var(--bg2); border:1px solid var(--border);
  color:var(--gray); cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:all 0.25s; flex-shrink:0;
}
.zeno-mic:hover { border-color:var(--blue); color:var(--blue); }
.zeno-mic.listening { background:var(--blue); border-color:var(--blue); color:#fff; animation:micPulse 1.2s ease infinite; }
@keyframes micPulse { 0%,100%{box-shadow:0 0 0 0 rgba(0,85,255,0.3)} 50%{box-shadow:0 0 0 12px rgba(0,85,255,0)} }

/* ═══════════════════════════════════════════════════════════ */
/* ═══ SMALL PHONES (max 380px) ════════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
@media (max-width: 380px) {
  :root { --gutter: 14px; }
  h1 { font-size: 2.2em; }
  h2 { font-size: 1.25em; }
  .nav-logo { height: 28px; }
  .stat-row { grid-template-columns: repeat(2, 1fr); }
  .stat .num { font-size: 1.5em; }
  .card { padding: 16px; }
  .section-hero { padding: 80px 0 36px; }
  .section-hero-sub { padding: 80px 0 36px; }
  .pricing-card { padding: 20px 14px; }
  .price { font-size: 1.8em; }
  .bafa-big { font-size: 1.4em; }
  .team-human, .team-agent { padding: 16px 12px; }
}

/* ═══════════════════════════════════════════════════════════ */
/* ═══ TABLET+ (min-width: 768px) ═════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
  :root { --gutter: 40px; }
  body { font-size: 17px; }
  .desktop-only { display:block; }

  /* ─── Typography ─── */
  h2 { font-size: clamp(1.6em,3.5vw,3em); margin-bottom: 20px; }
  h3 { font-size: 1.15em; }
  p { font-size: 1.06em; }
  .sub { font-size: 1.15em; margin-bottom: 32px; }
  .tag { font-size: 0.72em; padding: 6px 16px; margin-bottom: 24px; }
  .blue-line { width: 48px; margin-bottom: 24px; }
  .blue-line-center { width: 48px; margin: 0 auto 24px; }

  /* ─── Nav ─── */
  nav { padding: 16px 0; }
  nav.scrolled { padding: 10px 0; }
  nav .inner { padding: 0 var(--gutter); flex-wrap: nowrap; justify-content: space-between; }
  .nav-logo { height: 48px; }
  nav .links {
    display: flex; width: auto; order: 0; padding: 0;
    border-top: none; margin-top: 0; overflow-x: visible; gap: 28px;
  }
  nav .links a:not(.btn) { font-size: 0.88em; padding: 0; }
  nav .links .btn { font-size: 0.82em; padding: 10px 22px; }

  /* ─── Buttons ─── */
  .btn { display: inline-block; width: auto; padding: 14px 32px; font-size: 0.9em; }
  .btn + .btn { margin-top: 0; }
  .btn-lg { padding: 18px 40px; font-size: 1em; border-radius: 12px; }
  .btn-full { width: 100%; display: block; }

  /* ─── Sections ─── */
  section { padding: 120px 0; }
  .section-hero { padding: 180px 0 120px; min-height: auto; display: block; }
  .section-hero-sub { padding: 200px 0 80px; }
  .section-cta { padding: 140px 0; }
  .section-grid { margin-top: 36px; }

  /* ─── Hero ─── */
  .hero-sub { font-size: 1.15em; max-width: 520px; margin-bottom: 32px; }
  .hero-ctas { flex-direction: row; gap: 12px; margin-top: 40px; }
  .hero-stats { margin-top: 64px; }
  .cta-sub { max-width: 520px; font-size: 1.1em; margin: 16px auto 36px; }

  /* ─── Grids ─── */
  .grid2 { grid-template-columns: 1fr 1fr; gap: 28px; }
  .grid3 { grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
  .grid4 { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px; }
  .grid5 { grid-template-columns: repeat(3, 1fr); gap: 20px; }

  /* ─── Cards ─── */
  .card { padding: 32px; box-shadow: var(--shadow-sm); border: 1px solid var(--border); }
  .card-num { font-size: 1.8em; }

  /* ─── Stats ─── */
  .stat-row { display: flex; gap: 56px; flex-wrap: wrap; justify-items: initial; text-align: left; }
  .stat .num { font-size: 4em; }
  .stat .label { font-size: 0.84em; }

  /* ─── Process ─── */
  .process-step { flex-direction: row; gap: 32px; padding: 36px 0; }
  .step-num { font-size: 4em; min-width: 80px; }
  .step-content { max-width: 640px; }

  /* ─── Proof ─── */
  .proof-bar { flex-direction: row; gap: 56px; padding: 24px 0; }
  .proof-item { font-size: 0.76em; }

  /* ─── FAQ ─── */
  details { padding: 24px 0; }
  summary { font-size: 1.05em; }

  /* ─── Footer ─── */
  footer { padding: 72px 0; }
  footer .f-inner { flex-direction: row; justify-content: space-between; align-items: start; gap: 48px; padding: 0 var(--gutter); }
  footer .f-col h4 { margin-bottom: 16px; }
  footer .f-col a { font-size: 0.9em; margin-bottom: 10px; }
  .footer-logo { height: 40px; }

  /* ─── Custom cursor — Desktop only ─── */
  #cursor-dot { display:none !important; position:fixed; width:8px; height:8px; background:var(--black); border-radius:50%; pointer-events:none; z-index:10001; transform:translate(-50%,-50%); transition:width 0.12s,height 0.12s,background 0.12s; }
  #cursor-ring { display:none !important; position:fixed; width:32px; height:32px; border:1.5px solid rgba(10,10,11,0.25); border-radius:50%; pointer-events:none; z-index:10000; transform:translate(-50%,-50%); transition:width 0.25s,height 0.25s,border-color 0.25s; }
  /* custom cursor removed */
  /* custom cursor removed */

  /* ─── Pricing — Tablet+ ─── */
  .pricing-grid { grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
  .pricing-card { padding: 32px 28px; }
  .pricing-card.featured { order: 0; }
  .price { font-size: 2.8em; }
  .bafa-section { padding: 48px; }
  .bafa-big { font-size: clamp(1.8em,4vw,3.2em); }
  .bafa-example { padding: 16px 28px; gap: 12px; flex-wrap: nowrap; }
  .bafa-example .old, .bafa-example .new { font-size: 1.4em; }
  .compare { font-size: 0.85em; }
  .compare th, .compare td { padding: 12px 16px; }
  .el-item { padding: 14px 0; }
  .toggle-wrap { margin-top: 28px; }

  /* ─── Team — Tablet+ ─── */
  .team-duo { grid-template-columns: 1fr 1fr; }
  .team-human { padding: 40px 36px; }
  .team-agent { padding: 40px 36px; border-top: none; border-left: 1px solid rgba(0,0,0,0.1); }

  /* ─── Statements — Tablet+ ─── */
  .section-statements { padding: 80px 0; }
  .statement { padding: 80px 0; }
  .statement-sub { font-size: 1.1em; }

  /* ─── Leistungen — Tablet+ ─── */
  .pillars-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .pillars-grid .pillar-card:last-child { grid-column: span 2; max-width: 50%; justify-self: center; }
  .pillar-card { padding: 28px; }
  .pillar-num { font-size: 2.4em; }
  .pillar-title { font-size: 1.3em; }
  .branches-grid { grid-template-columns: 1fr 1fr 1fr; }

  /* ─── ZENO — Tablet+ ─── */
  .zeno-section { padding: 140px 0; }
  #zeno-orb { width:min(500px, 50vw); height:min(500px, 50vw); }
  .zeno-orb-wrap { margin-top: 56px; }
  .zeno-response { font-size: 1.05em; max-width: 560px; }
  .zeno-input-bar { max-width: 520px; }

  /* ─── Leistungen Detail — Tablet+ ─── */
  .saeule { padding: 64px 0; }
  .highlight-card { padding: 20px 24px; }

  /* ─── Kontakt — Tablet+ ─── */
  .contact-info-card { padding: 36px; }
}

/* ═══════════════════════════════════════════════════════════ */
/* ═══ DESKTOP (min-width: 1024px) ═════════════════════════ */
/* ═══════════════════════════════════════════════════════════ */
@media (min-width: 1024px) {
  :root { --gutter: 64px; }
  .grid5 { grid-template-columns: repeat(5, 1fr); }
}


/* ═══════════════════════════════════════════════════════════ */
/* ═══ MOBILE FIXES — Premium Pages (19.03.2026) ═══════════ */
/* ═══════════════════════════════════════════════════════════ */

/* Global overflow protection */
html, body { overflow-x: hidden; max-width: 100vw; }
section { overflow-x: hidden; }
.wrap, .wrap-narrow { overflow-x: hidden; }

/* ─── Über uns: Orbit diagram mobile ─── */
@media (max-width: 767px) {
  .philosophy-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .philosophy-visual { height: 260px !important; margin: 0 auto; max-width: 300px; }
  .philosophy-text { transform: none !important; }
  .orbit-ring-1 { width: 160px !important; height: 160px !important; }
  .orbit-ring-2 { width: 240px !important; height: 240px !important; }
  .triad-center { width: 70px !important; height: 70px !important; }
  .triad-center span { font-size: 0.6rem !important; }
  .orbit-node { width: 36px !important; height: 36px !important; font-size: 0.48rem !important; }
  .orbit-node.agent { width: 30px !important; height: 30px !important; font-size: 0.42rem !important; }

  /* Team cards stack */
  .team-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .team-card { padding: 28px 20px !important; }
  .team-card-top { gap: 14px !important; }
  .team-avatar { width: 52px !important; height: 52px !important; }
  .team-avatar-letter { font-size: 1.1rem !important; }
  .team-info h3 { font-size: 1.05rem !important; }

  /* Diff cards stack */
  .diff-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .diff-card { padding: 28px 20px !important; }
  .diff-header { margin-bottom: 32px !important; }

  /* Stats container stack */
  .stats-container { grid-template-columns: 1fr !important; }
  .stat-card { padding: 36px 24px !important; }
  .stat-number { font-size: 2.8rem !important; }

  /* Hero adjustments */
  .hero-about { min-height: auto !important; padding: 120px 20px 60px !important; }
  .hero-title { font-size: 2.2rem !important; }
  .hero-subtitle, .hero-k-sub { font-size: 0.95rem !important; }
  .hero-k-title { font-size: 2.2rem !important; }
  .hero-kontakt { min-height: auto !important; padding: 120px 20px 60px !important; }

  /* Kontakt grid stack */
  .kontakt-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .kontakt-form-card { padding: 24px 18px !important; }
  .form-row { grid-template-columns: 1fr !important; }
  .kontakt-book-btn { width: 100%; justify-content: center; }

  /* Trust badges wrap */
  .trust-row { gap: 12px !important; }
  .trust-badge-item { padding: 8px 12px !important; }
  .trust-badge-text { font-size: 0.75rem !important; }
  .cta-trust { flex-direction: column; gap: 8px; }

  /* CTA sections */
  .cta-about, .cta-kontakt { padding: 80px 20px !important; }
  .cta-k-heading, .section-heading { font-size: clamp(1.6rem,5vw,2rem) !important; }
  .cta-button { padding: 14px 28px !important; font-size: 0.88rem !important; }

  /* Pakete swipe */
  .pakete-hero { padding: 120px 20px 36px !important; }
  .paket-card { padding: 24px 18px 22px !important; }
  .paket-metric { font-size: 2.2em !important; }
  .paket-title { font-size: 1.15em !important; }
  .paket-badge { font-size: 0.58em !important; top: -11px !important; }

  /* Leistungen statements */
  .stmt-block { padding: 48px 0 !important; }
  .stmt-metric { font-size: 3em !important; }
  .stmt-headline { font-size: 1.4em !important; }

  /* Leistungen branchen */
  .branches-grid-custom { grid-template-columns: 1fr !important; gap: 12px !important; }
  .branch-card-premium { padding: 22px 18px !important; }

  /* Leistungen detail */
  .ld-hero { padding: 120px 20px 60px !important; }
  .ld-saeule { padding: 48px 0 !important; }
  .ld-saeule-num { font-size: 4em !important; }
  .ld-items-grid { grid-template-columns: 1fr !important; }
  .ld-item { padding: 14px 16px !important; }

  /* BAFA sections */
  .bafa-card, .bafa-highlight { padding: 36px 20px !important; }
  .bafa-percentage, .bafa-number { font-size: 3em !important; }

  /* FAQ */
  .faq-item summary { font-size: 0.88em !important; min-height: 48px !important; }

  /* Triaden visual */
  .triaden-section { padding: 80px 20px !important; }
  .triaden-visual { padding: 32px 0 !important; }
  .triaden-flow { gap: 6px !important; }
  .triaden-node { min-width: 80px !important; padding: 16px 12px !important; }
  .triaden-icon { width: 44px !important; height: 44px !important; }
  .triaden-node-label { font-size: 0.6rem !important; }
  .triaden-plus { font-size: 1rem !important; }
  .triaden-result { font-size: 0.9rem !important; padding: 10px 20px !important; }
  .triaden-desc { font-size: 0.92rem !important; }

  /* General section padding */
  .philosophy-section, .team-section, .diff-section { padding: 64px 20px !important; }
  .stats-section { padding: 48px 20px !important; }

  /* Compare table scroll */
  .compare-table { font-size: 0.72em !important; }
  .compare-toggle { margin-top: 32px !important; }
}
