/* =========================================================
Bundeswehr Spezialisten – zentrale Styles
========================================================= */

:root {
  --bws-navy: #0f1d29;
  --bws-navy-dark: #07121d;
  --bws-blue: #1d5aa9;
  --bws-blue-light: #2f86ff;
  --bws-offwhite: #f6f3f1;
  --bws-silver: #a1a8b2;
  --bws-olive: #3b4330;
  --bws-red: #9B2020;
  --bws-green: #00b67a;
  --bws-muted: rgba(246, 243, 241, 0.72);
  --bws-border: rgba(246, 243, 241, 0.14);
  --bws-max: 1240px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--bws-offwhite);
  background: var(--bws-navy-dark);
}

img { max-width: 100%; }

section[id] { scroll-margin-top: 96px; }

.bws-section {
  position: relative;
  overflow: hidden;
  padding: 82px 22px;
  color: var(--bws-offwhite);
  background:
    radial-gradient(circle at 82% 22%, rgba(47, 134, 255, 0.13), transparent 32%),
    radial-gradient(circle at 18% 88%, rgba(59, 67, 48, 0.34), transparent 34%),
    linear-gradient(135deg, var(--bws-navy-dark) 0%, var(--bws-navy) 56%, #101a23 100%);
}

.bws-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.35;
  pointer-events: none;
}

.bws-inner {
  position: relative;
  z-index: 2;
  max-width: var(--bws-max);
  margin: 0 auto;
}

.bws-header {
  max-width: 880px;
  margin-bottom: 46px;
}

.bws-eyebrow-line {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--bws-blue-light);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bws-eyebrow-line::before {
  content: "";
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: var(--bws-blue-light);
}

.bws-section-title {
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 900;
}

.bws-section-title span { color: var(--bws-blue-light); }

.bws-lead {
  max-width: 780px;
  margin: 0;
  color: var(--bws-muted);
  font-size: 18px;
  line-height: 1.65;
}

.bws-btn,
.bws-pill-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 26px;
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 850;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.bws-btn-primary {
  background: linear-gradient(135deg, var(--bws-blue-light), var(--bws-blue));
  box-shadow: 0 16px 34px rgba(47, 134, 255, 0.24);
}

.bws-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(47, 134, 255, 0.32);
}

.bws-btn-secondary {
  background: rgba(246, 243, 241, 0.06);
  border: 1px solid rgba(246, 243, 241, 0.18);
}

.bws-btn-secondary:hover {
  transform: translateY(-2px);
  background: rgba(246, 243, 241, 0.12);
}

/* Topbar */
.bws-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 28px;
  border-bottom: 1px solid rgba(246, 243, 241, 0.10);
  background: rgba(7, 18, 29, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.22);
}

.bws-topbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bws-topbar-logo {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  flex-shrink: 0;
}

.bws-topbar-name {
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.3px;
  line-height: 1.1;
}

.bws-topbar-sub {
  font-size: 10px;
  font-weight: 600;
  color: rgba(246, 243, 241, 0.48);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 2px;
}

.bws-topbar-nav {
  display: flex;
  align-items: center;
  gap: 18px;
}

.bws-topbar-nav a {
  color: rgba(246, 243, 241, 0.62);
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.bws-topbar-nav a:hover { color: var(--bws-offwhite); }

.bws-topbar-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--bws-blue-light), var(--bws-blue));
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(47, 134, 255, 0.30);
  white-space: nowrap;
}

.bws-topbar-cta-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.75);
  animation: bwsPulse 2s ease-in-out infinite;
}

@keyframes bwsPulse {
  0%, 100% { opacity: .7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}

/* Landing */
.bws-logo-landing {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 110px 22px 74px;
  background:
    radial-gradient(circle at 50% 42%, rgba(47, 134, 255, 0.22), transparent 34%),
    radial-gradient(circle at 18% 86%, rgba(59, 67, 48, 0.40), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(47, 134, 255, 0.14), transparent 32%),
    linear-gradient(135deg, var(--bws-navy-dark) 0%, var(--bws-navy) 56%, #101a23 100%);
}

.bws-logo-landing::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .38;
}

.bws-logo-landing::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(88vw, 900px);
  height: min(88vw, 900px);
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(47, 134, 255, 0.08);
  filter: blur(18px);
  animation: bwsLogoGlow 7s ease-in-out infinite;
}

@keyframes bwsLogoGlow {
  0%, 100% { opacity: .45; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: .85; transform: translate(-50%, -50%) scale(1.08); }
}

.bws-logo-landing-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--bws-max);
  min-height: 620px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bws-logo-landing-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(118vw, 1120px);
  max-height: 96vh;
  object-fit: contain;
  transform: translate(-50%, -50%);
  opacity: .88;
  filter: drop-shadow(0 42px 110px rgba(0,0,0,.62)) drop-shadow(0 0 46px rgba(47,134,255,.22));
  user-select: none;
  pointer-events: none;
}

.bws-logo-landing-overlay {
  position: relative;
  z-index: 3;
  width: 100%;
  text-align: center;
}

.bws-logo-landing-title {
  margin: 0;
  font-weight: 950;
  letter-spacing: -0.075em;
  line-height: .92;
  text-align: center;
  text-shadow: 0 8px 18px rgba(0,0,0,.92), 0 18px 58px rgba(0,0,0,.72), 0 0 34px rgba(47,134,255,.26);
}

.bws-logo-landing-title .bws-line {
  display: block;
  white-space: nowrap;
  font-size: clamp(28px, 6.2vw, 104px);
}

.bws-line-one { color: #fff; }
.bws-line-two { color: var(--bws-blue-light); }

.bws-logo-landing-actions {
  position: absolute;
  left: 50%;
  bottom: 118px;
  z-index: 5;
  transform: translateX(-50%);
  width: min(94%, 720px);
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.bws-logo-landing-scroll {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 4;
  transform: translateX(-50%);
  display: inline-flex;
  text-decoration: none;
}

.bws-logo-landing-scroll span {
  width: 1px;
  height: 42px;
  background: linear-gradient(to bottom, rgba(47,134,255,0), rgba(47,134,255,.95));
  animation: bwsLogoLandingScroll 1.8s ease-in-out infinite;
}

@keyframes bwsLogoLandingScroll {
  0%, 100% { transform: translateY(0); opacity: .55; }
  50% { transform: translateY(8px); opacity: 1; }
}

/* Hero */
.bws-hero {
  width: 100%;
  padding-top: 86px;
}

.bws-wrapper {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--bws-max);
  margin: 0 auto;
  padding: 42px 28px;
}

.bws-brand {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-bottom: 34px;
}

.bws-logo-full {
  display: block;
  width: 300px !important;
  max-width: 42vw !important;
  height: auto !important;
  flex-shrink: 0;
}

.bws-brand-name {
  color: #fff;
  font-size: clamp(34px, 4.2vw, 64px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -1.7px;
  white-space: nowrap;
}

.bws-brand-subline {
  margin-top: 12px;
  color: #d4dbe3;
  font-size: clamp(15px, 1.5vw, 22px);
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  white-space: nowrap;
}

.bws-container {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 64px;
  align-items: center;
}

.bws-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  margin-bottom: 20px;
  border-radius: 999px;
  border: 1px solid rgba(47,134,255,.35);
  background: rgba(47,134,255,.10);
  color: #dceaff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.bws-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--bws-blue-light);
  box-shadow: 0 0 14px rgba(47,134,255,.9);
}

.bws-title {
  max-width: 800px;
  margin: 0 0 18px;
  font-size: clamp(32px, 4.2vw, 58px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -1.5px;
  color: var(--bws-offwhite);
}

.bws-title span { color: var(--bws-blue-light); }

.bws-subtitle {
  max-width: 590px;
  margin: 0 0 28px;
  color: #d4dbe3;
  font-size: clamp(16px, 1.8vw, 19px);
  line-height: 1.6;
}

.bws-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.bws-card,
.bws-glass-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 28px;
  background: linear-gradient(145deg, rgba(246,243,241,.10), rgba(246,243,241,.035)), rgba(15,29,41,.66);
  border: 1px solid var(--bws-border);
  box-shadow: 0 24px 70px rgba(0,0,0,.20);
}

.bws-card::before,
.bws-glass-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(47,134,255,.20), transparent 42%);
  pointer-events: none;
}

.bws-card > *,
.bws-glass-card > * { position: relative; z-index: 2; }

.bws-card-kicker,
.bws-kicker {
  color: var(--bws-blue-light);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .9px;
  margin-bottom: 10px;
}

.bws-status-list { display: grid; gap: 10px; margin-bottom: 18px; }

.bws-status-item,
.bws-info-row,
.bws-compare-item {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(246,243,241,.10);
  background: rgba(7,18,29,.42);
}

.bws-icon,
.bws-mini-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(47,134,255,.13);
  border: 1px solid rgba(47,134,255,.28);
  color: var(--bws-blue-light);
  font-weight: 900;
}

.bws-card h3,
.bws-glass-card h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.16;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.bws-card p,
.bws-glass-card p,
.bws-info-row span,
.bws-status-item small,
.bws-compare-item span {
  margin: 0;
  color: var(--bws-muted);
  font-size: 15px;
  line-height: 1.55;
}

.bws-info-row strong,
.bws-status-item strong,
.bws-compare-item strong {
  display: block;
  color: #fff;
  font-size: 15px;
  margin-bottom: 4px;
}

.bws-bottom-banner {
  margin-top: 34px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 24px;
  background: rgba(59, 67, 48, .34);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-bottom-banner strong {
  display: block;
  color: #fff;
  font-size: 17px;
  margin-bottom: 4px;
}

.bws-bottom-banner span {
  display: block;
  color: var(--bws-muted);
  font-size: 15px;
  line-height: 1.45;
}

/* Target */
.bws-target-grid,
.bws-partner-grid,
.bws-testimonial-grid {
  display: grid;
  gap: 18px;
}

.bws-target-grid { grid-template-columns: repeat(4, 1fr); }
.bws-partner-grid,
.bws-testimonial-grid { grid-template-columns: repeat(3, 1fr); }

.bws-target-card {
  min-height: 285px;
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.bws-target-card:hover {
  transform: translateY(-6px);
  border-color: rgba(47,134,255,.42);
  box-shadow: 0 30px 82px rgba(0,0,0,.30);
}

.bws-target-number {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  border-radius: 15px;
  background: rgba(47,134,255,.13);
  border: 1px solid rgba(47,134,255,.30);
  color: var(--bws-blue-light);
  font-weight: 900;
}

/* Network */
.bw-network-inner {
  max-width: var(--bws-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.bw-network-list { display: grid; gap: 18px; margin-top: 34px; }

.bw-network-map-card {
  position: relative;
  min-height: 640px;
  border-radius: 34px;
  border: 1px solid rgba(93,163,240,.18);
  background: linear-gradient(145deg, rgba(242,246,251,.07), rgba(242,246,251,.025));
  box-shadow: 0 28px 80px rgba(0,0,0,.22), inset 0 0 42px rgba(93,163,240,.035);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 34px;
}

.bw-network-map-stage {
  position: relative;
  z-index: 1;
  width: min(78%, 520px);
  aspect-ratio: 846 / 1100;
}

.bw-network-map-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: .7;
  filter: drop-shadow(0 0 10px rgba(93,163,240,.14));
}

.bw-network-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.bw-network-lines path {
  fill: none;
  stroke: #5DA3F0;
  stroke-width: .34;
  stroke-linecap: round;
  opacity: .23;
  stroke-dasharray: 2 5;
  animation: bwRouteMove 42s linear infinite;
}

.bw-node-ring {
  fill: rgba(93,163,240,.07);
  stroke: rgba(93,163,240,.34);
  stroke-width: .3;
  animation: bwNodePulse 9s ease-in-out infinite;
  animation-delay: var(--delay);
}

.bw-node-core {
  fill: #F2F6FB;
  stroke: #5DA3F0;
  stroke-width: .24;
  animation: bwNodePulse 9s ease-in-out infinite;
  animation-delay: var(--delay);
}

@keyframes bwRouteMove { to { stroke-dashoffset: -90; } }
@keyframes bwNodePulse {
  0%,100% { opacity: .42; transform: scale(.98); }
  50% { opacity: .78; transform: scale(1.04); }
}

.bw-network-map-info {
  position: absolute;
  z-index: 3;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(93,163,240,.15);
  background: rgba(30,43,58,.84);
  backdrop-filter: blur(12px);
}

/* Relevance */
.bws-relevance-grid,
.bws-approach-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.bws-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 24px 0 22px;
}

.bws-stat {
  padding: 18px 16px;
  border-radius: 20px;
  background: rgba(7,18,29,.42);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-stat strong {
  display: block;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 8px;
  font-weight: 900;
}

.bws-stat span {
  color: var(--bws-muted);
  font-size: 13.5px;
  line-height: 1.45;
}

.bws-highlight {
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(59,67,48,.34);
  border: 1px solid rgba(246,243,241,.12);
  color: #e8ecef;
  font-size: 15px;
  line-height: 1.55;
}

.bws-dot-wrap {
  padding: 22px;
  border-radius: 24px;
  background: rgba(7,18,29,.42);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-dot-grid {
  display: grid;
  grid-template-columns: repeat(25, 1fr);
  gap: 6px;
}

.bws-dot {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: rgba(246,243,241,.12);
}

.bws-dot.is-active {
  background: var(--bws-blue-light);
  box-shadow: 0 0 12px rgba(47,134,255,.55);
}

/* Partners */
.bws-partner-card {
  min-height: 410px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.bws-partner-logo-wrap {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 24px;
  margin-bottom: 24px;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(246,243,241,.16), rgba(246,243,241,.055)), rgba(7,18,29,.46);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-partner-logo-wrap img {
  width: auto;
  max-width: 92%;
  max-height: 86px;
  object-fit: contain;
  display: block;
}

/* Approach */
.bws-age-list,
.bws-compare {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.bws-age-row {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  background: rgba(7,18,29,.42);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-age-badge {
  padding: 10px 6px;
  border-radius: 14px;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  border: 1px solid rgba(47,134,255,.30);
  background: rgba(47,134,255,.13);
  color: var(--bws-blue-light);
}

.bws-age-badge small {
  display: block;
  margin-top: 5px;
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(246,243,241,.62);
}

.bws-age-badge.warning {
  background: rgba(155,32,32,.18);
  border-color: rgba(155,32,32,.38);
  color: #ffb8b8;
}

.bws-warning-box {
  margin-top: 24px;
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(155,32,32,.18);
  border: 1px solid rgba(155,32,32,.35);
  color: #ffe1e1;
  font-size: 15px;
  line-height: 1.55;
}

/* Process */
.bws-process-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid var(--bws-border);
  background: linear-gradient(145deg, rgba(246,243,241,.10), rgba(246,243,241,.035)), rgba(15,29,41,.7);
  box-shadow: 0 24px 70px rgba(0,0,0,.20);
}

.bws-process-step {
  padding: 30px 24px;
  position: relative;
}

.bws-process-step:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(246,243,241,.12);
}

.bws-process-number {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  margin-bottom: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(47,134,255,.15);
  border: 1px solid rgba(47,134,255,.3);
}

/* Testimonials */
.bws-trustpilot-summary {
  margin-bottom: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(7,18,29,.42);
  border: 1px solid rgba(246,243,241,.12);
}

.bws-stars,
.bws-trustpilot-star { color: var(--bws-green); letter-spacing: 2px; }

/* Contact */
.bws-contact-inner {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 56px;
  align-items: center;
}

.bws-contact-list { display: grid; gap: 14px; }

.bws-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.bws-form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bws-form-field.bws-full { grid-column: 1 / -1; }

.bws-form-field label {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}

.bws-form-field input {
  width: 100%;
  min-height: 52px;
  padding: 14px 15px;
  border-radius: 14px;
  border: 1px solid rgba(246,243,241,.16);
  background: rgba(7,18,29,.58);
  color: #fff;
  font-size: 15px;
  outline: none;
}

.bws-output {
  display: none;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid rgba(246,243,241,.12);
  grid-template-columns: 190px minmax(260px, 1fr);
  gap: 34px;
  align-items: center;
}

.bws-output.active { display: grid; }

.bws-qr-box {
  width: 190px;
  height: 190px;
  padding: 14px;
  border-radius: 24px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bws-error {
  display: none;
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(155,32,32,.18);
  border: 1px solid rgba(155,32,32,.38);
  color: #ffe1e1;
  font-size: 14px;
  line-height: 1.45;
}

.bws-error.active { display: block; }

/* Footer */
.bws-footer {
  padding: 60px 22px 30px;
  background: linear-gradient(135deg, var(--bws-navy-dark), #101a23);
  color: var(--bws-offwhite);
  border-top: 1px solid rgba(246,243,241,.12);
}

.bws-footer-inner {
  max-width: var(--bws-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 40px;
}

.bws-footer h3 {
  font-size: 22px;
  font-weight: 900;
  margin: 0 0 14px;
  color: #fff;
}

.bws-footer h4 {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 800;
  color: var(--bws-blue-light);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.bws-footer a,
.bws-footer span {
  color: rgba(246,243,241,.65);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.6;
}

.bws-footer a:hover { color: #fff; }

.bws-footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bws-footer-bottom {
  max-width: var(--bws-max);
  margin: 40px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(246,243,241,.12);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}

/* Legal pages */
.bws-legal-nav {
  max-width: var(--bws-max);
  margin: 0 auto;
  padding: 22px;
}

.bws-legal-back {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--bws-muted);
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}

.bws-legal-back-row {
  display: block;
  margin-bottom: 26px;
}

.bws-legal-inner {
  position: relative;
  z-index: 2;
  max-width: 1040px;
  margin: 0 auto;
}

.bws-legal-card {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(246,243,241,.10), rgba(246,243,241,.035)), rgba(15,29,41,.70);
  border: 1px solid var(--bws-border);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
  margin-bottom: 20px;
}

.bws-legal-card h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 25px;
  line-height: 1.2;
  font-weight: 900;
}

.bws-legal-card h3 {
  margin: 24px 0 10px;
  color: #fff;
  font-size: 18px;
}

.bws-legal-card p,
.bws-legal-card li {
  color: var(--bws-muted);
  font-size: 15.5px;
  line-height: 1.65;
}

.bws-legal-card a { color: #fff; }

.bws-placeholder {
  display: inline;
  color: #fff;
  font-weight: 850;
  background: rgba(47,134,255,.16);
  border: 1px solid rgba(47,134,255,.28);
  padding: 2px 6px;
  border-radius: 7px;
}

.bws-legal-note {
  margin-top: 28px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(155,32,32,.18);
  border: 1px solid rgba(155,32,32,.35);
  color: #ffe1e1;
  font-size: 14.5px;
  line-height: 1.55;
}

/* Responsive */
@media (max-width: 1240px) {
  .bws-topbar-nav { gap: 14px; }
  .bws-topbar-nav a { font-size: 12px; }
}

@media (max-width: 1040px) {
  .bws-topbar-nav { display: none; }
  .bws-target-grid { grid-template-columns: repeat(2, 1fr); }
  .bws-partner-grid,
  .bws-testimonial-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .bws-section { padding: 58px 18px; }
  .bws-container,
  .bw-network-inner,
  .bws-relevance-grid,
  .bws-approach-grid,
  .bws-contact-inner { grid-template-columns: 1fr; gap: 42px; }
  .bws-logo-full { width: 220px !important; }
  .bws-process-flow { grid-template-columns: 1fr; }
  .bws-process-step:not(:last-child)::after { display: none; }
  .bws-bottom-banner { grid-template-columns: 1fr; }
  .bws-footer-inner { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 86px; }
  section[id] { scroll-margin-top: 86px; }
  .bws-section { padding: 56px 16px; }
  .bws-topbar { padding: 14px 18px; }
  .bws-topbar-logo { width: 42px; height: 42px; }
  .bws-topbar-name { font-size: 13px; }
  .bws-topbar-sub { display: none; }
  .bws-topbar-cta { padding: 9px 14px; font-size: 12px !important; }
  .bws-logo-landing-mark { width: 164vw; max-height: 90vh; opacity: .78; }
  .bws-logo-landing-title .bws-line { font-size: clamp(23px, 7.4vw, 42px); }
  .bws-logo-landing-actions { bottom: 108px; align-items: stretch; }
  .bws-logo-landing-actions .bws-btn { width: 100%; }
  .bws-wrapper { padding: 34px 18px; }
  .bws-brand { gap: 16px; }
  .bws-logo-full { width: 140px !important; max-width: 38vw !important; }
  .bws-brand-name { font-size: clamp(22px, 7vw, 32px); white-space: normal; }
  .bws-brand-subline { font-size: 11px; white-space: normal; }
  .bws-actions,
  .bws-contact-actions { align-items: stretch; }
  .bws-btn { width: 100%; }
  .bws-target-grid,
  .bws-stats,
  .bws-form-grid { grid-template-columns: 1fr; }
  .bws-dot-grid { grid-template-columns: repeat(20, 1fr); }
  .bw-network-map-card { min-height: 460px; padding: 18px; }
  .bw-network-map-stage { width: 94%; }
  .bws-age-row,
  .bws-info-row,
  .bws-compare-item { grid-template-columns: 1fr; }
  .bws-output.active { grid-template-columns: 1fr; gap: 20px; }
  .bws-qr-box { width: 100%; max-width: 220px; height: auto; aspect-ratio: 1 / 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}


/* =========================================================
   Screenfit-Pass: ca. 10% kompaktere Live-Seite
========================================================= */
:root{--bws-max:1120px}
html{scroll-padding-top:86px}section[id]{scroll-margin-top:86px}
.bws-section{padding:66px 20px}.bws-header{margin-bottom:38px}.bws-eyebrow-line{margin-bottom:15px;font-size:12.5px}.bws-section-title{font-size:clamp(34px,4.5vw,61px);margin-bottom:16px}.bws-lead{font-size:16.5px;line-height:1.56}.bws-btn,.bws-pill-btn{min-height:47px;padding:0 23px;font-size:14px}.bws-topbar{padding:14px 25px}.bws-topbar-logo{width:43px;height:43px}.bws-topbar-name{font-size:14px}.bws-topbar-nav{gap:15px}.bws-topbar-nav a{font-size:12.5px}.bws-topbar-cta{padding:9px 18px;font-size:12.5px!important}.bws-logo-landing{min-height:92vh;padding:96px 20px 64px}.bws-logo-landing-inner{min-height:558px}.bws-logo-landing-mark{width:min(106vw,1008px)}.bws-logo-landing-title .bws-line{font-size:clamp(26px,5.6vw,94px)}.bws-hero{padding-top:72px}.bws-wrapper{padding:34px 25px}.bws-brand{gap:24px;margin-bottom:28px}.bws-logo-full{width:270px!important}.bws-brand-name{font-size:clamp(31px,3.8vw,58px)}.bws-brand-subline{font-size:clamp(14px,1.35vw,20px);margin-top:10px}.bws-container{gap:52px}.bws-title{font-size:clamp(29px,3.8vw,52px);margin-bottom:15px}.bws-subtitle{font-size:clamp(15px,1.6vw,17.5px);line-height:1.52;margin-bottom:24px}.bws-card,.bws-glass-card{border-radius:25px;padding:25px}.bws-card h3,.bws-glass-card h3{font-size:clamp(20px,2.35vw,31px)}.bws-card p,.bws-glass-card p,.bws-info-row span,.bws-status-item small,.bws-compare-item span{font-size:14px;line-height:1.48}.bws-status-item,.bws-info-row,.bws-compare-item{grid-template-columns:38px 1fr;gap:12px;padding:12px;border-radius:16px}.bws-icon,.bws-mini-icon{width:38px;height:38px;border-radius:13px}.bws-highlight{padding:16px 18px;border-radius:18px;font-size:14px}.bws-bottom-banner{margin-top:28px;padding:19px 21px;border-radius:22px}.bws-target-grid,.bws-partner-grid,.bws-testimonial-grid{gap:16px}.bws-target-card{min-height:256px}.bws-target-number{width:43px;height:43px;margin-bottom:19px;border-radius:14px}.bw-network-inner{gap:50px}.bw-network-list{gap:16px;margin-top:28px}.bw-network-map-card{min-height:576px;border-radius:31px;padding:30px}.bws-relevance-grid,.bws-approach-grid{gap:20px}.bws-stats{gap:12px;margin:20px 0}.bws-stat{padding:16px 14px;border-radius:18px}.bws-stat strong{font-size:25px}.bws-dot-wrap{padding:19px;border-radius:22px}.bws-age-list,.bws-compare{gap:10px;margin-top:18px}.bws-age-row{grid-template-columns:70px 1fr;padding:12px;border-radius:16px}.bws-warning-box{margin-top:20px;padding:18px 20px}.bws-footer-inner{gap:26px}.bws-footer{padding-top:50px}.bws-footer-bottom{padding:18px 22px}
@media(max-width:980px){.bws-section{padding:56px 18px}.bws-container,.bw-network-inner,.bws-relevance-grid,.bws-approach-grid{grid-template-columns:1fr}.bw-network-map-card{min-height:460px}.bws-target-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){.bws-section{padding:50px 16px}.bws-section-title{font-size:clamp(31px,9vw,48px)}.bws-target-grid{grid-template-columns:1fr!important}.bws-logo-full{width:220px!important}.bws-brand{align-items:flex-start;flex-direction:column}.bws-bottom-banner{grid-template-columns:1fr}}


/* =========================================================
   Zweiter Screenfit-Pass: nochmals ca. 10% kompaktere Live-Seite
========================================================= */
:root{--bws-max:1010px}
html{scroll-padding-top:77px}section[id]{scroll-margin-top:77px}
.bws-section{padding:59px 18px}.bws-header{margin-bottom:34px}.bws-eyebrow-line{margin-bottom:14px;font-size:11.5px}.bws-section-title{font-size:clamp(31px,4.05vw,55px);margin-bottom:14px}.bws-lead{font-size:15px;line-height:1.48}.bws-btn,.bws-pill-btn{min-height:42px;padding:0 21px;font-size:13px}
.bws-topbar{padding:13px 23px}.bws-topbar-logo{width:39px;height:39px}.bws-topbar-name{font-size:13px}.bws-topbar-sub{font-size:9px}.bws-topbar-nav{gap:14px}.bws-topbar-nav a{font-size:11.5px}.bws-topbar-cta{padding:8px 16px;font-size:11.5px!important}
.bws-logo-landing{min-height:84vh;padding:86px 18px 58px}.bws-logo-landing-inner{min-height:502px}.bws-logo-landing-mark{width:min(95vw,907px)}.bws-logo-landing-title .bws-line{font-size:clamp(23px,5vw,85px)}
.bws-hero{padding-top:65px}.bws-wrapper{padding:31px 23px}.bws-brand{gap:22px;margin-bottom:25px}.bws-logo-full{width:243px!important}.bws-brand-name{font-size:clamp(28px,3.4vw,52px)}.bws-brand-subline{font-size:clamp(13px,1.2vw,18px);margin-top:9px}.bws-container{gap:47px}.bws-title{font-size:clamp(26px,3.4vw,47px);margin-bottom:14px}.bws-subtitle{font-size:clamp(13.5px,1.45vw,16px);line-height:1.45;margin-bottom:22px}
.bws-card,.bws-glass-card{border-radius:23px;padding:23px}.bws-card h3,.bws-glass-card h3{font-size:clamp(18px,2.1vw,28px)}.bws-card p,.bws-glass-card p,.bws-info-row span,.bws-status-item small,.bws-compare-item span{font-size:13px;line-height:1.42}.bws-status-item,.bws-info-row,.bws-compare-item{grid-template-columns:34px 1fr;gap:11px;padding:11px;border-radius:14px}.bws-icon,.bws-mini-icon{width:34px;height:34px;border-radius:12px}.bws-highlight{padding:14px 16px;border-radius:16px;font-size:13px}.bws-bottom-banner{margin-top:25px;padding:17px 19px;border-radius:20px}
.bws-target-grid,.bws-partner-grid,.bws-testimonial-grid{gap:14px}.bws-target-card{min-height:230px}.bws-target-number{width:39px;height:39px;margin-bottom:17px;border-radius:13px}.bw-network-inner{gap:45px}.bw-network-list{gap:14px;margin-top:25px}.bw-network-map-card{min-height:518px;border-radius:28px;padding:27px}.bws-relevance-grid,.bws-approach-grid{gap:18px}.bws-stats{gap:11px;margin:18px 0}.bws-stat{padding:14px 13px;border-radius:16px}.bws-stat strong{font-size:23px}.bws-dot-wrap{padding:17px;border-radius:20px}.bws-age-list,.bws-compare{gap:9px;margin-top:16px}.bws-age-row{grid-template-columns:63px 1fr;padding:11px;border-radius:14px}.bws-warning-box{margin-top:18px;padding:16px 18px}.bws-footer-inner{gap:23px}.bws-footer{padding-top:45px}.bws-footer-bottom{padding:16px 20px}
@media(max-width:980px){.bws-section{padding:50px 16px}.bws-container,.bw-network-inner,.bws-relevance-grid,.bws-approach-grid{grid-template-columns:1fr}.bw-network-map-card{min-height:414px}.bws-target-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){.bws-section{padding:45px 14px}.bws-section-title{font-size:clamp(28px,8vw,43px)}.bws-target-grid{grid-template-columns:1fr!important}.bws-logo-full{width:198px!important}.bws-brand{align-items:flex-start;flex-direction:column}.bws-bottom-banner{grid-template-columns:1fr}}

/* ===== Footer (wie Startseite) – für Detailseiten & Landingpages ===== */
.footer{padding:32px 22px;border-top:1px solid rgba(246,243,241,.09);color:rgba(246,243,241,.56);font-size:13px}
.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer a{color:rgba(246,243,241,.76);margin-left:16px;text-decoration:none}
.footer a:hover{color:#fff}
@media (max-width:680px){.footer-inner{display:block}.footer a{display:inline-block;margin:10px 14px 0 0}}

/* ===== Mobile-Overflow-Fix: Grid-Items duerfen schrumpfen; breite Tabellen scrollen im Wrapper ===== */
.detail-main > *{min-width:0;}
.care-table-wrap,.pg-table-wrap{max-width:100%;overflow-x:auto;}

/* ===== Inline-SVG-Icons: unabhaengig von externen Dateien ===== */
svg.ico{display:block;}
.detail-icon svg.ico{width:74%;height:74%;filter:drop-shadow(0 0 22px rgba(127,180,255,.42));}
.rcard .ric svg.ico{width:30px;height:30px;filter:drop-shadow(0 0 6px rgba(127,180,255,.3));}


/* Bereiche-Dropdown im Header */
.nav-areas{position:relative;display:inline-flex;align-items:center}
.nav-areas>.nav-areas-t{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.nav-areas-t svg{width:11px;height:11px;opacity:.65;transition:transform .18s ease}
.nav-areas:hover .nav-areas-t svg,.nav-areas:focus-within .nav-areas-t svg{transform:rotate(180deg)}
.nav-areas-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:252px;background:#21384f;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:7px;box-shadow:0 24px 54px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07);opacity:0;visibility:hidden;transition:opacity .16s ease;z-index:90}
.nav-areas-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.nav-areas:hover .nav-areas-menu,.nav-areas:focus-within .nav-areas-menu{opacity:1;visibility:visible}
.nav-areas-menu a{display:block;padding:9px 13px;border-radius:8px;color:rgba(246,243,241,.92);font-size:13px;font-weight:600;letter-spacing:.2px;text-transform:none;white-space:nowrap;transition:background .12s ease,color .12s ease}
.nav-areas-menu a:hover{background:rgba(47,134,255,.16);color:#fff}


/* BEREICHE+DOWNLOADS-Cluster in Detail-/Tool-Headern */
.detail-extra{margin-left:auto;display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:750;color:rgba(246,243,241,.68)}
.detail-extra a{color:inherit;text-decoration:none}
.detail-extra a:hover{color:#fff}
.detail-extra .nav-areas-menu{left:auto;right:0}
.detail-extra .nav-areas-menu a{color:rgba(246,243,241,.92)}
.detail-extra .nav-areas-menu a:hover{color:#fff}
@media(max-width:720px){.detail-extra{display:none}}
