/*
Theme Name: Solutionbox
Description: Solutionbox Informationstechnologie GmbH – Corporate Website
Version: 1.0.0
Author: Solutionbox
Text Domain: solutionbox
*/

/* ── CI Tokens ─────────────────────────────────────────────── */
:root{
  --orange-600:#DD7E00;
  --orange-500:#F39200;
  --orange-400:#F8A327;
  --orange-300:#fcd47a;
  --yellow:#ffdd00;
  --gray:#535353;
  --black:#151513;
  --paper:#FBF4EA;
  --paper-2:#FCF7EF;
  --line:#ECE3D5;
  --line-2:#F1E8DA;
  --ink:#1A1815;
  --ink-2:#5f594f;
  --grad: linear-gradient(135deg, var(--orange-400) 0%, var(--orange-500) 100%);
  --font: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --r-sm:6px;
  --r-md:10px;
  --r-lg:16px;
  --r-xl:22px;
  --shadow-card: 0 1px 2px rgba(20,15,5,.04), 0 8px 24px -12px rgba(20,15,5,.10);
  --shadow-card-h: 0 2px 4px rgba(20,15,5,.05), 0 18px 40px -16px rgba(20,15,5,.18);
  --shadow-warm: 0 24px 60px -28px rgba(243,146,0,.45);
}
*,*:before,*:after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family: var(--font);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.55;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; }
.container{ max-width: 1200px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 720px){ .container{ padding: 0 20px; } }
.h1{ font-weight: 700; font-size: clamp(40px, 5.5vw, 72px); line-height: 1.04; letter-spacing: -0.02em; }
.h2{ font-weight: 700; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -0.012em; }
.h3{ font-weight: 700; font-size: 20px; line-height: 1.25; letter-spacing: -0.005em; }
.lede{ font-weight: 400; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; color: var(--ink-2); }
.eyebrow{
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--orange-500);
}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  height:52px; padding: 0 22px;
  border-radius: var(--r-md);
  font-weight: 700; font-size: 15px; letter-spacing: .01em;
  border: 0; cursor: pointer; transition: transform .15s, box-shadow .2s, background .2s, color .2s;
  text-decoration: none; white-space: nowrap;
}
.btn-primary{
  background: var(--grad); color: #fff;
  box-shadow: var(--shadow-warm);
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 28px 70px -28px rgba(243,146,0,.55); }
.btn-primary:active{ transform: translateY(0); }
.btn-ghost{
  background: transparent; color: var(--ink);
  border: 1px solid var(--line);
}
.btn-ghost:hover{ background: #fff; border-color: var(--orange-500); color: var(--orange-500); }
.btn-sm{ height: 40px; padding: 0 16px; font-size: 14px; border-radius: 8px; }
.arr{ display:inline-block; transition: transform .2s; }
.btn:hover .arr{ transform: translateX(3px); }
section{ padding: 96px 0; }
@media (max-width: 720px){ section{ padding: 64px 0; } }

/* ── Header ─────────────────────────────────────────────────── */
header.site{
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,250,243, 0.85);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s, background .2s;
}
header.site.scrolled{
  background: rgba(255,250,243, 0.95);
  border-bottom-color: var(--line);
}
.nav{
  display: flex; align-items: center; justify-content: space-between;
  height: 76px; gap: 24px;
}
.logo{
  display: flex; align-items: center; gap: 12px;
  font-weight: 700; font-size: 18px; letter-spacing: -0.01em; color: var(--ink);
}
.logo .wordmark{
  display: block; height: auto;
  width: clamp(180px, 18vw, 240px);
  aspect-ratio: 2073 / 337;
  object-fit: contain;
}
.logo .wordmark-white{ height: 56px; width: auto; display: block; }
.hero-accent-line{
  margin-top: 18px; height: 8px; width: 240px; max-width: 100%;
  object-fit: contain; object-position: left center;
}
.footer-brand{
  display: inline-block; background: #fff;
  padding: 14px 20px; border-radius: var(--r-md);
  text-decoration: none; margin-bottom: 8px; max-width: 100%;
}
.footer-logo{
  display: block; height: auto;
  width: clamp(180px, 22vw, 280px);
  aspect-ratio: 2073 / 337;
  object-fit: contain;
}
.nav ul{
  list-style:none; padding:0; margin:0;
  display: flex; gap: 18px; align-items: center; flex-wrap:nowrap;
}
.nav ul a{
  font-size: 13.5px; font-weight: 500; color: var(--ink);
  padding: 8px 2px; border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  white-space: nowrap;
}
.nav ul a:hover{ color: var(--orange-500); border-bottom-color: var(--orange-500); }
.nav-actions{ display:flex; align-items:center; gap:12px; }
.nav-support-btn{
  display:flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:20px;
  background:var(--ink); color:#fff; text-decoration:none;
  font-size:13.5px; font-weight:600;
  transition:background .15s, transform .15s;
  flex-shrink:0;
}
.nav-support-btn:hover{ background:var(--orange-500); transform:translateY(-1px); }
.nav-phone{ font-size: 14px; color: var(--ink-2); }
.nav-phone b{ color: var(--ink); }
@media (max-width: 920px){ .nav ul, .nav-phone{ display: none; } }

/* ── Hero ────────────────────────────────────────────────────── */
.hero{ padding-top: 64px; padding-bottom: 64px; position: relative; overflow: hidden; }
.hero-grid{
  display: grid; grid-template-columns: 1.05fr 1fr;
  gap: 64px; align-items: center;
}
@media (max-width: 980px){ .hero-grid{ grid-template-columns: 1fr; gap: 48px; } }
.hero h1 .accent{
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero .sub{ margin-top: 22px; max-width: 540px; }
.hero-ctas{ margin-top: 36px; display: flex; gap: 12px; flex-wrap: wrap; }
.hero-trust{
  margin-top: 40px; display: flex; gap: 28px; flex-wrap: wrap;
  color: var(--ink-2); font-size: 14px;
}
.hero-trust b{ color: var(--ink); font-weight: 700; }
.hero-trust .dot{ width: 6px; height: 6px; border-radius: 50%; background: var(--orange-500); display: inline-block; vertical-align: middle; margin-right: 8px; }
.hero-stage{ position: relative; aspect-ratio: 5 / 4.5; min-height: 440px; }
.stat-card{
  position: absolute; background: #fff; border-radius: var(--r-lg);
  box-shadow: var(--shadow-card); border: 1px solid var(--line);
  padding: 18px 20px;
}
.stat-card .lbl{ font-size: 12px; color: var(--ink-2); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.stat-card .val{ font-size: 30px; font-weight: 800; letter-spacing: -0.02em; margin-top: 4px; }
.stat-card.ticket{ top: 6%; left: 0%; padding: 16px 18px; min-width: 240px; }
.stat-card.uptime{
  top: 36%; right: 0; min-width: 230px;
  background: var(--grad); color:#fff; border:0;
  box-shadow: var(--shadow-warm);
}
.stat-card.uptime .lbl{ color: rgba(255,255,255,.85); }
.stat-card.uptime .val{ font-size: 38px; }
.stat-card.response{ bottom: 6%; left: 12%; min-width: 250px; }
.stat-card.shield{
  bottom: 24%; right: 4%; padding: 14px 16px;
  display: flex; gap: 12px; align-items: center;
  min-width: 210px;
}
.ico{
  width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center;
  background: var(--paper-2); color: var(--orange-500); flex-shrink: 0;
}
.ico svg{ width: 22px; height: 22px; }
.stat-row{ display:flex; align-items:center; gap: 12px; }
.stat-row .pulse{
  width:10px; height:10px; border-radius:50%;
  background: #2ec27e; box-shadow: 0 0 0 0 rgba(46,194,126,.5);
  animation: pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow: 0 0 0 0 rgba(46,194,126,.45); }
  70%{ box-shadow: 0 0 0 12px rgba(46,194,126,0); }
  100%{ box-shadow: 0 0 0 0 rgba(46,194,126,0); }
}
.spark{ margin-top: 10px; height: 32px; width: 100%; }
.blob{
  position: absolute; inset: auto -10% 5% auto;
  width: 540px; height: 540px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(250,176,1,.22), transparent 70%);
  z-index: -1; pointer-events: none;
}

/* ── Pain Points ─────────────────────────────────────────────── */
.pains{ background: var(--paper-2); }
.section-head{ display:flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 48px; }
.section-head .left{ max-width: 640px; }
.section-head .left .h2{ margin: 12px 0 12px; }
@media (max-width: 720px){ .section-head{ flex-direction: column; align-items: flex-start; } }
.pain-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 980px){ .pain-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px){ .pain-grid{ grid-template-columns: 1fr; } }
.pain{
  background: #fff; border-radius: var(--r-lg); border: 1px solid var(--line);
  padding: 28px; transition: transform .2s, box-shadow .2s, border-color .2s;
  display:flex; flex-direction: column; gap: 14px; min-height: 220px;
}
.pain:hover{ transform: translateY(-2px); box-shadow: var(--shadow-card-h); border-color: var(--orange-400); }
.pain .ico-lg{
  width: 52px; height: 52px; border-radius: 12px;
  background: linear-gradient(135deg, #FCF7EF, #ffe5c2);
  display: grid; place-items: center; color: var(--orange-500);
}
.pain .ico-lg svg{ width: 26px; height: 26px; }
.pain h3{ margin: 0; }
.pain p{ margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.5; }

/* ── Solutions ───────────────────────────────────────────────── */
.solutions-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px){ .solutions-grid{ grid-template-columns: 1fr; } }
.sol{
  background: #fff; border-radius: var(--r-xl); padding: 36px;
  border: 1px solid var(--line); display:flex; flex-direction: column; gap: 18px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
  position: relative; overflow: hidden;
}
.sol:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card-h); border-color: var(--orange-400); }
.sol.featured{ background: linear-gradient(180deg, #fff 0%, #fff8ec 100%); border-color: var(--orange-400); }
.sol .ico-xl{
  width: 64px; height: 64px; border-radius: 16px;
  background: var(--grad); color:#fff;
  display: grid; place-items: center;
  box-shadow: var(--shadow-warm); margin-bottom: 4px;
}
.sol .ico-xl svg{ width: 32px; height: 32px; }
.sol h3{ font-size: 24px; margin: 0; }
.sol > p{ margin: 0; color: var(--ink-2); }
.sol ul{ list-style: none; padding: 0; margin: 8px 0 0; display:flex; flex-direction:column; gap: 10px; }
.sol li{ display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.sol li:before{
  content:""; width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px;
  background: var(--orange-500);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}
.sol .more{
  margin-top: auto; padding-top: 8px;
  color: var(--orange-500); font-weight: 700; font-size: 14px;
  display:inline-flex; gap: 6px; align-items: center;
}
.sol .more:hover{ color: var(--ink); }

/* ── Process ─────────────────────────────────────────────────── */
.process{ background: var(--paper-2); }
.steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; position: relative; }
@media (max-width: 900px){ .steps{ grid-template-columns: 1fr; } }
.step{
  background: #fff; border-radius: var(--r-lg); border: 1px solid var(--line);
  padding: 32px 28px; position: relative;
}
.step .num{
  width: 56px; height: 56px; border-radius: 14px;
  background: var(--grad); color: #fff;
  display: grid; place-items: center;
  font-size: 24px; font-weight: 800;
  box-shadow: var(--shadow-warm); margin-bottom: 20px;
}
.step h3{ margin: 0 0 8px; }
.step p{ margin: 0; color: var(--ink-2); font-size: 15px; }
.step .meta{ margin-top: 16px; font-size: 13px; color: var(--orange-500); font-weight: 700; }
@media (min-width: 901px){
  .step:not(:last-child):after{
    content: ""; position: absolute; right: -22px; top: 50px;
    width: 20px; height: 2px; background: var(--orange-400);
  }
  .step:not(:last-child):before{
    content: ""; position: absolute; right: -27px; top: 45px;
    width: 0; height: 0;
    border-top: 6px solid transparent; border-bottom: 6px solid transparent;
    border-left: 8px solid var(--orange-500); z-index: 2;
  }
}

/* ── Testimonials ────────────────────────────────────────────── */
.testi-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px){ .testi-grid{ grid-template-columns: 1fr; } }
.testi{
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 32px; position: relative; display:flex; flex-direction: column; gap: 20px;
}
.testi .quote-mark{ font-size: 60px; line-height: 0.8; font-weight: 900; color: var(--orange-400); font-family: Georgia, serif; }
.testi blockquote{ margin: 0; font-size: 16px; line-height: 1.55; color: var(--ink); }
.testi .who{
  display: flex; align-items: center; gap: 12px; margin-top: auto;
  padding-top: 20px; border-top: 1px solid var(--line-2);
}
.testi .avatar{
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--orange-400), var(--orange-500));
  color: #fff; font-weight: 700; display: grid; place-items: center; flex-shrink: 0;
}
.testi .who .name{ font-weight: 700; font-size: 15px; }
.testi .who .role{ font-size: 13px; color: var(--ink-2); }
.testi.todo blockquote{ color: var(--ink-2); font-style: italic; }
.testi.todo .badge{
  position: absolute; top: 16px; right: 16px;
  font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  background: #FCF7EF; color: var(--orange-500); font-weight: 700;
  padding: 4px 8px; border-radius: 4px;
}

/* ── CTA Block ───────────────────────────────────────────────── */
.cta-section{ padding: 96px 0; }
.cta-card{
  background: var(--grad); color: #fff; border-radius: 28px;
  padding: 64px 56px;
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: 48px; align-items: center;
  box-shadow: 0 32px 80px -32px rgba(243,146,0,.55);
  position: relative; overflow: hidden;
}
.cta-card:before{
  content:""; position:absolute; right:-80px; top:-80px;
  width: 360px; height: 360px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255,221,0,.4), transparent 70%);
}
@media (max-width: 900px){ .cta-card{ grid-template-columns: 1fr; padding: 44px 28px; gap: 32px; } }
.cta-card .h2{ color: #fff; }
.cta-card .lede{ color: rgba(255,255,255,.92); }
.cta-card .btn-primary{ background: #fff; color: var(--orange-500); box-shadow: 0 14px 32px -12px rgba(0,0,0,.3); }
.cta-card .btn-ghost{ color:#fff; border-color: rgba(255,255,255,.55); }
.cta-card .btn-ghost:hover{ background: rgba(255,255,255,.15); color:#fff; border-color:#fff; }

/* ── Booker ──────────────────────────────────────────────────── */
.booker{
  background: #fff; color: var(--ink); border-radius: 18px;
  padding: 24px; box-shadow: 0 16px 40px -16px rgba(0,0,0,.2);
  position: relative; z-index: 1;
}
.booker .b-head{ display:flex; align-items:center; gap: 12px; margin-bottom: 16px; }
.booker .b-head .ico{ background: var(--paper-2); }
.booker .b-title{ font-weight: 700; font-size: 15px; }
.booker .b-sub{ font-size: 12.5px; color: var(--ink-2); }
.booker .b-month{ display:flex; justify-content: space-between; align-items:center; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.booker .b-month button{
  width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--line);
  background:#fff; cursor: pointer; display:grid; place-items:center;
}
.booker .b-month button:hover{ background: var(--paper-2); border-color: var(--orange-400); }
.booker .b-grid{ display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.booker .b-grid .dow{ font-size: 10px; color: var(--ink-2); text-align: center; padding: 4px 0; font-weight: 600; }
.booker .b-day{
  height: 30px; display: grid; place-items: center;
  font-size: 12.5px; border-radius: 6px; cursor: pointer;
  color: var(--ink); background: transparent; border: 0;
}
.booker .b-day:hover{ background: var(--paper-2); }
.booker .b-day.muted{ color: #c8bfae; pointer-events: none; }
.booker .b-day.has-slot{ position: relative; }
.booker .b-day.has-slot:after{ content:""; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:4px; height:4px; border-radius:50%; background: var(--orange-500); }
.booker .b-day.active{ background: var(--grad); color:#fff; font-weight: 700; }
.booker .b-day.active:after{ background: rgba(255,255,255,.7); }
.booker .slots{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 14px; }
.booker .slot{
  border:1px solid var(--line); background:#fff; border-radius:8px; padding:8px; font-size: 12.5px;
  text-align:center; cursor:pointer; font-family: inherit;
}
.booker .slot:hover{ border-color: var(--orange-500); color: var(--orange-500); }
.booker .slot.active{ background: var(--orange-500); color:#fff; border-color: var(--orange-500); }

/* ── Footer ──────────────────────────────────────────────────── */
footer.site{ background: var(--ink); color: #d8d3c8; padding: 72px 0 28px; }
.footer-grid{
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px;
  padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 900px){ .footer-grid{ grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 540px){ .footer-grid{ grid-template-columns: 1fr; } }
footer .logo{ color:#fff; display:flex; align-items:center; }
footer h4{ font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #fff; margin: 0 0 16px; }
footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap: 10px; }
footer ul a{ color: #d8d3c8; font-size: 14px; }
footer ul a:hover{ color: var(--orange-400); }
footer .about p{ color:#aea798; font-size:14px; margin: 16px 0 20px; max-width: 320px; line-height: 1.55; }
footer .contact-row{ display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color:#d8d3c8; margin-bottom: 12px; }
footer .contact-row .ico{ background: rgba(255,255,255,.06); color: var(--orange-400); width:32px; height:32px; border-radius: 8px; flex-shrink:0; }
footer .contact-row .ico svg{ width: 16px; height: 16px; }
footer .contact-row b{ color:#fff; font-weight: 600; display:block; }
.socials{ display:flex; gap: 10px; margin-top: 8px; }
.socials a{
  width: 36px; height: 36px; border-radius: 9px;
  background: rgba(255,255,255,.06);
  display: grid; place-items: center; color: #d8d3c8; transition: background .2s, color .2s;
}
.socials a:hover{ background: var(--orange-500); color:#fff; }
.socials svg{ width: 16px; height: 16px; }
.legal{
  display:flex; justify-content: space-between; align-items:center; gap: 24px;
  padding-top: 24px; flex-wrap: wrap; color:#aea798; font-size: 13px;
}
.legal ul{ flex-direction: row; gap: 24px; }
.legal a:hover{ color: var(--orange-400); }

/* ── Reveal Animation ────────────────────────────────────────── */
.reveal{ opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity: 1; transform: none; }

/* ── Dropdown Navigation ─────────────────────────────────────── */
.nav-item{ position: relative; display:flex; align-items:center; }
/* nav-parent: wie ein Link aussehen, aber nicht klickbar */
.nav-item > a,
.nav-item > .nav-parent{
  font-size: 13.5px; font-weight: 500; color: var(--ink);
  padding: 8px 2px; border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  display:flex; align-items:center; gap:5px;
  white-space: nowrap;
}
.nav-item > .nav-parent{ cursor: default; user-select: none; }
.nav-item > a:hover,
.nav-item:hover > a,
.nav-item:hover > .nav-parent{ color: var(--orange-500); border-bottom-color: var(--orange-500); }
.nav-item > a .chev,
.nav-item > .nav-parent .chev{ transition: transform .2s; }
.nav-item:hover > a .chev,
.nav-item:hover > .nav-parent .chev{ transform: rotate(180deg); }
.dropdown{
  display: none; position: absolute; top: 100%; left: -16px;
  padding-top: 8px; /* Hover-Bridge: Maus kann durch den Gap fahren */
  z-index: 100;
}
.dropdown-inner{
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg);
  box-shadow: var(--shadow-card-h); padding: 8px; min-width: 240px;
}
.dropdown.wide .dropdown-inner{
  min-width: 520px; display:grid; grid-template-columns: 1fr 1fr; gap: 4px;
}
.nav-item:hover .dropdown{ display: block; }
.dd-item{
  display:flex; align-items: flex-start; gap: 10px;
  padding: 10px 12px; border-radius: var(--r-md);
  transition: background .15s; text-decoration:none; color: var(--ink);
}
.dd-item:hover{ background: var(--paper-2); }
.dd-item .dd-ico{ width:32px; height:32px; border-radius:8px; background: var(--paper-2); color:var(--orange-500); display:grid; place-items:center; flex-shrink:0; }
.dd-item .dd-ico svg{ width:16px; height:16px; }
.dd-item .dd-title{ font-size:13.5px; font-weight:700; display:block; }
.dd-item .dd-sub{ font-size:12px; color:var(--ink-2); display:block; margin-top:2px; }
@media (max-width: 920px){ .nav ul, .nav-phone{ display: none; } }

/* ── Breadcrumb ──────────────────────────────────────────────── */
.breadcrumb{ padding: 14px 0; font-size: 13px; color: var(--ink-2); border-bottom: 1px solid var(--line); background: var(--paper); }
.breadcrumb a{ color: var(--orange-500); }
.breadcrumb span{ margin: 0 6px; }

/* ── Herausforderung-Seiten ──────────────────────────────────── */
.challenge-hero{
  background:
    radial-gradient(ellipse at 88% 12%, rgba(243,146,0,.20) 0%, transparent 48%),
    radial-gradient(ellipse at 10% 85%, rgba(250,176,1,.10) 0%, transparent 40%),
    linear-gradient(155deg, #1e1b17 0%, #2a2520 100%);
  color:#fff; padding: 64px 0;
}
.challenge-hero-grid{ display:grid; grid-template-columns: 60% 38%; gap:48px; align-items:center; }
@media(max-width:900px){ .challenge-hero-grid{ grid-template-columns:1fr; } }
.challenge-hero .eyebrow{ color: var(--orange-400); }
.challenge-hero h1{ color:#fff; font-size: clamp(32px,4vw,56px); margin-top:16px; }
.challenge-hero h1 .accent{ color: var(--orange-400); }
.challenge-hero .lede{ color: rgba(255,255,255,.82); margin-top:16px; }
.challenge-hero-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.stat-box{
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-lg); padding: 28px; display:flex; flex-direction:column; gap:20px;
}
.stat-box .stat-row2{ display:flex; gap:14px; align-items:flex-start; }
.stat-box .stat-ico{ width:40px; height:40px; border-radius:10px; background: rgba(243,146,0,.2); color: var(--orange-400); display:grid; place-items:center; flex-shrink:0; }
.stat-box .stat-ico svg{ width:20px; height:20px; }
.stat-box .stat-val{ font-size:22px; font-weight:800; color:#fff; }
.stat-box .stat-lbl{ font-size:12px; color: rgba(255,255,255,.6); margin-top:2px; }

.risk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .risk-grid{ grid-template-columns:1fr; } }
.risk-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; }
.risk-card .risk-num{ font-size:32px; font-weight:800; color: var(--orange-400); opacity:.35; margin-bottom:8px; }
.risk-card h3{ margin:0 0 8px; }
.risk-card p{ margin:0; font-size:15px; color:var(--ink-2); }

.sol-list{ display:flex; flex-direction:column; gap:16px; }
.sol-item{ display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; }
.sol-item .sol-ico{ width:48px; height:48px; border-radius:12px; background:var(--grad); color:#fff; display:grid; place-items:center; flex-shrink:0; }
.sol-item .sol-ico svg{ width:24px; height:24px; }
.sol-item h3{ margin:0 0 6px; font-size:17px; }
.sol-item p{ margin:0; font-size:14.5px; color:var(--ink-2); }

/* ── Leistungs-Seiten ────────────────────────────────────────── */
.service-hero{ background: var(--paper-2); padding: 64px 0; }
.service-hero-grid{ display:grid; grid-template-columns:58% 38%; gap:48px; align-items:center; }
@media(max-width:900px){ .service-hero-grid{ grid-template-columns:1fr; } }
.service-hero h1{ font-size: clamp(32px,4vw,56px); margin-top:16px; }
.service-hero h1 .accent{ color: var(--orange-500); }
.service-hero .lede{ color:var(--ink-2); margin-top:16px; }
.service-ctas{ display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.feature-box{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; }
.feature-box h4{ font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:var(--orange-500); margin:0 0 16px; }
.feature-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.feature-list li{ display:flex; gap:10px; font-size:14.5px; align-items:flex-start; }
.feature-list li:before{ content:""; width:18px; height:18px; flex-shrink:0; margin-top:2px; background:var(--orange-500); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat; }

.benefits-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media(max-width:700px){ .benefits-grid{ grid-template-columns:1fr; } }
.benefit{ background:var(--paper-2); border-radius:var(--r-lg); padding:28px; }
.benefit .benefit-ico{ width:48px; height:48px; border-radius:12px; background:var(--grad); color:#fff; display:grid; place-items:center; margin-bottom:14px; }
.benefit .benefit-ico svg{ width:24px; height:24px; }
.benefit h3{ margin:0 0 8px; font-size:17px; }
.benefit p{ margin:0; font-size:14.5px; color:var(--ink-2); }

/* ── Inline CTA Banner ───────────────────────────────────────── */
.cta-banner{ background:var(--grad); border-radius:var(--r-xl); padding:48px 40px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; box-shadow:var(--shadow-warm); }
.cta-banner h2{ color:#fff; margin:0; font-size:clamp(22px,2.5vw,32px); }
.cta-banner p{ color:rgba(255,255,255,.88); margin:8px 0 0; }
.cta-banner .btn-primary{ background:#fff; color:var(--orange-500); white-space:nowrap; }
.cta-banner .btn-primary:hover{ box-shadow:0 16px 40px -16px rgba(0,0,0,.3); }

/* ── Selbstchecks-Sektion ────────────────────────────────────── */
.checks{ background: var(--paper); position: relative; overflow: hidden; }
.checks-bg{
  position: absolute; right: -160px; top: -120px;
  width: 540px; height: 540px; opacity: .05; pointer-events: none; transform: rotate(8deg);
}
.check-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; position:relative; }
@media(max-width:980px){ .check-grid{ grid-template-columns:1fr; } }
.check-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:28px; display:flex; flex-direction:column; gap:16px;
  transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative; overflow:hidden; text-decoration:none; color:inherit;
}
.check-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card-h); border-color:var(--orange-400); }
.check-card .ribbon{
  position:absolute; top:0; right:0;
  background:var(--grad); color:#fff; font-size:11px; font-weight:700;
  padding:6px 14px; border-radius:0 var(--r-lg) 0 12px; letter-spacing:.04em;
}
.check-card .check-ico{
  width:56px; height:56px; border-radius:14px;
  background:linear-gradient(135deg,#FCF7EF,#ffe5c2);
  display:grid; place-items:center; color:var(--orange-500); flex-shrink:0;
}
.check-card .check-ico svg{ width:28px; height:28px; }
.check-card h3{ margin:0; font-size:22px; font-weight:700; letter-spacing:-0.01em; }
.check-card .lede-sm{ color:var(--ink-2); font-size:15px; line-height:1.55; margin:0; flex:1; }
.check-meta{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:13px; color:var(--ink-2); font-weight:500;
  padding:12px 0 0; border-top:1px solid var(--line-2); margin-top:4px;
}
.check-meta span{ display:inline-flex; align-items:center; gap:6px; }
.check-meta svg{ width:14px; height:14px; color:var(--orange-500); flex-shrink:0; }
.check-cta{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--orange-500); font-weight:700; font-size:14px;
}
.check-card:hover .check-cta{ color:var(--ink); }
.check-card:hover .check-cta .arr{ transform:translateX(3px); }

/* ── Pain Highlight (KI-Karte) ───────────────────────────────── */
.pain-highlight{
  background:var(--grad); border-color:transparent; color:#fff;
  box-shadow:var(--shadow-warm); position:relative;
}
.pain-highlight:hover{ border-color:transparent; box-shadow:0 28px 70px -28px rgba(243,146,0,.55); }
.pain-highlight h3{ color:#fff; }
.pain-highlight p{ color:rgba(255,255,255,.92); }
.pain-highlight .ico-lg{ background:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(4px); }
.pain-badge{
  position:absolute; top:16px; right:16px;
  background:#fff; color:var(--orange-500);
  font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px;
}

/* ── CTA Triple ──────────────────────────────────────────────── */
.cta-triple{ padding:24px 0 72px; }
.cta-triple-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media(max-width:980px){ .cta-triple-grid{ grid-template-columns:1fr; } }
.cta-tile{
  display:flex; flex-direction:column; gap:14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:28px; text-decoration:none; color:inherit;
  transition:transform .2s, box-shadow .2s, border-color .2s;
  position:relative; overflow:hidden;
}
.cta-tile:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card-h); border-color:var(--orange-400); }
.cta-tile-top{ display:flex; align-items:center; gap:14px; }
.cta-tile-ico{
  width:48px; height:48px; border-radius:12px;
  background:linear-gradient(135deg,#FCF7EF,#ffe5c2);
  color:var(--orange-500); display:grid; place-items:center; flex-shrink:0;
}
.cta-tile-ico svg{ width:24px; height:24px; }
.cta-tile-h{ font-size:22px; font-weight:700; letter-spacing:-0.01em; margin:4px 0 0; }
.cta-tile-p{ font-size:15px; line-height:1.55; color:var(--ink-2); margin:0; flex:1; }
.cta-tile-meta{ font-size:13px; color:var(--ink-2); font-weight:500; padding-top:12px; border-top:1px solid var(--line-2); }
.cta-tile-cta{ display:inline-flex; align-items:center; gap:6px; color:var(--orange-500); font-weight:700; font-size:14px; }
.cta-tile:hover .cta-tile-cta .arr{ transform:translateX(3px); }
.cta-tile-accent{ background:linear-gradient(180deg,#fff 0%,#fff8ec 100%); border-color:var(--orange-400); }
.cta-tile-accent .cta-tile-ico{ background:var(--grad); color:#fff; box-shadow:var(--shadow-warm); }

/* ── Timeline / Process ──────────────────────────────────────── */
.process .section-head{ align-items:center; }
.process-cta{ flex-shrink:0; }
@media(max-width:720px){ .process-cta{ display:none; } }
.timeline{ position:relative; padding:32px 0 8px; }
.timeline-rail{
  position:absolute; left:8%; right:8%; top:80px; height:4px;
  background:rgba(243,146,0,.12); border-radius:4px; overflow:visible;
}
.timeline-rail-fill{
  position:absolute; left:0; top:0; bottom:0; width:0;
  background:linear-gradient(90deg,var(--orange-300) 0%,var(--orange-500) 60%,var(--orange-600) 100%);
  border-radius:inherit;
  transition:width 1.8s cubic-bezier(.65,.05,.2,1);
  box-shadow:0 0 14px rgba(243,146,0,.45);
}
.timeline-rail-fill::after{
  content:""; position:absolute; right:-6px; top:50%;
  width:14px; height:14px; border-radius:50%;
  background:radial-gradient(circle,#fff 0%,var(--orange-400) 45%,rgba(243,146,0,0) 75%);
  transform:translateY(-50%); opacity:0; filter:blur(.3px);
}
.timeline.in .timeline-rail-fill{ width:100%; }
.timeline.in .timeline-rail-fill::after{
  opacity:1;
  animation:comet-pulse 1.6s ease-in-out infinite 1.8s;
}
@keyframes comet-pulse{
  0%,100%{ box-shadow:0 0 12px 2px rgba(255,180,90,.6); transform:translateY(-50%) scale(1); }
  50%{ box-shadow:0 0 22px 6px rgba(255,180,90,.9); transform:translateY(-50%) scale(1.25); }
}
.timeline-rail::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  width:30%; transform:translateX(-100%); pointer-events:none;
  border-radius:inherit; mix-blend-mode:screen; opacity:0;
}
.timeline.in .timeline-rail::after{ opacity:1; animation:shimmer 1.8s cubic-bezier(.65,.05,.2,1) forwards; }
@keyframes shimmer{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(400%); } }
.timeline-steps{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative;
}
@media(max-width:900px){ .timeline-rail{ display:none; } .timeline-steps{ grid-template-columns:1fr; } }
.tstep{ position:relative; padding-top:56px; }
.tstep-up .tstep-card, .tstep-down .tstep-card{ margin-top:50px; }
.tstep-dot{
  position:absolute; left:50%; top:56px;
  transform:translate(-50%,-50%) scale(.85);
  width:76px; height:76px; background:#fff; border-radius:50%;
  display:grid; place-items:center;
  box-shadow:0 12px 30px -10px rgba(20,15,5,.18),0 0 0 6px var(--paper-2);
  z-index:2; opacity:.55;
  transition:transform .35s cubic-bezier(.2,.8,.2,1.2),box-shadow .25s,opacity .35s;
}
.timeline.in .tstep:nth-child(1) .tstep-dot{ animation:dot-light .6s cubic-bezier(.2,.8,.2,1.4) forwards .3s; }
.timeline.in .tstep:nth-child(2) .tstep-dot{ animation:dot-light .6s cubic-bezier(.2,.8,.2,1.4) forwards .9s; }
.timeline.in .tstep:nth-child(3) .tstep-dot{ animation:dot-light .6s cubic-bezier(.2,.8,.2,1.4) forwards 1.5s; }
@keyframes dot-light{
  0%{ transform:translate(-50%,-50%) scale(.85); opacity:.55; box-shadow:0 12px 30px -10px rgba(20,15,5,.18),0 0 0 6px var(--paper-2); }
  50%{ transform:translate(-50%,-50%) scale(1.12); opacity:1; box-shadow:0 0 0 12px rgba(243,146,0,.22),0 0 0 6px var(--paper-2); }
  100%{ transform:translate(-50%,-50%) scale(1); opacity:1; box-shadow:0 12px 30px -10px rgba(20,15,5,.18),0 0 0 6px var(--paper-2); }
}
.tstep:hover .tstep-dot{ transform:translate(-50%,-50%) scale(1.06); box-shadow:0 18px 40px -12px rgba(243,146,0,.45),0 0 0 6px var(--paper-2); }
.tstep-dot-inner{ width:56px; height:56px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; box-shadow:var(--shadow-warm); }
.tstep-dot-inner svg{ width:24px; height:24px; }
.tstep-num{
  position:absolute; top:-10px; right:-10px;
  background:#fff; color:var(--orange-500);
  font-size:12px; font-weight:800; letter-spacing:.04em;
  padding:4px 8px; border-radius:999px; border:1px solid var(--line);
}
.tstep-card{
  background:#fff; border-radius:var(--r-lg); border:1px solid var(--line);
  padding:26px 24px;
  transition:transform .25s,box-shadow .25s,border-color .25s; position:relative;
}
.tstep:hover .tstep-card{ transform:translateY(-4px); box-shadow:var(--shadow-card-h); border-color:var(--orange-400); }
.tstep-card:before{
  content:""; position:absolute; left:50%; top:-10px;
  width:18px; height:18px; background:#fff;
  border-left:1px solid var(--line); border-top:1px solid var(--line);
  transform:translateX(-50%) rotate(45deg); transition:border-color .25s;
}
.tstep:hover .tstep-card:before{ border-left-color:var(--orange-400); border-top-color:var(--orange-400); }
@media(max-width:900px){ .tstep-card:before{ display:none; } }
.tstep-card h3{ margin:0 0 8px; }
.tstep-card p{ margin:0 0 14px; color:var(--ink-2); font-size:15px; line-height:1.55; }
.tstep-list{ list-style:none; padding:0; margin:0 0 14px; display:flex; flex-direction:column; gap:8px; }
.tstep-list li{ font-size:14px; color:var(--ink); display:flex; gap:10px; align-items:flex-start; }
.tstep-list li:before{
  content:""; width:16px; height:16px; flex-shrink:0; margin-top:2px; background:var(--orange-500);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 12l5 5L20 7' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}
.tstep-card .meta{ font-size:13px; color:var(--orange-500); font-weight:700; padding-top:12px; border-top:1px solid var(--line-2); margin-top:4px; }

/* ── Hero Stage V2 — Ticket-Stack + KPI ─────────────────────── */
.hero-stage-v2{
  display:flex; flex-direction:column; gap:16px;
  padding-top:28px;
}
.ticket-stack{
  position:relative;
  height:260px;
  overflow:hidden;
}
.stack-ticket{
  position:absolute;
  left:calc(15% + var(--dx,0px));
  width:70%;
  aspect-ratio:3/2;
  background:#fff8ec;
  border:1px solid rgba(243,146,0,.2);
  border-radius:5px;
  padding:10px 14px 24px;
  box-shadow:3px 5px 12px rgba(20,12,0,.18), inset 0 -2px 0 rgba(0,0,0,.07);
  overflow:hidden;
  transform-origin:center center;
  transform:rotate(var(--rot,0deg));
  transition:top .4s ease;
}
.stack-ticket.depth-0{ top:0;    z-index:4; animation:postit-in .45s cubic-bezier(.2,.8,.2,1) both; }
.stack-ticket.depth-1{ top:20px; z-index:3; }
.stack-ticket.depth-2{ top:40px; z-index:2; }
.stack-ticket.depth-3{ top:60px; z-index:1; opacity:.8; }
.stack-ticket.prio-high{ border-left:3px solid #ff5252; }
@keyframes postit-in{
  from{ opacity:0; transform:translateX(-22px) scale(.93) rotate(var(--rot,0deg)); }
  to{   opacity:1; transform:scale(1) rotate(var(--rot,0deg)); }
}
.hand-check{
  position:absolute; right:16px; bottom:10px;
  width:36px; height:22px; transform-origin:50% 50%; pointer-events:none;
}
.hand-check path{
  stroke-dasharray:60; stroke-dashoffset:60;
  animation:check-draw .7s cubic-bezier(.5,.1,.2,1) forwards;
  animation-delay:var(--check-delay,0.25s);
}
@keyframes check-draw{ to{ stroke-dashoffset:0; } }
.stack-row{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.stack-meta{ font-size:12px; color:var(--ink-2); font-weight:600; flex:1; }
.stack-text{ font-size:12px; font-weight:600; line-height:1.35; }
.stack-foot{ font-size:11px; color:var(--ink-2); margin-top:4px; }
.live-meta{
  display:flex; align-items:center; justify-content:space-between;
  font-size:12px; color:var(--ink-2);
}
.live-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#1e1b17; color:#fff; font-size:11px; font-weight:700; letter-spacing:.06em;
  padding:4px 10px 4px 8px; border-radius:20px;
}
.live-time{ font-size:12px; color:var(--ink-2); }
.live-pill-quiet{ background:#5a4d3f !important; }
.ticket-tag{
  display:inline-block; font-size:10px; font-weight:800; letter-spacing:.08em;
  padding:2px 8px; border-radius:3px;
  background:var(--orange-500); color:#fff;
  margin-bottom:6px;
}
.kpi-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kpi-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:18px 20px; box-shadow:var(--shadow-card);
}
.kpi-card:first-child{ background:var(--grad); color:#fff; border:0; box-shadow:var(--shadow-warm); }
.kpi-lbl{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); }
.kpi-card:first-child .kpi-lbl{ color:rgba(255,255,255,.85); }
.kpi-val{ font-size:30px; font-weight:800; letter-spacing:-0.02em; margin-top:6px; line-height:1; }
.kpi-unit{ font-size:14px; font-weight:600; opacity:.7; }
.kpi-foot{ font-size:12px; color:var(--ink-2); margin-top:8px; display:flex; align-items:center; gap:6px; }
.kpi-foot svg{ width:14px; height:14px; }
.tabular{ font-variant-numeric:tabular-nums; }
.spark-live{ overflow:visible; }
@keyframes livedot{
  0%{ box-shadow:0 0 0 0 rgba(255,82,82,.6); }
  70%{ box-shadow:0 0 0 8px rgba(255,82,82,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,82,82,0); }
}
.live-dot{
  width:7px; height:7px; border-radius:50%; background:#ff4444; flex-shrink:0;
  animation:livedot 1.4s infinite;
}

/* ── Lisa Chatbot Widget ─────────────────────────────────────────── */
.lisa-widget{
  position:fixed; top:50%; right:24px; z-index:200;
  transform:translateY(-50%);
  display:flex; flex-direction:column-reverse; align-items:flex-end; gap:12px;
}

/* ── 5+6: Vertikale Mitte, auffälliger Button ── */
.lisa-btn-wrap{
  position:relative; width:66px; height:66px; flex-shrink:0;
}
.lisa-btn{
  position:relative; z-index:1;
  width:66px; height:66px; border-radius:50%;
  background:var(--grad); color:#fff; border:0; cursor:pointer;
  box-shadow:0 8px 32px -8px rgba(243,146,0,.65);
  display:grid; place-items:center;
  transition:transform .2s, box-shadow .2s;
  animation:lisa-glow 2s ease-in-out infinite;
}
.lisa-btn:hover{ transform:scale(1.1); box-shadow:0 16px 48px -12px rgba(243,146,0,.75); }
.lisa-btn:active{ transform:scale(.96); }
.lisa-btn.active{
  animation:none;
  box-shadow:0 8px 32px -8px rgba(243,146,0,.6);
}
.lisa-avatar{ width:100%; height:100%; object-fit:cover; border-radius:50%; }

/* Ringe sind Geschwister des Buttons im Wrapper — kein Einfluss auf Button-Klickfläche */
.lisa-ring,
.lisa-ring-2,
.lisa-ring-3{
  position:absolute; inset:0; border-radius:50%;
  background:rgba(243,146,0,.55); opacity:0;
  animation:lisa-pulse-ring 2s ease-out infinite;
  pointer-events:none; z-index:0;
}
.lisa-ring-2{ animation-delay:.66s; }
.lisa-ring-3{ animation-delay:1.32s; }
@keyframes lisa-pulse-ring{
  0%{   transform:scale(1);    opacity:.9; }
  60%{  transform:scale(2.2);  opacity:.25; }
  100%{ transform:scale(2.8);  opacity:0;  }
}
@keyframes lisa-glow{
  0%,100%{ box-shadow:0 0 0 0 rgba(243,146,0,.0),  0 8px 32px -8px rgba(243,146,0,.5); }
  50%{     box-shadow:0 0 0 8px rgba(243,146,0,.18), 0 8px 48px -4px rgba(243,146,0,.8); }
}
/* Ringe ausblenden wenn Chat offen */
.lisa-btn.active ~ .lisa-ring,
.lisa-btn.active ~ .lisa-ring-2,
.lisa-btn.active ~ .lisa-ring-3{ animation:none; opacity:0; }

/* ── Panel öffnet sich nach OBEN (wegen column-reverse) ── */
.lisa-panel{
  width:390px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-xl); box-shadow:0 20px 60px -20px rgba(20,15,5,.25);
  display:flex; flex-direction:column; overflow:hidden; max-height:560px;
  transform:translateY(16px) scale(.97); opacity:0; pointer-events:none;
  transition:transform .22s cubic-bezier(.2,.8,.3,1), opacity .18s ease;
  position:relative; z-index:1;
}
.lisa-panel.open{ transform:none; opacity:1; pointer-events:auto; }
@media(max-width:920px){
  /* Lisa auf Mobil nach unten rechts statt vertikal zentriert
     (sonst überdeckt sie die Mitte des Off-Canvas-Menüs → Punkte unklickbar) */
  .lisa-widget{ top:auto; bottom:18px; right:16px; transform:none; }
  /* Bei offenem Mobil-Menü Lisa ganz ausblenden */
  body.nav-open .lisa-widget{ display:none; }
}
@media(max-width:460px){
  .lisa-widget{ right:12px; }
  .lisa-panel{ width:calc(100vw - 24px); }
}

.lisa-header{
  display:flex; align-items:center; gap:10px;
  padding:14px 16px; background:var(--grad); color:#fff; flex-shrink:0;
}
.lisa-header-avatar{
  width:36px; height:36px; border-radius:50%;
  object-fit:cover; flex-shrink:0;
}
.lisa-header-info{ flex:1; }
.lisa-header-name{ display:block; font-weight:700; font-size:14.5px; }
.lisa-header-sub{ display:block; font-size:11px; opacity:.88; }
.lisa-close{
  width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.15); border:0; color:#fff;
  cursor:pointer; display:grid; place-items:center; flex-shrink:0;
  transition:background .15s;
}
.lisa-close:hover{ background:rgba(255,255,255,.3); }

.lisa-messages{
  flex:1; overflow-y:auto; padding:16px;
  display:flex; flex-direction:column; gap:10px;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.lisa-msg{ display:flex; }
.lisa-msg-user{ justify-content:flex-end; }
.lisa-msg-assistant{ justify-content:flex-start; }
.lisa-bubble{
  max-width:96%; padding:10px 14px; border-radius:16px;
  font-size:14px; line-height:1.5; word-break:break-word;
}
.lisa-bubble strong{ font-weight:700; }
.lisa-bubble .lico{
  display:inline-block; vertical-align:middle;
  width:15px; height:15px; margin-right:5px; flex-shrink:0;
  opacity:.75;
}
.lisa-msg-user .lisa-bubble{ background:var(--grad); color:#fff; border-bottom-right-radius:4px; }
.lisa-msg-assistant .lisa-bubble{ background:var(--paper-2); color:var(--ink); border-bottom-left-radius:4px; }

.lisa-typing{ display:flex; align-items:center; gap:4px; padding:12px 14px; }
.lisa-typing span{
  width:6px; height:6px; border-radius:50%;
  background:var(--ink-2); display:inline-block;
  animation:lisa-dot 1.2s ease-in-out infinite;
}
.lisa-typing span:nth-child(2){ animation-delay:.2s; }
.lisa-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes lisa-dot{
  0%,60%,100%{ transform:translateY(0); opacity:.4; }
  30%{ transform:translateY(-5px); opacity:1; }
}

.lisa-input-row{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-top:1px solid var(--line-2); flex-shrink:0;
}
.lisa-input{
  flex:1; font:inherit; font-size:14px;
  padding:9px 12px; border:1px solid var(--line); border-radius:20px;
  background:var(--paper); color:var(--ink);
  transition:border-color .15s, box-shadow .15s;
}
.lisa-input:focus{
  outline:none; border-color:var(--orange-500);
  box-shadow:0 0 0 3px rgba(243,146,0,.12);
}
.lisa-send{
  width:36px; height:36px; border-radius:50%;
  background:var(--grad); color:#fff; border:0;
  cursor:pointer; display:grid; place-items:center; flex-shrink:0;
  transition:transform .15s;
}
.lisa-send:hover{ transform:scale(1.1); }
.lisa-send:disabled{ opacity:.5; cursor:not-allowed; transform:none; }
.lisa-footer-note{
  text-align:center; font-size:11px; color:var(--ink-2);
  padding:6px 16px 10px; margin:0; flex-shrink:0;
}
.lisa-nav-btn{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:2px; padding:9px 14px;
  background:var(--grad); color:#fff;
  border:0; border-radius:20px; cursor:pointer;
  font:700 13px/1 var(--font); letter-spacing:.01em;
  box-shadow:var(--shadow-warm);
  transition:transform .15s, box-shadow .15s;
}
.lisa-nav-btn:hover{ transform:translateY(-1px); box-shadow:0 18px 40px -16px rgba(243,146,0,.55); }
.lisa-nav-btn:active{ transform:none; }

/* ── Support-Ticket-Widget ───────────────────────────────────────── */
.tkt-widget{
  position:fixed; top:24px; right:24px; z-index:200;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
  pointer-events:none;
}
.tkt-btn, .tkt-panel.open{ pointer-events:auto; }
@media(max-width:720px){
  .tkt-widget{ top:16px; right:16px; }
}
.tkt-btn{
  display:flex; align-items:center; gap:8px;
  height:44px; padding:0 16px; border-radius:22px;
  background:var(--ink); color:#fff; border:0;
  font-family:var(--font); font-size:13px; font-weight:700;
  cursor:pointer; box-shadow:0 8px 24px -8px rgba(20,15,5,.35);
  transition:background .2s, transform .15s;
}
.tkt-btn:hover{ background:var(--orange-500); transform:translateY(-1px); }
.tkt-btn.active{ background:var(--orange-500); }

.tkt-panel{
  width:320px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-xl); box-shadow:0 20px 60px -20px rgba(20,15,5,.25);
  overflow:hidden;
  transform:translateY(-16px) scale(.97); opacity:0; pointer-events:none;
  transition:transform .22s cubic-bezier(.2,.8,.3,1), opacity .18s ease;
}
.tkt-panel.open{ transform:none; opacity:1; pointer-events:auto; }
@media(max-width:420px){ .tkt-panel{ width:calc(100vw - 32px); } }

.tkt-header{
  display:flex; align-items:center; gap:10px;
  padding:14px 16px; border-bottom:1px solid var(--line-2);
}
.tkt-header-ico{
  width:32px; height:32px; border-radius:8px;
  background:var(--paper-2); color:var(--orange-500);
  display:grid; place-items:center; flex-shrink:0;
}
.tkt-header-name{ display:block; font-weight:700; font-size:14px; }
.tkt-header-sub{ display:block; font-size:11px; color:var(--ink-2); }
.tkt-close{
  width:28px; height:28px; border-radius:50%;
  background:var(--paper-2); border:0; cursor:pointer;
  display:grid; place-items:center; color:var(--ink-2);
  transition:background .15s; flex-shrink:0;
}
.tkt-close:hover{ background:var(--line); }

.tkt-progress-track{ height:3px; background:var(--line-2); }
.tkt-progress-bar{ height:100%; background:var(--grad); transition:width .35s cubic-bezier(.4,0,.2,1); }

.tkt-step{ padding:20px 16px; }
.tkt-label{ display:block; font-size:13px; font-weight:600; margin-bottom:8px; }
.tkt-input, .tkt-textarea{
  width:100%; font:inherit; font-size:14px;
  padding:11px 13px; border:1px solid var(--line); border-radius:10px;
  background:var(--paper); color:var(--ink);
  transition:border-color .15s, box-shadow .15s;
}
.tkt-input:focus, .tkt-textarea:focus{
  outline:none; border-color:var(--orange-500);
  box-shadow:0 0 0 3px rgba(243,146,0,.12);
}
.tkt-textarea{ min-height:90px; resize:vertical; }
.tkt-error{ font-size:12px; color:#e05252; margin:6px 0 0; }
.tkt-next{ width:100%; margin-top:12px; justify-content:center; }

.tkt-success{ text-align:center; padding:28px 16px; }
.tkt-success-ico{
  width:56px; height:56px; border-radius:50%;
  background:#e6f6ed; color:#2ec27e;
  display:grid; place-items:center; margin:0 auto 14px;
}
.tkt-success-title{ margin:0 0 6px; font-size:18px; font-weight:700; }
.tkt-success-msg{ margin:0 0 16px; font-size:14px; color:var(--ink-2); }
.tkt-reset{
  font:inherit; font-size:13px; color:var(--orange-500);
  background:none; border:0; cursor:pointer; font-weight:600;
  text-decoration:underline; text-underline-offset:2px;
}

/* ══════════════════════════════════════════════════════════════════
   SUPPORT-SEITE
══════════════════════════════════════════════════════════════════ */
.support-hero{ background:linear-gradient(135deg, #1a1208 0%, #2a1a06 50%, #1a1208 100%); }
.support-contacts{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;
}
.support-contact-card{
  flex:1; min-width:200px; background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12); border-radius:var(--r-lg);
  padding:20px; display:flex; flex-direction:column; gap:6px;
  color:#fff; text-decoration:none; cursor:pointer;
  transition:background .2s, border-color .2s;
}
.support-contact-card:hover{ background:rgba(255,255,255,.12); border-color:rgba(243,146,0,.5); }
.support-contact-ico{ color:var(--orange-400); margin-bottom:4px; }
.support-contact-card strong{ font-size:16px; }
.support-contact-card span{ font-size:13px; opacity:.7; }
.support-ticket-trigger{ font:inherit; border:1px solid rgba(255,255,255,.12); }

.remote-support-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:32px;
}
@media(max-width:720px){ .remote-support-grid{ grid-template-columns:repeat(2,1fr); } }
.remote-btn{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:24px 16px; border:2px solid var(--line); border-radius:var(--r-lg);
  text-decoration:none; color:var(--ink); background:#fff;
  transition:border-color .2s, box-shadow .2s, transform .15s;
  position:relative; text-align:center;
}
.remote-btn:hover{
  border-color:var(--orange-400); transform:translateY(-2px);
  box-shadow:0 8px 24px -8px rgba(243,146,0,.25);
}
.remote-btn-ico{ color:var(--orange-500); }
.remote-btn-name{ font-weight:700; font-size:15px; }
.remote-btn-sub{ font-size:12px; color:var(--ink-2); }
.remote-btn-badge{
  position:absolute; top:-8px; right:12px;
  background:var(--grad); color:#fff;
  font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px;
}
.remote-btn-featured{
  border-color:var(--orange-400);
  background:linear-gradient(160deg, #fff9f3 0%, #fff 100%);
  box-shadow:0 4px 20px -4px rgba(243,146,0,.2);
}
.remote-btn-featured .remote-btn-ico{ color:var(--orange-500); }
.remote-btn-featured .remote-btn-name{ color:var(--orange-600); }

.support-chat-layout{
  display:grid; grid-template-columns:1fr 480px; gap:48px; align-items:start;
}
@media(max-width:900px){ .support-chat-layout{ grid-template-columns:1fr; } }
.support-chat-hints{ margin:16px 0; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.support-chat-hints li{ padding-left:20px; position:relative; color:var(--ink-2); font-size:15px; }
.support-chat-hints li::before{ content:'→'; position:absolute; left:0; color:var(--orange-500); font-weight:700; }
.support-emergency{ margin-top:24px; padding:16px; background:rgba(243,146,0,.08); border-left:3px solid var(--orange-500); border-radius:0 var(--r) var(--r) 0; font-size:14px; }
.support-emergency a{ color:var(--orange-600); font-weight:700; text-decoration:none; }

/* Inline Chat */
.lisa-inline-chat{
  border:1px solid var(--line); border-radius:var(--r-xl);
  overflow:hidden; box-shadow:0 8px 32px -8px rgba(20,15,5,.12);
  display:flex; flex-direction:column;
}
.lisa-inline-header{
  display:flex; align-items:center; gap:10px;
  padding:14px 16px; background:var(--grad); color:#fff; flex-shrink:0;
}
.lisa-inline-avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.lisa-inline-header-info{ flex:1; }
.lisa-inline-name{ display:block; font-weight:700; font-size:14.5px; }
.lisa-inline-sub{ display:block; font-size:11px; opacity:.88; }
.lisa-inline-msgs{
  height:380px; overflow-y:auto; padding:16px;
  display:flex; flex-direction:column; gap:10px;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
  background:#fff;
}
.lisa-inline-msg{ display:flex; }
.lisa-inline-msg-user{ justify-content:flex-end; }
.lisa-inline-msg-assistant{ justify-content:flex-start; }
.lisa-inline-bubble{
  max-width:90%; padding:10px 14px; border-radius:16px;
  font-size:14px; line-height:1.5; word-break:break-word;
}
.lisa-inline-msg-user .lisa-inline-bubble{ background:var(--grad); color:#fff; border-bottom-right-radius:4px; }
.lisa-inline-msg-assistant .lisa-inline-bubble{ background:var(--paper-2); color:var(--ink); border-bottom-left-radius:4px; }
.lisa-inline-input-row{
  display:flex; align-items:center; gap:8px;
  padding:10px 12px; border-top:1px solid var(--line-2); background:#fff;
}
.lisa-inline-input{
  flex:1; font:inherit; font-size:14px;
  padding:9px 12px; border:1px solid var(--line); border-radius:20px;
  background:var(--paper); color:var(--ink); outline:none;
}
.lisa-inline-input:focus{ border-color:var(--orange-400); }
.lisa-inline-send{
  width:38px; height:38px; border-radius:50%;
  background:var(--grad); border:0; color:#fff; cursor:pointer;
  display:grid; place-items:center; flex-shrink:0;
  transition:transform .15s;
}
.lisa-inline-send:hover{ transform:scale(1.08); }
.lisa-inline-note{
  padding:8px 16px; font-size:11.5px; color:var(--ink-2);
  background:var(--paper); border-top:1px solid var(--line-2); margin:0;
}
.lisa-inline-note a{ color:var(--orange-500); }
.lisa-inline-reset-btn{
  display:block; width:calc(100% - 32px); margin:12px 16px;
  padding:10px; border-radius:var(--r); border:1px solid var(--line);
  background:var(--paper-2); color:var(--ink); font:inherit; font-size:14px;
  cursor:pointer; transition:background .15s;
}
.lisa-inline-reset-btn:hover{ background:var(--line); }
.support-check{ color:#2a9d4a; font-weight:700; }

.sla-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
@media(max-width:720px){ .sla-grid{ grid-template-columns:1fr; } }
.sla-card{
  padding:28px 24px; border-radius:var(--r-lg); text-align:center;
  border:2px solid var(--line);
}
.sla-high{ border-color:var(--orange-400); background:rgba(243,146,0,.04); }
.sla-time{ font-size:42px; font-weight:900; color:var(--orange-500); line-height:1; margin-bottom:8px; }
.sla-label{ font-weight:700; font-size:16px; margin-bottom:4px; }
.sla-desc{ font-size:13px; color:var(--ink-2); }

/* ══════════════════════════════════════════════════════════════════
   BLOG – LISTE (home.php)
══════════════════════════════════════════════════════════════════ */
.blog-filter{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.blog-filter-tag{
  padding:6px 16px; border-radius:20px; font-size:13px; font-weight:600;
  border:1px solid var(--line); color:var(--ink-2); text-decoration:none;
  transition:background .15s, color .15s, border-color .15s;
}
.blog-filter-tag:hover,.blog-filter-tag.active{
  background:var(--orange-500); color:#fff; border-color:var(--orange-500);
}
.blog-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
@media(max-width:900px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .blog-grid{ grid-template-columns:1fr; } }
.blog-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .2s, transform .15s;
}
.blog-card:hover{ box-shadow:0 8px 32px -8px rgba(20,15,5,.15); transform:translateY(-2px); }
.blog-card-img{
  display:block; aspect-ratio:16/9; overflow:hidden; background:var(--paper-2);
  display:flex; align-items:center; justify-content:center;
}
.blog-card-img img{ width:100%; height:100%; object-fit:cover; }
.blog-card-img-placeholder{ color:var(--line); }
.blog-card-body{ padding:20px; display:flex; flex-direction:column; flex:1; gap:8px; }
.blog-tag{
  display:inline-block; padding:3px 10px; border-radius:20px;
  background:rgba(243,146,0,.1); color:var(--orange-600);
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  align-self:flex-start;
}
.blog-card-title{ margin:0; font-size:17px; line-height:1.4; }
.blog-card-title a{ text-decoration:none; color:var(--ink); }
.blog-card-title a:hover{ color:var(--orange-500); }
.blog-card-excerpt{ margin:0; font-size:14px; color:var(--ink-2); line-height:1.55; flex:1; }
.blog-card-meta{
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; color:var(--ink-2); margin-top:4px;
}
.blog-read-more{
  display:flex; align-items:center; gap:4px;
  color:var(--orange-500); font-weight:600; text-decoration:none;
}
.blog-read-more:hover{ gap:8px; }
.blog-pagination{ margin-top:48px; display:flex; justify-content:center; }
.blog-pagination .nav-links{ display:flex; gap:8px; align-items:center; }
.blog-pagination .page-numbers{
  padding:8px 14px; border-radius:var(--r); border:1px solid var(--line);
  text-decoration:none; color:var(--ink); font-size:14px;
}
.blog-pagination .page-numbers.current,
.blog-pagination .page-numbers:hover{
  background:var(--orange-500); color:#fff; border-color:var(--orange-500);
}
.blog-empty{ text-align:center; padding:60px 0; color:var(--ink-2); }

/* ── Einzelner Blogpost (single.php) ─────────────────────────── */
.single-post-hero{ padding-bottom:40px; }
.post-meta{ display:flex; gap:8px; align-items:center; font-size:14px; color:rgba(255,255,255,.7); margin-top:12px; flex-wrap:wrap; }
.single-post-thumb{ padding:0 0 48px; }
.single-post-img{ width:100%; border-radius:var(--r-lg); display:block; max-height:480px; object-fit:cover; }
.single-post-layout{ display:grid; grid-template-columns:1fr 280px; gap:48px; align-items:start; }
@media(max-width:900px){ .single-post-layout{ grid-template-columns:1fr; } }
.post-body{ font-size:16px; line-height:1.75; color:var(--ink); }
.post-body h2{ font-size:22px; margin:2em 0 .75em; }
.post-body h3{ font-size:18px; margin:1.75em 0 .6em; }
.post-body p{ margin:0 0 1.25em; }
.post-body ul,.post-body ol{ margin:0 0 1.25em 1.5em; }
.post-body li{ margin-bottom:.4em; }
.post-body a{ color:var(--orange-500); }
.post-body img{ max-width:100%; border-radius:var(--r); }
.post-sidebar{ position:sticky; top:80px; display:flex; flex-direction:column; gap:20px; }
.post-cta-box{
  border:1px solid var(--line); border-radius:var(--r-lg);
  padding:24px; display:flex; flex-direction:column; gap:12px; text-align:center;
}
.post-cta-avatar{ width:56px; height:56px; border-radius:50%; object-fit:cover; margin:0 auto 4px; }
.post-cta-box h3{ margin:0; font-size:16px; }
.post-cta-box p{ margin:0; font-size:14px; color:var(--ink-2); }
.btn-sm{ padding:8px 16px; font-size:14px; }
.post-nav{ display:flex; justify-content:space-between; gap:16px; }
.post-nav .nav-previous,.post-nav .nav-next{
  flex:1; padding:16px; border:1px solid var(--line); border-radius:var(--r-lg);
  text-decoration:none; color:var(--ink); font-size:14px;
}
.post-nav .nav-next{ text-align:right; }
.post-nav-label{ display:block; font-size:12px; color:var(--ink-2); margin-bottom:4px; }
.post-nav-title{ font-weight:600; }
.post-tag-list{ display:flex; flex-wrap:wrap; gap:6px; }
.post-tag-list a{
  padding:4px 10px; border-radius:20px; font-size:12px;
  background:var(--paper-2); color:var(--ink-2); text-decoration:none;
}

/* ══════════════════════════════════════════════════════════════════
   KARRIERE-SEITE
══════════════════════════════════════════════════════════════════ */
.karriere-hero{ background:linear-gradient(135deg, #0f1a2a 0%, #1a2d1a 50%, #0f1a2a 100%); }
.karriere-hero-stats{
  display:flex; gap:40px; margin-top:36px; flex-wrap:wrap;
}
.karriere-stat{ display:flex; flex-direction:column; }
.karriere-stat strong{ font-size:36px; font-weight:900; color:var(--orange-400); line-height:1; }
.karriere-stat span{ font-size:14px; opacity:.75; margin-top:4px; }
.benefits-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px;
}
@media(max-width:900px){ .benefits-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .benefits-grid{ grid-template-columns:1fr; } }
.benefit-card{
  padding:24px; border:1px solid var(--line); border-radius:var(--r-lg);
  background:#fff; transition:box-shadow .2s, transform .15s;
}
.benefit-card:hover{ box-shadow:0 8px 24px -8px rgba(20,15,5,.12); transform:translateY(-2px); }
.benefit-ico{ color:var(--orange-500); margin-bottom:14px; }
.benefit-card h3{ font-size:16px; margin:0 0 8px; }
.benefit-card p{ font-size:14px; color:var(--ink-2); margin:0; line-height:1.5; }
.jobs-empty{
  text-align:center; padding:60px 24px;
  border:2px dashed var(--line); border-radius:var(--r-lg);
}
.jobs-empty-ico{ color:var(--line); margin-bottom:16px; }
.jobs-empty h3{ font-size:20px; margin:0 0 8px; }
.jobs-empty p{ color:var(--ink-2); margin:0; max-width:400px; margin:0 auto; }
.job-roles-hint{ margin-top:32px; text-align:center; }
.job-roles-title{ font-size:14px; color:var(--ink-2); margin-bottom:12px; }
.job-roles-tags{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.job-roles-tags span{
  padding:6px 14px; border-radius:20px; font-size:13px;
  background:var(--paper-2); color:var(--ink-2); border:1px solid var(--line);
}
.karriere-cta-box{
  background:linear-gradient(135deg, var(--paper-2), #fff);
  border:1px solid var(--line); border-radius:var(--r-xl);
  padding:48px; display:flex; justify-content:space-between; align-items:center; gap:32px;
}
@media(max-width:720px){ .karriere-cta-box{ flex-direction:column; text-align:center; } }
.karriere-cta-text h2{ margin:0 0 8px; }
.karriere-cta-text p{ margin:0; color:var(--ink-2); max-width:480px; }
.karriere-cta-actions{ display:flex; flex-direction:column; align-items:center; gap:8px; flex-shrink:0; }
.karriere-cta-hint{ font-size:12px; color:var(--ink-2); margin:0; }

/* ══════════════════════════════════════════════════════════════════
   AGB-SEITE
══════════════════════════════════════════════════════════════════ */
.agb-layout{ display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start; }
@media(max-width:720px){ .agb-layout{ grid-template-columns:1fr; } }
.agb-toc{
  position:sticky; top:80px;
  background:var(--paper-2); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:20px;
}
.agb-toc-title{ font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-2); margin:0 0 12px; }
.agb-toc ol{ margin:0; padding-left:16px; display:flex; flex-direction:column; gap:6px; }
.agb-toc a{ text-decoration:none; color:var(--ink); font-size:14px; }
.agb-toc a:hover{ color:var(--orange-500); }
.agb-content{ max-width:720px; }
.agb-section{ margin-bottom:48px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.agb-section:last-of-type{ border-bottom:0; }
.agb-section h2{ font-size:22px; margin:0 0 20px; padding-top:24px; }
.agb-section p,.agb-section li{ font-size:15px; line-height:1.7; color:var(--ink); }
.agb-placeholder{ color:var(--ink-2); font-style:italic; }
.agb-contact{ margin-top:32px; padding-top:32px; border-top:1px solid var(--line); color:var(--ink-2); font-size:14px; }
.agb-contact a{ color:var(--orange-500); }

/* ── Gemeinsam genutzt ────────────────────────────────────────── */
.page-hero-simple{
  background:linear-gradient(135deg, #1a1208 0%, #2d2010 100%);
  color:#fff; padding:72px 0 56px;
}
.page-hero-simple h1{ color:#fff; margin:12px 0 16px; }
.page-hero-simple .hero-sub{ color:rgba(255,255,255,.8); font-size:18px; max-width:600px; }
.section-header{ margin-bottom:40px; }
.section-header h2{ margin:0 0 12px; }
.section-header p{ color:var(--ink-2); font-size:16px; margin:0; }
.text-center{ text-align:center; }
.cta-center{ text-align:center; max-width:600px; margin:0 auto; }
.cta-center p{ color:var(--ink-2); margin:0 0 24px; }

/* ── 12min Banner-Sektion auf Startseite ─────────────────────── */
.section-12min-banner{ padding-top:0; padding-bottom:48px; }

/* ── Video-Sektion auf 12min-Seite ──────────────────────────── */
.sbx-video-section{ background:var(--paper-2); }
.sbx-video-wrap{
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,.12);
  background:#000;
  aspect-ratio:16/9;
  max-width:860px;
  margin:0 auto;
}
.sbx-video-player{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

/* ── Hero Stage — Video-Bühne mit Glas-Toasts (Design 2026) ─────────
   Video füllt die rechte Hero-Spalte und bleibt gut sichtbar. Nur unten
   ein dezenter Verlauf, davor kompakte Glas-Toasts (max. 3). */
.hero-stage-v2.stage-video{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  aspect-ratio:auto;
  min-height:560px;
  box-shadow:0 30px 70px -30px rgba(20,15,5,.55);
  isolation:isolate;
  padding:0; gap:0;
}
.stage-video-bg{
  position:absolute; inset:0; z-index:0;
  background:#14110c;
}
.stage-video-bg video,
.stage-video-bg img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
}
/* Nur unten abdunkeln (für Toast-Lesbarkeit), oben bleibt das Video frei */
.stage-video-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(15,12,8,.30) 0%,
    rgba(15,12,8,.04) 26%,
    rgba(15,12,8,.18) 56%,
    rgba(15,12,8,.74) 100%);
}

/* Overlay: Live-Leiste oben, Toasts unten — dazwischen bleibt das Video sichtbar */
.stage-overlay{
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:22px;
}
.stage-overlay .live-time{
  background:rgba(255,255,255,.16); color:#fff;
  border:1px solid rgba(255,255,255,.30);
  padding:4px 10px; border-radius:999px; font-weight:600;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.stage-overlay .live-pill{ box-shadow:0 10px 26px -8px rgba(0,0,0,.6); }

/* Toast-Bereich — newest oben, ältere darunter, max. 3 */
.toast-area{ display:flex; flex-direction:column; gap:10px; }
.toast{
  display:flex; align-items:center; gap:12px;
  background:rgba(18,14,10,.50);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
          backdrop-filter:blur(16px) saturate(140%);
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  padding:12px 14px;
  color:#fff;
  box-shadow:0 16px 36px -16px rgba(0,0,0,.7);
  animation:toast-pop .55s cubic-bezier(.2,.8,.2,1) both;
}
.toast.depth-1{ opacity:.92; }
.toast.depth-2{ opacity:.8; }
.toast.prio-high{ border-left:3px solid #ff6b6b; }
@keyframes toast-pop{
  0%{ opacity:0; transform:translateY(16px) scale(.97); }
  100%{ opacity:1; transform:none; }
}
.toast-check{
  flex-shrink:0; width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(45,168,106,.22); color:#46d486;
  border:1px solid rgba(70,212,134,.42);
}
.toast-check svg{ width:16px; height:16px; }
.toast-main{ flex:1; min-width:0; }
.toast-title{
  font-size:14px; font-weight:600; line-height:1.3; color:#fff;
  overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.toast-meta{
  display:flex; gap:6px; align-items:center;
  font-size:11.5px; color:rgba(255,255,255,.66); margin-top:3px;
  font-variant-numeric:tabular-nums;
}
.toast-dot{ opacity:.5; }
.toast-tag{
  flex-shrink:0; align-self:center;
  font-size:10px; font-weight:800; letter-spacing:.06em;
  padding:4px 9px; border-radius:6px;
  background:rgba(243,146,0,.95); color:#fff;
  white-space:nowrap;
}

/* ── Rechtsseiten: Hinweis-Banner für auszufüllende Pflichtangaben ── */
.legal-note{
  background:#FCF7EF; border:1px solid var(--orange-300);
  border-left:4px solid var(--orange-500);
  border-radius:var(--r-md); padding:14px 18px; margin:0 0 28px;
  font-size:14px; line-height:1.5; color:var(--ink-2);
}
.agb-content mark{
  background:#ffe08a; color:var(--ink); padding:1px 5px; border-radius:3px;
  font-weight:600; font-size:.95em;
}

/* ── Header: Click-to-Call Button ─────────────────────────────── */
.nav-phone-btn{
  display:flex; align-items:center; gap:7px;
  padding:7px 14px; border-radius:20px;
  border:1px solid var(--line); color:var(--ink); text-decoration:none;
  font-size:13.5px; font-weight:600; flex-shrink:0;
  transition:border-color .15s, color .15s, background .15s;
}
.nav-phone-btn:hover{ border-color:var(--orange-500); color:var(--orange-500); background:#fff; }
.nav-phone-btn svg{ color:var(--orange-500); flex-shrink:0; }
@media (max-width: 1180px){ .nav-phone-num{ display:none; } .nav-phone-btn{ padding:7px 10px; } }
@media (max-width: 920px){ .nav-phone-btn{ display:none; } }

/* ── Trust-Strip (Vertrauensanker vor dem Kontakt-CTA) ────────── */
.trust-strip-section{ padding: 8px 0 48px; }
.trust-strip{
  display:grid; grid-template-columns:repeat(5,1fr); gap:18px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow-card); padding:24px 20px;
}
.trust-item{ display:flex; align-items:center; gap:12px; justify-content:center; text-align:left; }
.trust-item svg{ width:26px; height:26px; color:var(--orange-500); flex-shrink:0; }
.trust-item b{ display:block; font-size:18px; font-weight:800; letter-spacing:-.01em; line-height:1.1; color:var(--ink); }
.trust-item span{ display:block; font-size:12.5px; color:var(--ink-2); line-height:1.3; }
@media (max-width: 900px){ .trust-strip{ grid-template-columns:repeat(2,1fr); gap:20px 14px; } }
@media (max-width: 480px){ .trust-strip{ grid-template-columns:1fr; } }

/* ── FAQ-Sektion (Accordion + Rich Results) ──────────────────── */
.faq-section{ padding: 72px 0; background: var(--paper-2); }
.faq-wrap{ max-width: 820px; }
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:0 20px; transition:border-color .2s, box-shadow .2s;
}
.faq-item[open]{ border-color:var(--orange-400); box-shadow:var(--shadow-card); }
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 0; cursor:pointer; font-weight:700; font-size:16.5px; color:var(--ink);
  list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-chev{ color:var(--orange-500); flex-shrink:0; transition:transform .2s; }
.faq-item[open] .faq-chev{ transform:rotate(180deg); }
.faq-answer{ padding:0 0 18px; }
.faq-answer p{ margin:0; color:var(--ink-2); font-size:15px; line-height:1.6; }

/* ── Hub-/Übersichtsseiten (Herausforderungen, Leistungen, Workshops) ── */
.hub-group-title{ font-size:20px; font-weight:700; margin:8px 0 18px; color:var(--ink); }
.hub-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width: 900px){ .hub-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 600px){ .hub-grid{ grid-template-columns:1fr; } }
.hub-card{
  display:flex; flex-direction:column; gap:10px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px; text-decoration:none; color:inherit;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.hub-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-card-h); border-color:var(--orange-400); }
.hub-card h3{ margin:0; font-size:19px; font-weight:700; letter-spacing:-.01em; color:var(--ink); }
.hub-card p{ margin:0; flex:1; font-size:14.5px; line-height:1.55; color:var(--ink-2); }
.hub-cta{ display:inline-flex; align-items:center; gap:6px; color:var(--orange-500); font-weight:700; font-size:14px; margin-top:4px; }
.hub-card:hover .hub-cta svg{ transform:translateX(3px); transition:transform .2s; }

/* ── Testimonials: zwei Karten zentriert ─────────────────────── */
.testi-grid-2{ grid-template-columns:repeat(2,1fr); max-width:920px; margin-left:auto; margin-right:auto; }
@media (max-width: 900px){ .testi-grid-2{ grid-template-columns:1fr; } }

/* ── Mobile-Navigation: Burger + Off-Canvas (Fix: war funktionslos) ── */
.nav-burger{
  display:none;
  width:42px; height:42px; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  background:transparent; border:1px solid var(--line); border-radius:8px; cursor:pointer; padding:0;
}
.nav-burger span{ width:18px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s, opacity .25s; }
body.nav-open .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.nav-open .nav-burger span:nth-child(2){ opacity:0; }
body.nav-open .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Dropdowns auch per Tastatur/Touch öffnen (nicht nur :hover) — WCAG 2.1.1 */
.nav-item:focus-within .dropdown{ display:block; }
.nav-parent{ cursor:default; }

@media (max-width: 920px){
  .nav-burger{ display:inline-flex; }
  /* WICHTIG: backdrop-filter des Headers macht ihn zum Containing Block für
     position:fixed → Mobilmenü würde im Header kollabieren. Bei offenem Menü aus. */
  body.nav-open{ overflow:hidden; }
  body.nav-open header.site{ backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--paper); }
  body.nav-open .nav ul{
    display:flex; flex-direction:column;
    position:fixed; inset:72px 0 0 0;
    background:var(--paper);
    padding:8px 22px 56px; gap:0;
    overflow-y:auto; -webkit-overflow-scrolling:touch; z-index:49;
    border-top:1px solid var(--line);
  }
  body.nav-open .nav ul > li{ width:100%; border-bottom:1px solid var(--line-2); }
  body.nav-open .nav ul > li > a,
  body.nav-open .nav-parent{
    display:flex; align-items:center; justify-content:space-between;
    padding:15px 2px; font-size:16px; font-weight:600; cursor:pointer;
  }
  /* Dropdowns als Akkordeon: NUR das .open-Menü zeigt.
     Touch-:hover/:focus-within klebt sonst → mehrere offen + Überlappung (Workshops unklickbar). */
  body.nav-open .dropdown,
  body.nav-open .dropdown.wide,
  body.nav-open .nav-item:hover > .dropdown,
  body.nav-open .nav-item:focus-within > .dropdown{
    display:none !important; position:static; box-shadow:none; padding:0 0 12px 14px;
  }
  body.nav-open .nav-item.open > .dropdown{ display:block !important; }
  body.nav-open .dropdown-inner,
  body.nav-open .dropdown.wide .dropdown-inner{
    position:static; box-shadow:none; border:0; padding:0; min-width:0;
    display:block; background:transparent; grid-template-columns:1fr;
  }
  body.nav-open .dd-item{ padding:10px 0; }
  body.nav-open .dd-ico,
  body.nav-open .dd-sub{ display:none; }
  /* Chevron als Akkordeon-Indikator sichtbar + Rotation beim Öffnen */
  body.nav-open .nav-parent .chev{ display:inline-block; transition:transform .2s; }
  body.nav-open .nav-item.open > .nav-parent .chev{ transform:rotate(180deg); }
  /* Featured-Pill im Mobilmenü neutralisieren (normale Akkordeon-Zeile) */
  body.nav-open .nav-item-featured > .nav-parent{
    background:transparent; border:0; border-radius:0; padding:15px 2px; color:var(--ink);
  }
  body.nav-open .nav-item-featured > .nav-parent::before{ display:none; }
}

/* ── Lead-/Angebotsformular auf Leistungsseiten ──────────────── */
.lead-section{ padding: 72px 0; }
.lead-card{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow:0 32px 80px -32px rgba(243,146,0,.5);
}
.lead-intro{
  background:var(--grad); color:#fff; padding:44px 40px;
  display:flex; flex-direction:column; justify-content:center;
}
.lead-alt{ margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.lead-alt-item{ display:inline-flex; align-items:center; gap:10px; color:#fff; font-weight:600; font-size:15px; text-decoration:none; }
.lead-alt-item svg{ flex-shrink:0; opacity:.9; }
.lead-alt-item:hover{ text-decoration:underline; }
.lead-form{ background:#fff; padding:40px; display:flex; flex-direction:column; gap:16px; }
.lead-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lead-form label{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--ink-2); }
.lead-form input, .lead-form textarea{
  font-family:inherit; font-size:15px; color:var(--ink);
  padding:11px 14px; border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--paper); transition:border-color .15s, box-shadow .15s;
}
.lead-form input:focus, .lead-form textarea:focus{
  outline:none; border-color:var(--orange-500); box-shadow:0 0 0 3px rgba(243,146,0,.12);
}
.lead-form textarea{ resize:vertical; min-height:84px; }
.lead-status{ margin:0; font-size:14px; font-weight:600; min-height:20px; }
.lead-status-ok{ color:#2da86a; }
.lead-status-err{ color:#d23; }
.lead-privacy{ margin:0; font-size:12px; color:var(--ink-2); line-height:1.5; }
.lead-privacy a{ color:var(--orange-500); }
@media (max-width: 820px){
  .lead-card{ grid-template-columns:1fr; }
  .lead-intro{ padding:36px 28px; }
  .lead-form{ padding:32px 28px; }
}
@media (max-width: 480px){ .lead-row{ grid-template-columns:1fr; } }

/* ─── Passende Blogbeiträge auf Subseiten (related-blog) ─── */
.related-blog{ padding: clamp(48px,6vw,84px) 0; background: var(--paper); border-top:1px solid var(--line-2); }
.related-blog .section-head{ margin-bottom: 22px; }
.rb-filter{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.rb-pill{ font:inherit; font-size:13.5px; font-weight:600; color:var(--ink-2); background:#fff; border:1px solid var(--line); border-radius:99px; padding:7px 15px; cursor:pointer; transition:all .15s; }
.rb-pill:hover{ border-color:var(--orange-400); color:var(--ink); }
.rb-pill.active{ background:var(--grad); color:#fff; border-color:transparent; }
.rb-all{ margin-top:28px; text-align:center; }

/* ─── Herausforderungen als hervorgehobene Pill (Fokus in der Nav) ─── */
.nav-item-featured > .nav-parent{
  display:inline-flex; align-items:center;
  background:#FCEFDD; border:1px solid #F6D9AE; color:var(--orange-600);
  border-radius:99px; padding:7px 14px; border-bottom:1px solid #F6D9AE;
}
.nav-item-featured > .nav-parent::before{
  content:""; width:7px; height:7px; border-radius:50%; background:var(--orange-500);
  display:inline-block; margin-right:7px; flex-shrink:0;
}
.nav-item-featured:hover > .nav-parent,
.nav-item-featured:focus-within > .nav-parent{ background:#FBE3C4; border-color:var(--orange-400); color:var(--orange-600); }

/* ── Job-Karte (Karriere-Übersicht) ─────────────────────────────── */
.jobs-list{ display:flex; flex-direction:column; gap:16px; max-width:760px; margin:0 auto; }
.job-card{ display:flex; align-items:center; justify-content:space-between; gap:24px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px 26px;
  text-decoration:none; color:inherit; transition:transform .15s, box-shadow .2s, border-color .2s; }
.job-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-card-h); border-color:var(--orange-400); }
.job-card-tag{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.04em;
  color:var(--orange-600); background:var(--paper-2); border:1px solid var(--line-2);
  padding:5px 11px; border-radius:100px; margin-bottom:10px; }
.job-card h3{ font-size:20px; margin:0 0 6px; color:var(--ink); }
.job-card-main p{ font-size:14.5px; color:var(--ink-2); margin:0 0 12px; line-height:1.5; max-width:52ch; }
.job-card-meta{ display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; color:var(--ink-2); }
.job-card-cta{ flex-shrink:0; }
.job-card-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--grad); color:#fff;
  font-weight:700; font-size:14.5px; padding:12px 20px; border-radius:var(--r-md);
  box-shadow:0 8px 22px -8px rgba(243,146,0,.6); white-space:nowrap; }
@media(max-width:640px){
  .job-card{ flex-direction:column; align-items:flex-start; gap:16px; }
  .job-card-cta{ width:100%; }
  .job-card-btn{ width:100%; justify-content:center; }
}
