/* =====================================================================
   BDG Solutions GmbH — Shared Stylesheet
   Style: "Structured Intelligence" / Corporate Modern
   ---------------------------------------------------------------------
   Fonts are loaded per-page via <link> in <head> (Google Fonts).
   Swap the variables in :root below to drop in your own design system.
   No JavaScript is used anywhere on this site.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. DESIGN TOKENS  —  edit these to re-theme the entire site
   --------------------------------------------------------------------- */
:root {
  /* --- Brand & surface colors --- */
  --color-bg:              #FAFAF7;  /* page canvas (warm paper white) */
  --color-surface:         #FFFFFF;  /* cards, header, form fields     */
  --color-surface-2:       #F3F3EE;  /* subtle alternate panels        */
  --color-ink:             #0F1522;  /* headings / strongest text      */
  --color-text:            #353B49;  /* body copy                      */
  --color-muted:           #586072;  /* secondary / captions           */
  --color-border:          #E6E5DE;  /* hairline dividers              */
  --color-border-strong:   #D4D3CA;  /* emphasised borders             */

  /* --- Accent (used sparingly, the single brand pop) --- */
  --color-accent:          #E30039;  /* brand crimson                  */
  --color-accent-strong:   #B00030;  /* hover / pressed                */
  --color-accent-soft:     #FDE7EC;  /* tinted backgrounds             */
  --color-on-accent:       #FFFFFF;  /* text on accent                 */

  /* --- Dark sections (footer, CTA bands) --- */
  --color-ink-bg:          #0F1522;
  --color-ink-bg-2:        #171E2E;
  --color-on-ink:          #EAEBF1;
  --color-on-ink-muted:    #9AA1B4;
  --color-on-ink-border:   #2A3142;

  /* --- Semantic (small accents on the comparison table only) --- */
  --color-positive:        #127A53;
  --color-negative:        #B23A3A;

  /* --- Typography --- */
  --font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;
  --font-body:    "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  --text-xs:   0.8125rem;   /* 13px */
  --text-sm:   0.9375rem;   /* 15px */
  --text-base: 1.0625rem;   /* 17px */
  --text-lg:   1.1875rem;   /* 19px */
  --text-xl:   1.375rem;    /* 22px */
  --text-2xl:  clamp(1.55rem, 1.1rem + 2vw, 2.1rem);
  --text-3xl:  clamp(1.95rem, 1.3rem + 2.8vw, 2.85rem);
  --text-4xl:  clamp(2.4rem, 1.5rem + 4.2vw, 4rem);

  --leading-tight: 1.12;
  --leading-snug:  1.3;
  --leading-body:  1.62;

  --tracking-label: 0.14em;  /* uppercase eyebrows */

  /* --- Spacing scale (8px base) --- */
  --space-2xs: 4px;
  --space-xs:  8px;
  --space-sm:  12px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 96px;
  --space-5xl: 128px;

  --section-y: clamp(56px, 7vw, 112px);  /* vertical rhythm of sections */

  /* --- Layout --- */
  --container:        1400px;
  --container-narrow: 760px;
  --gutter:           clamp(20px, 5vw, 44px);

  /* --- Radius --- */
  --radius-xs:   6px;
  --radius-sm:   10px;
  --radius-md:   14px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-pill: 999px;

  /* --- Elevation (subtle; structure comes mainly from borders) --- */
  --shadow-sm: 0 1px 2px rgba(15,21,34,.04), 0 1px 3px rgba(15,21,34,.05);
  --shadow-md: 0 6px 16px -6px rgba(15,21,34,.10), 0 2px 6px -2px rgba(15,21,34,.06);
  --shadow-lg: 0 24px 50px -18px rgba(15,21,34,.22);

  /* --- Motion --- */
  --transition: 150ms ease;
}

/* ---------------------------------------------------------------------
   2. RESET & BASE
   --------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

* { margin: 0; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg, video { display: block; max-width: 100%; }
svg { height: auto; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--color-ink);
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
  font-weight: 600;
  text-wrap: balance;
}

p { text-wrap: pretty; }

a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-strong); }

ul, ol { padding: 0; list-style: none; }

button, input, select, textarea { font: inherit; color: inherit; }

:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
  }
}

/* ---------------------------------------------------------------------
   3. UTILITIES
   --------------------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.container--narrow { max-width: var(--container-narrow); }

.section { padding-block: var(--section-y); }
.section--tight { padding-block: clamp(40px, 5vw, 72px); }
.section--alt { background: var(--color-surface-2); }
.section--ink { background: var(--color-ink-bg); color: var(--color-on-ink); }
.section--ink h1, .section--ink h2, .section--ink h3 { color: #fff; }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute;
  left: var(--space-md);
  top: -120px;
  z-index: 999;
  background: var(--color-ink);
  color: #fff;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-sm);
  font-weight: 600;
  transition: top var(--transition);
}
.skip-link:focus { top: var(--space-md); color: #fff; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-accent);
  font-weight: 700;
}
.eyebrow::before {
  content: "";
  width: 22px; height: 2px;
  background: var(--color-accent);
}
.eyebrow--ink { color: var(--color-on-ink-muted); }
.eyebrow--ink::before { background: var(--color-accent); }

.lead {
  font-size: var(--text-lg);
  color: var(--color-muted);
  line-height: 1.55;
  max-width: 60ch;
}

.section-head { max-width: 64ch; margin-bottom: var(--space-2xl); }
.section-head h2 { font-size: var(--text-3xl); margin-top: var(--space-sm); }
.section-head .lead { margin-top: var(--space-md); }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head--center .lead { margin-inline: auto; }
.section-head--center .eyebrow { justify-content: center; }

/* ---------------------------------------------------------------------
   4. BUTTONS
   --------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: 0.85em 1.4em;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  border-radius: var(--radius-pill);
  border: 2px solid transparent;
  cursor: pointer;
  transition: background var(--transition), color var(--transition),
              border-color var(--transition), transform var(--transition);
  text-align: center;
}
.btn svg { width: 1.05em; height: 1.05em; }

.btn--primary { background: var(--color-accent); color: var(--color-on-accent); border-color: var(--color-accent); }
.btn--primary:hover { background: var(--color-accent-strong); border-color: var(--color-accent-strong); color: #fff; }

.btn--secondary { background: transparent; color: var(--color-ink); border-color: var(--color-border-strong); }
.btn--secondary:hover { border-color: var(--color-ink); color: var(--color-ink); background: var(--color-surface); }

.btn--ghost { background: transparent; color: var(--color-accent); border-color: transparent; padding-inline: 0.4em; }
.btn--ghost:hover { color: var(--color-accent-strong); gap: var(--space-sm); }

.btn--on-ink { background: #fff; color: var(--color-ink); border-color: #fff; }
.btn--on-ink:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }

.btn--lg { padding: 1.05em 1.8em; font-size: var(--text-base); }
.btn--block { width: 100%; }

.btn-group { display: flex; flex-wrap: wrap; gap: var(--space-md); }

/* Inline text link with arrow */
.text-link {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  font-weight: 700; font-size: var(--text-sm);
}
.text-link svg { width: 1em; height: 1em; transition: transform var(--transition); }
.text-link:hover svg { transform: translateX(4px); }

/* ---------------------------------------------------------------------
   5. HEADER & NAV  (always-visible navigation, no JS)
   --------------------------------------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: color-mix(in srgb, var(--color-bg) 88%, transparent);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--color-border);
}
.header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  min-height: 68px;
  padding-block: var(--space-xs);
}

.brand { display: inline-flex; align-items: center; gap: var(--space-sm); color: var(--color-ink); margin-right: auto; flex-shrink: 0; }
.brand:hover { color: var(--color-ink); }
.brand-mark {
  width: 38px; height: 38px;
  border-radius: var(--radius-sm);
  background: var(--color-ink);
  color: #fff;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.brand-mark svg { width: 22px; height: 22px; }
.brand-name { font-family: var(--font-display); font-weight: 700; font-size: 1.18rem; letter-spacing: -0.02em; line-height: 1; }
.brand-name span { color: var(--color-muted); font-weight: 500; }
.brand-sub { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-muted); margin-top: 3px; }

/* Always-visible navigation, no JS. Wraps to its own full-width row
   beneath the brand on narrow screens; sits inline from 960px up. */
.nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2xs) 4px;
  order: 3;
  flex: 1 0 100%;
  margin-top: var(--space-xs);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border);
}
.nav-link {
  display: inline-block;
  padding: 0.5em 0.7em;
  border-radius: var(--radius-sm);
  color: var(--color-text);
  font-weight: 600;
  font-size: 0.92rem;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}
.nav-link:hover { background: var(--color-surface-2); color: var(--color-ink); }
.nav-link[aria-current="page"] { color: var(--color-accent); background: var(--color-accent-soft); }
.nav-cta { flex-shrink: 0; }

@media (min-width: 860px) {
  .header-inner { flex-wrap: nowrap; gap: var(--space-sm); min-height: 72px; }
  .nav { order: 0; flex: 0 1 auto; flex-wrap: nowrap; gap: 0; margin-top: 0; padding-top: 0; border-top: 0; }
  .nav-link { font-size: 0.85rem; padding: 0.45em 0.5em; }
  .nav-cta { margin-left: var(--space-xs); padding: 0.6em 1em; font-size: 0.85rem; }
  .site-header .brand-sub { display: none; }   /* reclaim width for the inline menu */
}
@media (min-width: 1024px) {
  .header-inner { gap: var(--space-md); }
  .site-header .brand-sub { display: block; }
  .nav-link { padding: 0.5em 0.62em; }
  .nav-cta { margin-left: var(--space-sm); padding: 0.66em 1.15em; }
}
@media (min-width: 1200px) {
  .nav { gap: 1px; }
  .nav-link { font-size: 0.9rem; padding: 0.55em 0.75em; }
  .nav-cta { font-size: var(--text-sm); }
}

/* ---------------------------------------------------------------------
   6. HERO (homepage)
   --------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; padding-top: clamp(40px, 6vw, 80px); padding-bottom: var(--section-y); }
.hero::before {
  /* faint blueprint grid — pure CSS, reinforces the "digitalisation" theme */
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--color-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 70% 20%, #000 0%, transparent 75%);
          mask-image: radial-gradient(ellipse 80% 70% at 70% 20%, #000 0%, transparent 75%);
  opacity: 0.6;
  pointer-events: none;
}
.hero > .container { position: relative; }
.hero-grid { display: grid; gap: var(--space-3xl); align-items: stretch; }
.hero-media { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); box-shadow: var(--shadow-lg); min-height: 340px; background: linear-gradient(135deg, var(--color-accent-soft) 0%, var(--color-surface-2) 100%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Premium full-bleed image hero */
.hero--image {
  min-height: min(86vh, 740px);
  display: flex;
  align-items: center;
  padding-block: var(--space-3xl);
  color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero--image::before { display: none; }
.hero--image::after {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(12,17,28,.92) 0%, rgba(12,17,28,.78) 32%, rgba(12,17,28,.42) 64%, rgba(12,17,28,.18) 100%);
}
.hero--image > .container { position: relative; z-index: 2; }
.hero--image .hero-content { max-width: 620px; }
.hero-layout { display: grid; gap: var(--space-2xl); align-items: center; }
.hero-figure { min-width: 0; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid rgba(255,255,255,.16); box-shadow: var(--shadow-lg); aspect-ratio: 4 / 5; background-size: cover; background-position: center; }
@media (max-width: 899px) { .hero-figure { aspect-ratio: 16 / 10; } }
@media (min-width: 900px) { .hero-layout { grid-template-columns: 1.04fr 0.96fr; gap: var(--space-3xl); } }
.hero--image h1 { color: #fff; font-weight: 700; }
.hero--image .lead { color: rgba(255,255,255,.85); }
.hero--image .btn-group { margin-top: var(--space-2xl); }
.hero--image .hero-trust { border-top-color: rgba(255,255,255,.2); }
.hero--image .hero-trust p { color: rgba(255,255,255,.62); }
.hero--image .logo-chip { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.24); color: #fff; }
.eyebrow--on-image { color: #fff; }
.eyebrow--on-image::before { background: var(--color-accent); }
.btn--on-image { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.btn--on-image:hover { background: #fff; color: var(--color-ink); border-color: #fff; }
@media (max-width: 767px) {
  .hero--image { min-height: 0; padding-block: var(--space-4xl); }
  .hero--image::after { background: linear-gradient(180deg, rgba(12,17,28,.68) 0%, rgba(12,17,28,.82) 100%); }
}
.hero-content { max-width: 640px; }
.hero h1 { font-size: var(--text-4xl); margin-top: var(--space-md); }
.hero h1 em { font-style: normal; color: var(--color-accent); }
.hero .lead { margin-top: var(--space-lg); font-size: var(--text-lg); }
.hero .btn-group { margin-top: var(--space-2xl); }

.hero-trust { margin-top: var(--space-2xl); padding-top: var(--space-lg); border-top: 1px solid var(--color-border); }
.hero-trust p { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-muted); margin-bottom: var(--space-sm); }

.logo-row { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); align-items: center; }
.logo-chip {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-ink);
  padding: 0.45em 0.85em;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  white-space: nowrap;
}

@media (min-width: 900px) {
  .hero-grid { grid-template-columns: 1.05fr 1fr; }
}

/* ---- CSS ERP Dashboard mock (hero visual) ---- */
.dashboard {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  font-size: 14px;
}
.dashboard-bar {
  display: flex; align-items: center; gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-ink-bg);
  color: var(--color-on-ink);
}
.dashboard-dots { display: flex; gap: 6px; }
.dashboard-dots i { width: 10px; height: 10px; border-radius: 50%; background: #3a4256; display: block; }
.dashboard-title { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--color-on-ink); }
.dashboard-sync {
  margin-left: auto; display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 11px; color: #8be0b6;
}
.dashboard-sync::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2fd181; box-shadow: 0 0 0 3px rgba(47,209,129,.2); }

.dashboard-body { display: grid; grid-template-columns: 56px 1fr; }
.dashboard-side { background: var(--color-surface-2); border-right: 1px solid var(--color-border); padding: var(--space-md) 0; display: flex; flex-direction: column; gap: 14px; align-items: center; }
.dashboard-side i { width: 22px; height: 4px; border-radius: 2px; background: var(--color-border-strong); display: block; }
.dashboard-side i:first-child { width: 22px; height: 22px; border-radius: 6px; background: var(--color-accent); }
.dashboard-main { padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-md); }

.kpi-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-sm); }
.kpi { border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-sm); background: var(--color-bg); }
.kpi span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-muted); }
.kpi strong { display: block; font-family: var(--font-display); font-size: 1.25rem; color: var(--color-ink); margin-top: 4px; line-height: 1; }
.kpi b { font-size: 11px; font-weight: 700; color: var(--color-positive); }
.kpi:first-child { border-color: var(--color-accent); background: var(--color-accent-soft); }

.chart { border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-md); background: var(--color-bg); }
.chart-head { display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-muted); margin-bottom: var(--space-sm); }
.bars { display: flex; align-items: flex-end; gap: 8px; height: 84px; }
.bars i { flex: 1; border-radius: 3px 3px 0 0; background: var(--color-border-strong); display: block; }
.bars i:nth-child(1){ height: 38%; } .bars i:nth-child(2){ height: 52%; }
.bars i:nth-child(3){ height: 45%; } .bars i:nth-child(4){ height: 68%; }
.bars i:nth-child(5){ height: 60%; } .bars i:nth-child(6){ height: 82%; }
.bars i:nth-child(7){ height: 74%; background: var(--color-accent); }
.bars i:nth-child(8){ height: 96%; background: var(--color-accent); }

.dash-rows { display: flex; flex-direction: column; gap: 6px; }
.dash-row { display: flex; align-items: center; gap: var(--space-sm); font-size: 12px; padding: 7px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-xs); background: var(--color-surface); }
.dash-row i { width: 8px; height: 8px; border-radius: 50%; background: var(--color-positive); flex-shrink: 0; }
.dash-row b { font-family: var(--font-mono); color: var(--color-ink); font-weight: 700; }
.dash-row span { color: var(--color-muted); }
.dash-row em { margin-left: auto; font-style: normal; font-family: var(--font-mono); font-size: 11px; color: var(--color-positive); }

/* ---------------------------------------------------------------------
   7. STATS BAND
   --------------------------------------------------------------------- */
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.stat { background: var(--color-surface); padding: var(--space-xl) var(--space-lg); }
.stat-num { font-family: var(--font-display); font-size: clamp(2.1rem, 1.4rem + 2.5vw, 3rem); color: var(--color-ink); line-height: 1; letter-spacing: -0.03em; }
.stat-num span { color: var(--color-accent); }
.stat-label { margin-top: var(--space-sm); color: var(--color-muted); font-size: var(--text-sm); }
.section--ink .stats { background: var(--color-on-ink-border); border-color: var(--color-on-ink-border); }
.section--ink .stat { background: var(--color-ink-bg-2); }
.section--ink .stat-num { color: #fff; }
.section--ink .stat-label { color: var(--color-on-ink-muted); }
@media (min-width: 760px) { .stats { grid-template-columns: repeat(4, 1fr); } }

/* ---------------------------------------------------------------------
   8. CARD GRIDS
   --------------------------------------------------------------------- */
.grid { display: grid; gap: var(--space-lg); }
.grid-2 { grid-template-columns: 1fr; }
.grid-3 { grid-template-columns: 1fr; }
.grid-4 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); } }

.card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); }
.card-icon {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  border-radius: var(--radius-sm);
  background: var(--color-accent-soft);
  color: var(--color-accent);
  margin-bottom: var(--space-md);
}
.card-icon svg { width: 24px; height: 24px; }
.card h3 { font-size: var(--text-xl); margin-bottom: var(--space-xs); }
.card p { color: var(--color-muted); font-size: var(--text-sm); margin-bottom: var(--space-md); }
.card .text-link { margin-top: auto; }

/* Value / feature card with number */
.value-card { display: flex; flex-direction: column; gap: var(--space-sm); }
.value-num { font-family: var(--font-mono); font-size: var(--text-sm); color: var(--color-accent); font-weight: 700; }

/* ---------------------------------------------------------------------
   9. ALTERNATING FEATURE ROWS (services detail)
   --------------------------------------------------------------------- */
.feature-row { display: grid; gap: var(--space-2xl); align-items: center; padding-block: clamp(32px, 4vw, 56px); border-top: 1px solid var(--color-border); }
.feature-row:first-of-type { border-top: 0; }
.feature-row h3 { font-size: var(--text-2xl); margin-top: var(--space-sm); }
.feature-row p { margin-top: var(--space-md); color: var(--color-muted); }
.feature-list { margin-top: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); }
.feature-list li { display: flex; gap: var(--space-sm); align-items: flex-start; font-size: var(--text-sm); color: var(--color-text); }
.feature-list svg { width: 20px; height: 20px; color: var(--color-accent); flex-shrink: 0; margin-top: 2px; }
@media (min-width: 860px) {
  .feature-row { grid-template-columns: 1fr 1fr; }
  .feature-row--reverse .feature-media { order: -1; }
}

/* Decorative media panel (CSS placeholder for imagery) */
.media-panel {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  overflow: hidden;
  background: var(--color-surface-2);
}
.media-panel::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--color-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.7;
}
.media-panel .glyph {
  position: absolute; inset: 0;
  display: grid; place-items: center;
  color: var(--color-accent);
}
.media-panel .glyph svg { width: 76px; height: 76px; opacity: 0.9; }
.media-panel .tag {
  position: absolute; left: var(--space-md); bottom: var(--space-md);
  font-family: var(--font-mono); font-size: var(--text-xs);
  background: var(--color-surface); border: 1px solid var(--color-border);
  padding: 0.4em 0.7em; border-radius: var(--radius-pill); color: var(--color-ink);
}
.media-panel--a { background: linear-gradient(135deg, #eef1fd, #f6f3ee); }
.media-panel--b { background: linear-gradient(135deg, #eafaf2, #f4f6f1); }
.media-panel--c { background: linear-gradient(135deg, #fdf0ee, #f5f3f0); }
.media-panel--d { background: linear-gradient(135deg, #eef6fd, #f1f4f6); }

/* ---------------------------------------------------------------------
   10. PROCESS TIMELINE  (unique section)
   --------------------------------------------------------------------- */
.process { display: grid; gap: var(--space-lg); counter-reset: step; }
.process-step {
  position: relative;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  padding-top: var(--space-2xl);
}
.process-step .step-num {
  position: absolute; top: calc(-1 * var(--space-md)); left: var(--space-xl);
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: var(--color-ink);
  color: #fff;
  font-family: var(--font-display); font-weight: 700;
  border-radius: var(--radius-sm);
}
.process-step h3 { font-size: var(--text-lg); margin-bottom: var(--space-xs); }
.process-step p { color: var(--color-muted); font-size: var(--text-sm); }
.process-step .step-kicker { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-accent); text-transform: uppercase; letter-spacing: 0.08em; }
@media (min-width: 760px) { .process { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) {
  .process { grid-template-columns: repeat(5, 1fr); gap: var(--space-md); }
  .process-step { padding: var(--space-lg); padding-top: var(--space-2xl); }
  /* connecting line */
  .process-step:not(:last-child)::after {
    content: ""; position: absolute; top: calc(-1 * var(--space-md) + 22px);
    left: calc(var(--space-lg) + 44px); right: calc(-1 * var(--space-md) - 1px);
    height: 2px; background: var(--color-border-strong);
  }
}

/* ---------------------------------------------------------------------
   11. COMPARISON TABLE  (unique section)
   --------------------------------------------------------------------- */
.compare-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.compare-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.compare-table caption { text-align: left; padding: var(--space-md) var(--space-lg); font-size: var(--text-sm); color: var(--color-muted); border-bottom: 1px solid var(--color-border); }
.compare-table th, .compare-table td { padding: var(--space-md) var(--space-lg); text-align: left; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.compare-table thead th { font-family: var(--font-display); font-size: var(--text-sm); color: var(--color-ink); background: var(--color-surface-2); }
.compare-table thead th:last-child { background: var(--color-accent-soft); color: var(--color-accent-strong); }
.compare-table tbody th { font-weight: 600; color: var(--color-ink); width: 34%; }
.compare-table td:last-child { border-left: 2px solid var(--color-accent-soft); }
.compare-table tr:last-child td, .compare-table tr:last-child th { border-bottom: 0; }
.cmp { display: inline-flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--text-sm); }
.cmp svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }
.cmp--no { color: var(--color-negative); }
.cmp--no span { color: var(--color-muted); }
.cmp--yes { color: var(--color-positive); }
.cmp--yes span { color: var(--color-text); }

/* ---------------------------------------------------------------------
   12. FAQ ACCORDION  (CSS <details>/<summary>, no JS)
   --------------------------------------------------------------------- */
.faq { display: grid; gap: var(--space-sm); max-width: 820px; }
.faq-item {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.faq-item[open] { border-color: var(--color-border-strong); }
.faq-q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  padding: var(--space-lg);
  cursor: pointer; list-style: none;
  font-family: var(--font-display); font-weight: 600; font-size: var(--text-lg); color: var(--color-ink);
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q .faq-icon { flex-shrink: 0; width: 26px; height: 26px; position: relative; }
.faq-q .faq-icon::before, .faq-q .faq-icon::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: 14px; height: 2px; background: var(--color-accent);
  transform: translate(-50%, -50%); transition: transform var(--transition), opacity var(--transition);
}
.faq-q .faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[open] .faq-q .faq-icon::after { opacity: 0; }
.faq-a { padding: 0 var(--space-lg) var(--space-lg); color: var(--color-muted); font-size: var(--text-base); max-width: 68ch; }

/* ---------------------------------------------------------------------
   13. TESTIMONIALS  (unique grid section)
   --------------------------------------------------------------------- */
.testimonials { display: grid; gap: var(--space-lg); }
@media (min-width: 700px) { .testimonials { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .testimonials { grid-template-columns: repeat(3, 1fr); } }
.testimonial {
  display: flex; flex-direction: column; gap: var(--space-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
}
.testimonial blockquote { font-size: var(--text-base); color: var(--color-text); line-height: 1.55; }
.testimonial-author { display: flex; align-items: center; gap: var(--space-sm); margin-top: auto; }
.avatar {
  width: 46px; height: 46px; border-radius: var(--radius-pill);
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; color: #fff; font-size: 0.95rem;
  flex-shrink: 0;
}
.avatar--1 { background: linear-gradient(135deg, #E30039, #ff5d7e); }
.avatar--2 { background: linear-gradient(135deg, #127A53, #2fb37a); }
.avatar--3 { background: linear-gradient(135deg, #6a3fd1, #9f7bf0); }
.avatar--4 { background: linear-gradient(135deg, #b2603a, #e0915f); }
.avatar--5 { background: linear-gradient(135deg, #2b3950, #56688a); }
.avatar--6 { background: linear-gradient(135deg, #0f7d8c, #43b3c0); }
.testimonial-author b { display: block; color: var(--color-ink); font-size: var(--text-sm); }
.testimonial-author span { display: block; color: var(--color-muted); font-size: var(--text-xs); }

/* ---------------------------------------------------------------------
   14. PULL QUOTE (single, for homepage)
   --------------------------------------------------------------------- */
.pullquote { max-width: 900px; margin-inline: auto; text-align: center; }
.pullquote blockquote { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 1rem + 1.8vw, 2.1rem); line-height: 1.3; color: var(--color-ink); letter-spacing: -0.02em; }
.pullquote .testimonial-author { justify-content: center; margin-top: var(--space-xl); }

/* ---------------------------------------------------------------------
   15. CTA BAND
   --------------------------------------------------------------------- */
.cta-band { position: relative; overflow: hidden; }
.cta-band::before {
  content: ""; position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--color-on-ink-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-on-ink-border) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse 70% 80% at 85% 30%, #000, transparent 70%);
          mask-image: radial-gradient(ellipse 70% 80% at 85% 30%, #000, transparent 70%);
  opacity: 0.5;
}
.cta-band .container { position: relative; }
.cta-inner { display: grid; gap: var(--space-xl); align-items: center; }
.cta-inner h2 { font-size: var(--text-3xl); color: #fff; }
.cta-inner p { color: var(--color-on-ink-muted); margin-top: var(--space-sm); font-size: var(--text-lg); max-width: 52ch; }
@media (min-width: 860px) {
  .cta-inner { grid-template-columns: 1.4fr 1fr; }
  .cta-inner .btn-group { justify-content: flex-end; }
}

/* ---------------------------------------------------------------------
   16. PAGE HEADER (inner pages)
   --------------------------------------------------------------------- */
.page-header { padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--color-border); }
.page-header h1 { font-size: var(--text-4xl); margin-top: var(--space-md); }
.page-header .lead { margin-top: var(--space-lg); font-size: var(--text-lg); }
.breadcrumb { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.breadcrumb a { color: var(--color-muted); }
.breadcrumb a:hover { color: var(--color-accent); }

/* ---------------------------------------------------------------------
   17. BLOG
   --------------------------------------------------------------------- */
.post-feature {
  display: grid; gap: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-surface);
  margin-bottom: var(--space-2xl);
}
.post-feature:hover { box-shadow: var(--shadow-md); }
.post-feature .post-thumb { aspect-ratio: 16/10; }
.post-feature .post-body { padding: var(--space-2xl); display: flex; flex-direction: column; gap: var(--space-md); }
.post-feature h2 { font-size: var(--text-2xl); }
@media (min-width: 860px) { .post-feature { grid-template-columns: 1.1fr 1fr; } .post-feature .post-thumb { aspect-ratio: auto; } }

.posts { display: grid; gap: var(--space-lg); }
@media (min-width: 640px) { .posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .posts { grid-template-columns: repeat(3, 1fr); } }

.post-card {
  display: flex; flex-direction: column;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.post-card:hover { border-color: var(--color-border-strong); box-shadow: var(--shadow-md); }
.post-thumb {
  position: relative; aspect-ratio: 16/10; overflow: hidden;
  display: grid; place-items: center;
}
.post-thumb::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px);
  background-size: 26px 26px; opacity: 0.5;
}
.post-thumb .glyph { position: relative; color: rgba(15,21,34,.34); }
.post-thumb .glyph svg { width: 60px; height: 60px; }
.post-thumb--a { background: linear-gradient(135deg, #dbe2fb, #eef0ee); }
.post-thumb--b { background: linear-gradient(135deg, #d6f2e4, #eef1ec); }
.post-thumb--c { background: linear-gradient(135deg, #f7ddd6, #efeeec); }
.post-body { padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); flex: 1; }
.post-tag {
  align-self: flex-start;
  font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--color-accent); background: var(--color-accent-soft);
  padding: 0.35em 0.7em; border-radius: var(--radius-pill);
}
.post-body h3 { font-size: var(--text-lg); }
.post-body h2 a, .post-body h3 a { color: var(--color-ink); }
.post-body h2 a:hover, .post-body h3 a:hover { color: var(--color-accent); }
.post-excerpt { color: var(--color-muted); font-size: var(--text-sm); }
.post-meta { margin-top: auto; padding-top: var(--space-sm); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-muted); display: flex; flex-wrap: wrap; gap: var(--space-xs); align-items: center; }
.post-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--color-border-strong); }

.blog-layout { display: grid; gap: var(--space-3xl); }
@media (min-width: 1000px) { .blog-layout { grid-template-columns: 1fr 300px; } }
.blog-aside { display: flex; flex-direction: column; gap: var(--space-xl); }
.aside-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-xl); }
.aside-card h3 { font-size: var(--text-lg); margin-bottom: var(--space-md); }
.topic-list li + li { border-top: 1px solid var(--color-border); }
.topic-list a { display: flex; justify-content: space-between; padding: 0.6em 0; color: var(--color-text); font-size: var(--text-sm); font-weight: 600; }
.topic-list a:hover { color: var(--color-accent); }
.topic-list span { font-family: var(--font-mono); color: var(--color-muted); font-weight: 400; }

/* ---------------------------------------------------------------------
   18. CONTACT
   --------------------------------------------------------------------- */
.contact-layout { display: grid; gap: var(--space-3xl); align-items: start; }
@media (min-width: 920px) { .contact-layout { grid-template-columns: 1fr 1.1fr; } }

.info-list { display: flex; flex-direction: column; gap: var(--space-md); margin-top: var(--space-xl); }
.info-item { display: flex; gap: var(--space-md); align-items: flex-start; padding: var(--space-lg); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.info-item .info-icon { width: 44px; height: 44px; border-radius: var(--radius-sm); background: var(--color-accent-soft); color: var(--color-accent); display: grid; place-items: center; flex-shrink: 0; }
.info-item .info-icon svg { width: 22px; height: 22px; }
.info-item dt { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-muted); }
.info-item dd { font-size: var(--text-base); color: var(--color-ink); font-weight: 600; margin-top: 2px; }
.info-item dd a { color: var(--color-ink); }
.info-item dd a:hover { color: var(--color-accent); }

.map-placeholder {
  position: relative; margin-top: var(--space-xl);
  aspect-ratio: 16/9; border-radius: var(--radius-md); overflow: hidden;
  border: 1px solid var(--color-border);
  background:
    radial-gradient(circle at 60% 45%, rgba(227,0,57,.10), transparent 40%),
    linear-gradient(135deg, #eef1f6, #f4f4ef);
}
.map-placeholder::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);
  background-size: 38px 38px; opacity: 0.8;
}
.map-pin { position: absolute; top: 45%; left: 60%; transform: translate(-50%, -100%); color: var(--color-accent); }
.map-pin svg { width: 40px; height: 40px; filter: drop-shadow(0 6px 10px rgba(15,21,34,.25)); }
.map-label { position: absolute; left: var(--space-md); bottom: var(--space-md); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-sm) var(--space-md); font-size: var(--text-sm); box-shadow: var(--shadow-sm); }
.map-label b { display: block; color: var(--color-ink); font-family: var(--font-display); }
.map-label span { color: var(--color-muted); font-size: var(--text-xs); }

/* ---- Form ---- */
.form { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(20px, 4vw, 40px); }
.form fieldset { border: 0; padding: 0; }
.form legend { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-ink); margin-bottom: var(--space-xs); }
.form-intro { color: var(--color-muted); font-size: var(--text-sm); margin-bottom: var(--space-xl); }
.field-grid { display: grid; gap: var(--space-lg); }
@media (min-width: 600px) { .field-grid.two { grid-template-columns: 1fr 1fr; } }
.field { display: flex; flex-direction: column; gap: var(--space-xs); }
.field label { font-weight: 600; font-size: var(--text-sm); color: var(--color-ink); }
.field .req { color: var(--color-accent); }
.field .opt { font-weight: 400; color: var(--color-muted); font-size: var(--text-xs); }
.input, .textarea, .select {
  width: 100%;
  padding: 0.8em 0.95em;
  font-size: var(--text-base);
  color: var(--color-ink);
  background: var(--color-bg);
  border: 1.5px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}
.input::placeholder, .textarea::placeholder { color: #9aa1ad; }
.input:hover, .textarea:hover, .select:hover { border-color: var(--color-muted); }
.input:focus, .textarea:focus, .select:focus {
  outline: none;
  border-color: var(--color-accent);
  background: var(--color-surface);
  box-shadow: 0 0 0 3px var(--color-accent-soft);
}
.textarea { resize: vertical; min-height: 140px; }
.select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23586072' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.85em center; padding-right: 2.6em; }
/* Show invalid state only after the user interacts (no JS needed) */
.input:user-invalid, .textarea:user-invalid, .select:user-invalid { border-color: var(--color-negative); }
.field-hint { font-size: var(--text-xs); color: var(--color-muted); }

.checkbox-field { display: flex; gap: var(--space-sm); align-items: flex-start; }
.checkbox-field input { width: 1.2em; height: 1.2em; margin-top: 0.2em; accent-color: var(--color-accent); flex-shrink: 0; }
.checkbox-field label { font-weight: 400; color: var(--color-text); font-size: var(--text-sm); }
.form-actions { margin-top: var(--space-xl); display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; }
.form-actions .field-hint { margin-left: auto; }

/* ---------------------------------------------------------------------
   19. FOOTER
   --------------------------------------------------------------------- */
.site-footer { background: var(--color-ink-bg); color: var(--color-on-ink); padding-top: var(--space-4xl); }
.footer-grid { display: grid; gap: var(--space-2xl); padding-bottom: var(--space-3xl); }
@media (min-width: 700px) { .footer-grid { grid-template-columns: 1.6fr 1fr 1fr; } }
@media (min-width: 1000px) { .footer-grid { grid-template-columns: 1.8fr 1fr 1fr 1.4fr; } }
.footer-brand .brand { color: #fff; }
.footer-brand .brand-mark { background: #fff; }
.footer-brand .brand-mark svg { color: var(--color-ink); }
.footer-brand .brand-name { color: #fff; }
.footer-brand .brand-name span { color: var(--color-on-ink-muted); }
.footer-brand .brand-sub { color: var(--color-on-ink-muted); }
.footer-about { margin-top: var(--space-md); color: var(--color-on-ink-muted); font-size: var(--text-sm); max-width: 40ch; }
.footer-col h4 { color: #fff; font-size: var(--text-sm); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; margin-bottom: var(--space-md); }
.footer-col ul { display: flex; flex-direction: column; gap: var(--space-sm); }
.footer-col a { color: var(--color-on-ink-muted); font-size: var(--text-sm); }
.footer-col a:hover { color: #fff; }
.footer-contact address { font-style: normal; color: var(--color-on-ink-muted); font-size: var(--text-sm); line-height: 1.7; }
.footer-contact a { color: var(--color-on-ink); }
.footer-contact a:hover { color: #fff; }

.social { display: flex; gap: var(--space-sm); margin-top: var(--space-md); }
.social-link {
  width: 42px; height: 42px; display: grid; place-items: center;
  border: 1px solid var(--color-on-ink-border); border-radius: var(--radius-sm);
  color: var(--color-on-ink); transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.social-link:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.social-link svg { width: 20px; height: 20px; }

.footer-bottom {
  border-top: 1px solid var(--color-on-ink-border);
  padding-block: var(--space-lg);
  display: flex; flex-wrap: wrap; gap: var(--space-md);
  justify-content: space-between; align-items: center;
}
.footer-bottom p { color: var(--color-on-ink-muted); font-size: var(--text-xs); }
.footer-legal { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.footer-legal a { color: var(--color-on-ink-muted); font-size: var(--text-xs); }
.footer-legal a:hover { color: #fff; }

/* ---------------------------------------------------------------------
   20. MISC
   --------------------------------------------------------------------- */
.pill {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  font-family: var(--font-mono); font-size: var(--text-xs);
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--color-muted);
  border: 1px solid var(--color-border); border-radius: var(--radius-pill);
  padding: 0.4em 0.8em; background: var(--color-surface);
}
.intro-grid { display: grid; gap: var(--space-2xl); align-items: start; }
@media (min-width: 880px) { .intro-grid { grid-template-columns: 1fr 1fr; } }
.prose p + p { margin-top: var(--space-md); }
.prose p { color: var(--color-text); }
.mt-0 { margin-top: 0; }

/* ---------------------------------------------------------------------
   21. IMAGERY  (real photos; swap freely)
   --------------------------------------------------------------------- */
.media-panel img,
.post-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 1; }
.media-panel .tag { z-index: 2; }

/* Hero image on inner page headers */
.page-header-grid { display: grid; gap: var(--space-2xl); align-items: center; }
.page-hero-media { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); aspect-ratio: 4 / 3; box-shadow: var(--shadow-md); background: linear-gradient(135deg, var(--color-accent-soft) 0%, var(--color-surface-2) 100%); }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 880px) { .page-header-grid { grid-template-columns: 1.05fr 0.95fr; } }

/* Image that bleeds to a card's top edge */
.card-img { display: block; width: calc(100% + 2 * var(--space-xl)); height: 190px; object-fit: cover; margin: calc(-1 * var(--space-xl)) calc(-1 * var(--space-xl)) var(--space-lg); border-radius: var(--radius-md) var(--radius-md) 0 0; background: linear-gradient(135deg, var(--color-accent-soft), var(--color-surface-2)); }

/* Wide editorial image band */
.image-band { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); box-shadow: var(--shadow-md); aspect-ratio: 21 / 9; background: linear-gradient(135deg, var(--color-accent-soft) 0%, var(--color-surface-2) 100%); }
.image-band img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* ===== elementor-overrides.css ===== */
/* BDG Solutions - Elementor and WPForms compatibility overrides */

.elementor-widget {
  margin-bottom: 0;
}

.elementor-widget-image img {
  display: block;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-ink);
  text-decoration: none;
}

.brand:hover {
  color: var(--color-ink);
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: var(--radius-sm);
  background: var(--color-ink);
  color: #fff;
  overflow: hidden;
}

.brand-mark img {
  width: 22px;
  height: 22px;
  display: block;
}

.footer-brand .brand-mark {
  background: #fff;
  color: var(--color-ink);
}

.brand-text {
  display: block;
}

.brand-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.18rem;
  letter-spacing: -0.02em;
  line-height: 1;
}

.brand-name span {
  color: var(--color-muted);
  font-weight: 500;
}

.brand-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin-top: 3px;
}

.btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: 0.85em 1.4em;
  min-height: 0;
  border-radius: var(--radius-pill);
  border: 2px solid transparent;
  box-shadow: none;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}

.btn .elementor-button .elementor-button-content-wrapper {
  align-items: center;
  gap: var(--space-xs);
}

.btn .elementor-button .elementor-button-icon,
.btn .elementor-button .elementor-button-icon i,
.btn .elementor-button .elementor-button-icon svg {
  width: 1.05em;
  height: 1.05em;
}

.btn--primary .elementor-button {
  background: var(--color-accent);
  color: var(--color-on-accent);
  border-color: var(--color-accent);
}

.btn--primary .elementor-button:hover {
  background: var(--color-accent-strong);
  border-color: var(--color-accent-strong);
  color: #fff;
}

.btn--secondary .elementor-button {
  background: transparent;
  color: var(--color-ink);
  border-color: var(--color-border-strong);
}

.btn--secondary .elementor-button:hover {
  border-color: var(--color-ink);
  color: var(--color-ink);
  background: var(--color-surface);
}

.btn--ghost .elementor-button {
  background: transparent;
  color: var(--color-accent);
  border-color: transparent;
  padding-inline: 0.4em;
}

.btn--ghost .elementor-button:hover {
  color: var(--color-accent-strong);
}

.btn--on-ink .elementor-button {
  background: #fff;
  color: var(--color-ink);
  border-color: #fff;
}

.btn--on-ink .elementor-button:hover {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: #fff;
}

.btn--on-image .elementor-button {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}

.btn--on-image .elementor-button:hover {
  background: #fff;
  color: var(--color-ink);
  border-color: #fff;
}

.btn--lg .elementor-button {
  padding: 1.05em 1.8em;
  font-size: var(--text-base);
}

.btn--block .elementor-button {
  width: 100%;
}

.text-link .elementor-button {
  background: transparent;
  color: var(--color-accent);
  border-color: transparent;
  padding: 0;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
}

.text-link .elementor-button:hover {
  color: var(--color-accent-strong);
}

.text-link .elementor-button .elementor-button-content-wrapper {
  gap: var(--space-xs);
}

.nav {
  width: 100%;
}

.xpro-elementor-horizontal-navbar-wrapper {
  display: flex !important;
  align-items: center !important;
  width: 100%;
}

.xpro-elementor-horizontal-navbar {
  display: flex !important;
  align-items: center !important;
  width: 100%;
}

.xpro-elementor-horizontal-navbar-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.xpro-elementor-horizontal-navbar-nav > li.nav-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  float: none !important;
}

.xpro-elementor-horizontal-navbar-nav > li.nav-item > .xpro-elementor-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 0.5em 0.7em;
  border-radius: var(--radius-sm);
  color: var(--color-text);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
}

.xpro-elementor-horizontal-navbar-nav > li.nav-item > .xpro-elementor-nav-link:hover {
  background: var(--color-surface-2);
  color: var(--color-ink);
}

.xpro-elementor-horizontal-navbar-nav > li.nav-item.current-menu-item > .xpro-elementor-nav-link,
.xpro-elementor-horizontal-navbar-nav > li.nav-item.current_page_item > .xpro-elementor-nav-link,
.xpro-elementor-horizontal-navbar-nav > li.nav-item.current-menu-ancestor > .xpro-elementor-nav-link {
  color: var(--color-accent);
  background: var(--color-accent-soft);
}

.xpro-elementor-horizontal-navbar-toggler,
.xpro-elementor-horizontal-navbar-collapse,
.xpro-elementor-horizontal-navbar-nav .sub-menu {
  display: none !important;
}

.wpforms-container {
  margin: 0 !important;
}

.wpforms-form .wpforms-field {
  margin: 0 0 var(--space-lg) 0;
}

.wpforms-container .wpforms-field-label {
  font-family: var(--font-mono) !important;
  font-size: var(--text-xs) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-muted) !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.wpforms-required-label,
.wpforms-container .wpforms-required-label {
  color: var(--color-accent) !important;
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container textarea,
.wpforms-container select {
  width: 100%;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  padding: 12px 14px !important;
  color: var(--color-ink) !important;
  box-shadow: none !important;
}

.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
  color: #A8ACB8;
}

.wpforms-container textarea {
  min-height: 160px;
  resize: vertical;
}

.wpforms-submit-container {
  margin: 0 !important;
}

.wpforms-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  border-radius: var(--radius-pill) !important;
  background: var(--color-accent) !important;
  border: 2px solid var(--color-accent) !important;
  color: #fff !important;
  padding: 0.95em 1.4em !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}

.wpforms-submit:hover {
  background: var(--color-accent-strong) !important;
  border-color: var(--color-accent-strong) !important;
}

.wpforms-one-half {
  width: calc(50% - 12px);
  display: inline-block;
  vertical-align: top;
}

.wpforms-one-half.wpforms-first {
  margin-right: 24px;
}

.wpforms-one-half.wpforms-last {
  margin-right: 0;
}

.wpforms-container .wpforms-field-checkbox ul li label,
.wpforms-container .wpforms-field-radio ul li label {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-text);
}

.newsletter-card .wpforms-container input[type="email"] {
  background: #fff !important;
}

.newsletter-card .wpforms-submit {
  width: 100%;
}

.newsletter-card .wpforms-field-label,
.newsletter-card .wpforms-field-description,
.newsletter-card .wpforms-field-checkbox ul li label {
  color: rgba(234, 235, 241, 0.78) !important;
}

.newsletter-card .wpforms-container input::placeholder {
  color: #B4B8C4;
}

.page-header .eyebrow {
  margin-top: var(--space-md);
}

.page-header .btn-group {
  margin-top: var(--space-xl);
}

.section--flush-bottom {
  padding-bottom: 0;
}

.feature-row--flush {
  border-top: 0;
  padding-top: 0;
}

.page-hero-media--wide {
  aspect-ratio: 16 / 10;
  margin-bottom: var(--space-xl);
}

.media-panel--square {
  aspect-ratio: 1 / 1;
  max-width: 420px;
}

.intro-grid--center {
  align-items: center;
}

.aside-card--dark {
  background: var(--color-ink-bg);
  border-color: var(--color-ink-bg);
}

.aside-card--dark h3,
.aside-card--dark p {
  color: #fff;
}

.aside-card--dark .topic-list a {
  color: var(--color-on-ink-muted);
}

.aside-card--dark .topic-list a:hover {
  color: #fff;
}

.aside-card--dark .topic-list span {
  color: var(--color-on-ink-muted);
}

.aside-card--center {
  text-align: center;
}

.form .wpforms-title {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  color: var(--color-ink);
  margin-bottom: var(--space-xs);
}

.form .wpforms-description {
  color: var(--color-muted);
  font-size: var(--text-sm);
  margin-bottom: var(--space-xl);
}

.newsletter-card .wpforms-title {
  color: #fff;
}

.newsletter-card .wpforms-description {
  color: var(--color-on-ink-muted);
}

.compare-table.compare-table--grid {
  display: grid;
  grid-template-columns: 34% 1fr 1fr;
  min-width: 560px;
  width: 100%;
}

.compare-table--grid .compare-cell {
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--color-border);
}

.compare-table--grid .compare-cell--head {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  color: var(--color-ink);
  background: var(--color-surface-2);
}

.compare-table--grid .compare-cell--goodhead {
  background: var(--color-accent-soft);
  color: var(--color-accent-strong);
}

.compare-table--grid .compare-cell--rowhead {
  font-weight: 600;
  color: var(--color-ink);
}

.compare-table--grid .compare-cell--good {
  border-left: 2px solid var(--color-accent-soft);
}

.compare-caption {
  text-align: left;
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-sm);
  color: var(--color-muted);
  border-bottom: 1px solid var(--color-border);
}

.compare-table--grid .compare-cell:nth-last-child(-n+3) {
  border-bottom: 0;
}


/* ===== elementor-extra.css ===== */
/* BDG Solutions - extra text-content overrides */

.feature-list li {
  position: relative;
}

.feature-list li::before {
  content: "✓";
  color: var(--color-accent);
  flex: 0 0 auto;
  font-weight: 700;
  margin-top: 2px;
}

.feature-list svg {
  display: none;
}

.cmp {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--space-xs);
  font-size: var(--text-sm);
}

.cmp::before {
  content: "✓";
  color: var(--color-positive);
  flex: 0 0 auto;
  font-weight: 700;
  margin-top: 2px;
}

.cmp--no::before {
  content: "✕";
  color: var(--color-negative);
}

.cmp span {
  color: var(--color-muted);
}

.cmp--yes span {
  color: var(--color-text);
}

/* ================= BDG1 Elementor bridge (site 3) ================= */
/* Elementor forces display:flex on every .e-con; restore grid for layout classes */
.stats,.grid-2,.grid-3,.grid-4,.footer-grid,.intro-grid,.mission-grid,.feature-row,.cta-inner,.process,.testimonials,.posts,.blog-layout,.page-header-grid,.contact-layout,.faq,.field-grid,.field-grid.two,.hero-grid,.hero-layout{display:grid!important;}
/* Full-bleed image hero is flex-centred, not grid */
.hero--image{display:flex!important;align-items:center!important;}
/* XPRO theme-builder header wrapper -> original .site-header chrome */
.xpro-theme-builder-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--color-border);}
.xpro-theme-builder-header-nav{width:100%;}
/* Footer Social Icons widget -> original .social-link look */
.site-footer .elementor-social-icons-wrapper{display:flex;gap:var(--space-sm);margin-top:var(--space-md);}
.site-footer .elementor-social-icon{background:transparent!important;border:1px solid var(--color-on-ink-border)!important;width:42px!important;height:42px!important;color:var(--color-on-ink)!important;border-radius:var(--radius-sm)!important;transition:background .15s,border-color .15s,color .15s;box-shadow:none!important;}
.site-footer .elementor-social-icon svg{fill:currentColor!important;width:20px!important;height:20px!important;}
.site-footer .elementor-social-icon:hover{background:var(--color-accent)!important;border-color:var(--color-accent)!important;color:#fff!important;}
/* Footer contact block rendered as text-widget spans/anchors */
.footer-contact span,.footer-contact a{display:block;color:var(--color-on-ink-muted);font-size:var(--text-sm);line-height:1.75;}
.footer-contact a{color:var(--color-on-ink);}
.footer-contact a:hover{color:#fff;}
/* Canvas page background matches design bg */
body.elementor-template-canvas{background:var(--color-bg);}
/* BDG1 centered tiles */
.card-icon,.info-icon,.avatar,.brand-mark,.step-num,.faq-q .faq-icon{display:grid!important;place-items:center!important;}

/* BDG1 button wrapper reset */
.elementor-widget-button.btn,.elementor-widget-button.btn:hover{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;min-height:0!important;}

/* BDG1 header logo */
.brand .custom-logo-link{display:inline-flex;align-items:center;text-decoration:none;line-height:0;}
.brand .custom-logo{height:40px;width:auto;max-width:220px;display:block;}
.brand-logo{display:inline-flex;align-items:center;}

/* BDG1 brand width */
.elementor-element-667d411{width:200px!important;max-width:200px!important;flex-grow:0!important;}

/* BDG1 hero left-align */
.hero--image .hero-content{text-align:left;align-items:flex-start;}
.hero--image .hero-content .btn-group{justify-content:flex-start;}
.hero--image .hero-content .logo-row{justify-content:flex-start;}

/* BDG1 card button alignment */
.card{display:flex;flex-direction:column;}
.card > .elementor-widget-text-editor:last-child{margin-top:auto;}

/* BDG1 mobile menu fix */
html{overflow-x:hidden;}
@media (max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet{display:block !important;align-items:initial !important;}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar{display:block !important;width:100% !important;}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav{flex-direction:column !important;flex-wrap:nowrap !important;align-items:flex-start !important;width:100% !important;gap:0 !important;}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li.nav-item{width:100% !important;}
}

/* BDG1 mobile menu enhancements */
.nav-cta--in-menu{display:none;}
html.xbk-menu-open{overflow:hidden !important;}
@media (max-width:1024px){
.xpro-theme-builder-header .nav-cta:not(.nav-cta--in-menu){display:none !important;}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li.nav-item > .xpro-elementor-nav-link{padding:16px 20px !important;font-size:1.2rem !important;width:100% !important;}
.nav-cta--in-menu{display:block !important;width:100% !important;margin-top:24px !important;}
.nav-cta--in-menu .elementor-button{width:100% !important;justify-content:center !important;font-size:1.1rem !important;padding:16px 22px !important;}
}

/* BDG1 mobile footer spacing */
@media (max-width:1024px){
.site-footer{padding-top:56px !important;padding-block-start:56px !important;}
.footer-grid{gap:28px !important;padding-bottom:28px !important;padding-block-end:28px !important;}
.footer-bottom{padding-top:20px !important;padding-bottom:20px !important;padding-block:20px !important;}
}
@media (max-width:600px){
.site-footer{padding-top:40px !important;padding-block-start:40px !important;}
.footer-grid{gap:24px !important;padding-bottom:18px !important;padding-block-end:18px !important;}
.footer-bottom{padding-top:16px !important;padding-bottom:16px !important;padding-block:16px !important;}
}

/* BDG1 footer logo */
.footer-brand .custom-logo-link{display:inline-flex;align-items:center;text-decoration:none;line-height:0;}
.footer-brand .custom-logo{height:38px;width:auto;max-width:220px;display:block;filter:brightness(0) invert(1);}

/* BDG1 media-panel image fill fix */
.media-panel .elementor-widget-image,.post-thumb .elementor-widget-image{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;}
.media-panel .elementor-widget-image > .elementor-widget-container,.post-thumb .elementor-widget-image > .elementor-widget-container{width:100% !important;height:100% !important;}
.media-panel img,.post-thumb img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}

/* BDG1 scroll-top icon centering */
#ast-scroll-top .ast-icon.icon-arrow{position:absolute !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;line-height:0 !important;margin:0 !important;}
#ast-scroll-top .ast-icon.icon-arrow svg{transform:rotate(180deg) !important;margin:0 !important;vertical-align:middle !important;display:block !important;}

/* BDG1 value-num scalable */
.value-num{font-size:inherit !important;line-height:1.1 !important;}

/* BDG1 contact form fix */
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container select,.wpforms-container textarea{width:100% !important;max-width:100% !important;box-sizing:border-box !important;}
.wpforms-container .wpforms-field.wpforms-one-half{width:calc(50% - 12px) !important;display:inline-block !important;vertical-align:top !important;float:none !important;box-sizing:border-box !important;}
.wpforms-container .wpforms-field.wpforms-one-half.wpforms-first{margin-right:24px !important;}
.wpforms-container .wpforms-field.wpforms-one-half.wpforms-last{margin-right:0 !important;}

/* BDG1 contact form flex layout */
.wpforms-container-full .wpforms-field-container{display:flex !important;flex-wrap:wrap !important;align-items:flex-start !important;column-gap:24px !important;row-gap:22px !important;}
.wpforms-container-full .wpforms-field-container > .wpforms-field{width:100% !important;margin:0 !important;}
.wpforms-container-full .wpforms-field-container > .wpforms-field.wpforms-one-half{width:calc(50% - 12px) !important;}
.wpforms-container-full .wpforms-field-container > .wpforms-field.wpforms-one-half.wpforms-first{margin-right:0 !important;}
.wpforms-container-full .wpforms-submit-container{margin-top:24px !important;}
.wpforms-container-full input[type=text],.wpforms-container-full input[type=email],.wpforms-container-full input[type=tel],.wpforms-container-full select,.wpforms-container-full textarea{width:100% !important;max-width:100% !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-sm) !important;background:var(--color-surface) !important;padding:0.75em 0.9em !important;font-size:var(--text-base) !important;color:var(--color-text) !important;line-height:1.4 !important;box-sizing:border-box !important;}

/* BDG1 contact field height fix */
.wpforms-container-full input[type=text],.wpforms-container-full input[type=email],.wpforms-container-full input[type=tel],.wpforms-container-full select{height:auto !important;min-height:0 !important;line-height:1.4 !important;}
.wpforms-container-full select{padding-top:0.7em !important;padding-bottom:0.7em !important;}

/* BDG1 contact map */
.map-placeholder::before{display:none !important;}
.map-placeholder .elementor-widget-html,.map-placeholder .elementor-widget-html .elementor-widget-container{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;margin:0 !important;}
.map-placeholder iframe{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;border:0 !important;display:block !important;}
.map-label{z-index:2 !important;}

/* BDG1 intro image natural display */
.intro-grid .media-panel{aspect-ratio:auto !important;height:auto !important;min-height:0 !important;background:transparent !important;}
.intro-grid .media-panel::before{display:none !important;}
.intro-grid .media-panel .elementor-widget-image,.intro-grid .media-panel .elementor-widget-image .elementor-widget-container{position:static !important;inset:auto !important;width:100% !important;height:auto !important;}
.intro-grid .media-panel img{position:static !important;inset:auto !important;width:100% !important;height:auto !important;max-width:100% !important;object-fit:contain !important;display:block !important;}


/* BDG1 user CSS e017071 */
.elementor-28 .elementor-element.elementor-element-e017071:not(.elementor-motion-effects-element-type-background),
.elementor-28 .elementor-element.elementor-element-e017071 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url(https://demo-wp.web-bakery.de/bdg1/wp-content/uploads/sites/3/2026/06/photo-1519389950473-47ba0277781c.jpg);
    background-position: center center;
    background-size: cover;
}
/* Desktop */
@media (min-width: 768px) {
  .elementor-28 .elementor-element.elementor-element-e017071 {
    height: 400px;
  }
}
/* Mobile */
@media (max-width: 767px) {
  .elementor-28 .elementor-element.elementor-element-e017071 {
    height: 200px;
  }
}
/* BDG1 animations CSS */
@media (prefers-reduced-motion: no-preference){
html.xbk-anim .xbk-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
html.xbk-anim .xbk-reveal.xbk-inview{opacity:1;transform:translateY(0);}
.card,.value-card,.process-step,.testimonial,.post-card,.post-feature,.aside-card,.info-item{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;}
.card:hover,.value-card:hover,.testimonial:hover,.post-card:hover,.aside-card:hover,.info-item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,21,34,.08);border-color:var(--color-border-strong);}
.process-step:hover{transform:translateY(-3px);}
.card-icon,.info-icon{transition:transform .35s cubic-bezier(.22,1,.36,1);}
.card:hover .card-icon,.info-item:hover .info-icon{transform:translateY(-2px) scale(1.04);}
.btn .elementor-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease !important;}
.btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,21,34,.14);}
.btn--primary .elementor-button:hover{box-shadow:0 10px 24px rgba(227,0,57,.22);}
.xpro-theme-builder-header{transition:box-shadow .35s ease,background-color .35s ease;}
html.xbk-scrolled .xpro-theme-builder-header{box-shadow:0 6px 24px rgba(15,21,34,.07);}
.xpro-elementor-horizontal-menu-responsive-tablet{transition:transform .45s cubic-bezier(.22,1,.36,1) !important;}
.site-footer .elementor-social-icon{transition:background .3s ease,border-color .3s ease,color .3s ease,transform .3s ease !important;}
.site-footer .elementor-social-icon:hover{transform:translateY(-2px);}
}
@media (prefers-reduced-motion: reduce){
.xbk-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* BDG1 hero entrance */
@media (prefers-reduced-motion: no-preference){
html.xbk-js .hero--image .hero-content > *{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
html.xbk-js .hero--image .hero-content > *:nth-child(1){transition-delay:.05s;}
html.xbk-js .hero--image .hero-content > *:nth-child(2){transition-delay:.18s;}
html.xbk-js .hero--image .hero-content > *:nth-child(3){transition-delay:.31s;}
html.xbk-js .hero--image .hero-content > *:nth-child(4){transition-delay:.44s;}
html.xbk-js .hero--image .hero-content > *:nth-child(5){transition-delay:.57s;}
html.xbk-js .hero--image .hero-content > *:nth-child(n+6){transition-delay:.7s;}
html.xbk-js.xbk-hero-in .hero--image .hero-content > *{opacity:1 !important;transform:none !important;}
}

/* BDG1 pageheader+intro entrance */
@media (prefers-reduced-motion: no-preference){
html.xbk-js .page-header > .container > *,html.xbk-js .intro-grid > *{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);}
html.xbk-js .page-header > .container > *:nth-child(2),html.xbk-js .intro-grid > *:nth-child(2){transition-delay:.12s;}
html.xbk-js .page-header > .container > *:nth-child(3),html.xbk-js .intro-grid > *:nth-child(3){transition-delay:.24s;}
html.xbk-js .page-header > .container > *:nth-child(4){transition-delay:.36s;}
html.xbk-js .page-header > .container > *:nth-child(n+5){transition-delay:.48s;}
html.xbk-js .page-header > .container.xbk-in > *,html.xbk-js .intro-grid.xbk-in > *{opacity:1 !important;transform:none !important;}
}

/* BDG1 3D decor CSS */
.xbk3d-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;display:block;}
.hero--image,.page-header,.cta-band{position:relative;overflow:hidden;}
.hero--image > .container,.page-header > .container,.cta-band .container{position:relative;z-index:2;}
@media (max-width:640px){.page-header .xbk3d-canvas{display:none;}.xbk3d-canvas{opacity:.55;}}

/* BDG1 3D decor ambient CSS */
.section{position:relative;}
.section > .container{position:relative;z-index:2;}
@media (max-width:640px){.xbk3d-ambient{display:none;}}

/* BDG1 header hide on scroll */
@media (prefers-reduced-motion: no-preference){
.xpro-theme-builder-header{transition:box-shadow .35s ease,background-color .35s ease,transform .4s cubic-bezier(.22,1,.36,1);}
}
html.xbk-hide .xpro-theme-builder-header{transform:translateY(-102%);box-shadow:none !important;}

/* BDG1 smart header v2 CSS */
html.xbk-hdrfix .xpro-theme-builder-header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;z-index:1000 !important;}
html.xbk-hdrfix body{padding-top:var(--xbk-hh,92px);}
html.xbk-hide .xpro-theme-builder-header{transform:translateY(-104%) !important;box-shadow:none !important;}
@media (prefers-reduced-motion: no-preference){
html.xbk-hdrfix .xpro-theme-builder-header{transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,background-color .35s ease;}
}

/* BDG1 nav dropdowns */
.xpro-elementor-horizontal-navbar-nav > li.nav-item > a{display:inline-flex;align-items:center;gap:6px;padding:.5em .7em;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;transition:background .2s,color .2s;}
.xpro-elementor-horizontal-navbar-nav > li.nav-item > a:hover{background:var(--color-surface-2);color:var(--color-ink);}
.ast-header-navigation-arrow{display:none !important;}
.xpro-dropdown-menu-toggle{display:inline-block;width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-top:-3px;flex:0 0 auto;}
@media (min-width:1025px){
.xpro-elementor-horizontal-navbar-nav li.nav-item{position:relative;}
.xpro-elementor-horizontal-navbar-nav .xpro-elementor-dropdown-menu{position:absolute;top:100%;left:0;min-width:280px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 18px 44px rgba(15,21,34,.12);padding:10px;margin:6px 0 0;list-style:none;display:block !important;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;z-index:1200;}
.xpro-elementor-horizontal-navbar-nav li.nav-item:hover > .xpro-elementor-dropdown-menu,.xpro-elementor-horizontal-navbar-nav li.nav-item:focus-within > .xpro-elementor-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.xpro-elementor-horizontal-navbar-nav .xpro-elementor-dropdown-menu .xpro-elementor-dropdown-menu{top:-11px;left:100%;margin:0 0 0 6px;transform:translateX(8px);}
.xpro-elementor-horizontal-navbar-nav .xpro-elementor-dropdown-menu li.nav-item:hover > .xpro-elementor-dropdown-menu,.xpro-elementor-horizontal-navbar-nav .xpro-elementor-dropdown-menu li.nav-item:focus-within > .xpro-elementor-dropdown-menu{transform:translateX(0);}
.xpro-elementor-dropdown-menu li.nav-item{display:block !important;width:100%;margin:0 !important;}
.xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item{display:flex !important;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;white-space:nowrap;transition:background .18s,color .18s;}
.xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item:hover{background:var(--color-surface-2);color:var(--color-ink);}
.xpro-elementor-dropdown-menu .xpro-dropdown-menu-toggle{transform:rotate(-45deg);margin-left:auto;}
}
@media (max-width:1024px){
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu{position:static !important;display:block !important;opacity:1 !important;visibility:visible !important;transform:none !important;border:0 !important;box-shadow:none !important;background:transparent !important;padding:0 0 0 16px !important;margin:0 !important;min-width:0 !important;list-style:none;}
.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li.nav-item > a{padding:16px 20px !important;font-size:1.2rem !important;width:100% !important;display:flex !important;}
.xpro-elementor-horizontal-menu-responsive-tablet a.xpro-elementor-dropdown-item{display:flex !important;width:100% !important;padding:12px 20px !important;font-size:1.05rem !important;color:var(--color-text) !important;text-decoration:none;}
}

/* BDG1 nav polish */
/* kill XPRO icon-font glyphs, notches and markers */
.xpro-elementor-dropdown-menu::before,.xpro-elementor-dropdown-menu::after,.xpro-dropdown-menu-toggle::before,.xpro-dropdown-menu-toggle::after,.ast-header-navigation-arrow::before,.ast-header-navigation-arrow::after,.xpro-elementor-dropdown-item::before,.xpro-elementor-dropdown-item::after,.xpro-elementor-horizontal-navbar-nav .nav-link::before,.xpro-elementor-horizontal-navbar-nav .nav-link::after{content:none !important;display:none !important;}
.xpro-dropdown-menu-toggle{font-size:0 !important;line-height:0 !important;width:7px !important;height:7px !important;border:0 !important;border-right:1.6px solid currentColor !important;border-bottom:1.6px solid currentColor !important;background:transparent !important;transform:rotate(45deg);margin-top:-3px;display:inline-block !important;}
.xpro-elementor-dropdown-menu li{list-style:none !important;}
/* force light dropdown theme over XPRO defaults */
@media (min-width:1025px){
.xpro-elementor-horizontal-navbar-nav .xpro-elementor-dropdown-menu{background:var(--color-surface) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-md) !important;box-shadow:0 18px 44px rgba(15,21,34,.12) !important;padding:10px !important;overflow:visible !important;}
.xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item{color:var(--color-text) !important;background:transparent !important;border:0 !important;font-size:var(--text-base);}
.xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item:hover{background:var(--color-surface-2) !important;color:var(--color-ink) !important;}
.xpro-elementor-dropdown-menu .xpro-dropdown-menu-toggle{transform:rotate(-45deg);margin-left:auto;}
/* menu next to logo, KONTAKT pushed right */
.elementor-element-16419fd{justify-content:flex-start !important;gap:36px !important;}
.elementor-element-16419fd .nav-cta{margin-left:auto !important;}
.xpro-elementor-horizontal-navbar-nav{margin:0 !important;padding:0 !important;align-items:center !important;}
}

/* BDG1 dark section text fix */
.section--ink,.cta-band{color:var(--color-on-ink);}
.section--ink .elementor-widget-heading:not(.eyebrow):not(.eyebrow--ink) .elementor-heading-title,.section--ink h1,.section--ink h2,.section--ink h3,.cta-band .elementor-widget-heading:not(.eyebrow):not(.eyebrow--ink) .elementor-heading-title{color:#FFFFFF !important;}
.section--ink .elementor-widget-text-editor,.section--ink p,.section--ink blockquote{color:var(--color-on-ink);}
.section--ink .stat-num{color:#FFFFFF !important;}
.section--ink .stat-label{color:var(--color-on-ink-muted) !important;}

/* BDG1 dark section eyebrow white */
.section--ink .eyebrow,.section--ink .eyebrow--ink,.cta-band .eyebrow,.cta-band .eyebrow--ink,
.section--ink .elementor-widget-heading.eyebrow .elementor-heading-title,.section--ink .elementor-widget-heading.eyebrow--ink .elementor-heading-title,
.cta-band .elementor-widget-heading.eyebrow .elementor-heading-title,.cta-band .elementor-widget-heading.eyebrow--ink .elementor-heading-title{color:#FFFFFF !important;}

/* BDG1 breadcrumb links */
.breadcrumb a{color:inherit;text-decoration:none;transition:color .2s ease;}
.breadcrumb a:hover{color:var(--color-accent);}

/* BDG1 hero text safety */
.hero--image .hero-content .elementor-heading-title,.hero--image .hero-content h1{color:#FFFFFF !important;}
.hero--image .hero-content,.hero--image .hero-content p,.hero--image .hero-content .lead{color:#EAEBF1;}
.breadcrumb--hero,.breadcrumb--hero a{color:rgba(255,255,255,.82) !important;}
.breadcrumb--hero a:hover{color:#FFFFFF !important;}

/* BDG1 v2 layouts A */
.statement{max-width:940px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;}
.statement .elementor-heading-title{font-size:clamp(1.7rem,3.2vw,2.7rem);line-height:1.18;}
.statement .lead{max-width:720px;}
.vtimeline{max-width:860px;}
.vtimeline .vstep{position:relative;padding:0 0 42px 82px;}
.vtimeline .vstep:last-child{padding-bottom:0;}
.vtimeline .vstep::before{content:"";position:absolute;left:23px;top:10px;bottom:-10px;width:2px;background:var(--color-border);}
.vtimeline .vstep:last-child::before{display:none;}
.vtimeline .vnum{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-accent);font-family:var(--font-mono);font-weight:700;color:var(--color-accent);z-index:1;}
.vtimeline .vstep h3{margin:4px 0 8px;}
.vtimeline .vstep p{margin:0;color:var(--color-text-muted);max-width:640px;}
.quote-band{max-width:920px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;}
.quote-band .quote-text{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.45;font-weight:500;font-style:italic;margin:8px 0 10px;}
.quote-author .qname{font-weight:700;display:block;}
.quote-author .qrole{color:var(--color-text-muted);font-size:.9rem;}
.compare-cols{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;width:100%;}
.compare-cols .ccol{display:flex;flex-direction:column;gap:14px;padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);}
.compare-cols .ccol--featured{border-color:var(--color-accent);box-shadow:0 16px 40px rgba(227,0,57,.10);}
.compare-cols .cclist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.compare-cols .cclist li{position:relative;padding-left:26px;}
.compare-cols .cclist li::before{content:"";position:absolute;left:2px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--color-accent);}
.compare-cols .cclist li.no{color:var(--color-text-muted);}
.compare-cols .cclist li.no::before{background:#C9CCD3;}

/* BDG1 v2 layouts B */
.casestudy{display:grid !important;grid-template-columns:1fr 1fr;gap:44px;align-items:center;width:100%;}
.casestudy .cs-media{aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;min-height:260px;}
.casestudy--rev .cs-media{order:2;}
.casestudy .cs-media .elementor-widget-image,.casestudy .cs-media .elementor-widget-image > .elementor-widget-container{width:100% !important;height:100% !important;}
.casestudy .cs-media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
.casestudy .cs-body{display:flex;flex-direction:column;gap:12px;}
.cs-metrics{display:flex;gap:34px;flex-wrap:wrap;margin-top:8px;}
.cs-metric{display:flex;flex-direction:column;}
.cs-metric b{font-family:var(--font-mono);font-size:1.9rem;line-height:1.1;color:var(--color-accent);}
.cs-metric span{font-size:.85rem;color:var(--color-text-muted);}
@media(max-width:840px){.casestudy{grid-template-columns:1fr;gap:26px;}.casestudy--rev .cs-media{order:0;}}
.specsheet{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);width:100%;}
.specsheet .specrow{display:grid;grid-template-columns:260px 1fr;gap:20px;padding:16px 24px;border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:.92rem;}
.specsheet .specrow:last-child{border-bottom:0;}
.specsheet .speck{color:var(--color-text-muted);}
.specsheet .specv{color:var(--color-ink);}
@media(max-width:640px){.specsheet .specrow{grid-template-columns:1fr;gap:4px;}}
.section--ink .specsheet{background:transparent;border-color:rgba(255,255,255,.20);}
.section--ink .specsheet .specrow{border-color:rgba(255,255,255,.14);}
.section--ink .specsheet .speck{color:#9AA1AE;}
.section--ink .specsheet .specv{color:#FFFFFF;}
.imageband{position:relative;min-height:380px;border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:flex-end;width:100%;}
.imageband::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,21,34,.80),rgba(15,21,34,.10));z-index:1;}
.imageband .ib-overlay{position:relative;z-index:2;padding:44px;max-width:660px;display:flex;flex-direction:column;gap:8px;}
.imageband .ib-overlay .elementor-heading-title{color:#FFFFFF !important;}
.imageband .ib-overlay p{color:#EAEBF1;margin:0;}
@media(max-width:640px){.imageband{min-height:300px;}.imageband .ib-overlay{padding:26px;}}
.imggrid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;}
.imggrid .igitem{aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;}
.imggrid .igitem .elementor-widget-image,.imggrid .igitem .elementor-widget-image > .elementor-widget-container{width:100% !important;height:100% !important;}
.imggrid .igitem img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
@media(max-width:840px){.imggrid{grid-template-columns:1fr;}}
.faq-grid{display:grid !important;grid-template-columns:1fr 1fr;gap:14px;align-items:start;width:100%;}
@media(max-width:840px){.faq-grid{grid-template-columns:1fr;}}

/* BDG1 mobile drawer v2 */
@media (max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet{padding:70px 0 26px !important;overflow-y:auto !important;overflow-x:hidden !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar{display:block !important;height:auto !important;width:100% !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav{display:block !important;width:100% !important;margin:0 !important;padding:0 !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li.nav-item{display:block !important;width:100% !important;position:static !important;margin:0 !important;border-bottom:1px solid var(--color-border);}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li.nav-item > a{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px;width:100% !important;padding:15px 22px !important;font-size:1.08rem !important;font-weight:600;color:var(--color-ink) !important;background:transparent !important;border-radius:0 !important;white-space:normal !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu{position:static !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;transform:none !important;display:block !important;opacity:1 !important;visibility:visible !important;width:100% !important;min-width:0 !important;max-width:none !important;background:var(--color-surface-2) !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;padding:4px 0 8px !important;margin:0 !important;list-style:none !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu li.nav-item{display:block !important;width:100% !important;position:static !important;border-bottom:0 !important;margin:0 !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;padding:11px 22px 11px 40px !important;font-size:.98rem !important;font-weight:500;color:var(--color-text) !important;background:transparent !important;white-space:normal !important;border-radius:0 !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu .xpro-elementor-dropdown-menu{background:transparent !important;padding:0 0 4px !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu .xpro-elementor-dropdown-menu a.xpro-elementor-dropdown-item{padding-left:58px !important;font-size:.94rem !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-dropdown-menu-toggle{transform:rotate(45deg) !important;margin-left:auto !important;flex:0 0 auto;}
.nav-cta--in-menu{display:block !important;padding:18px 22px 10px !important;width:100% !important;}
.nav-cta--in-menu .elementor-button{width:100% !important;display:flex !important;justify-content:center !important;}
}

/* BDG1 drawer+footer polish */
@media (max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet{z-index:3000 !important;}
}
.site-footer .elementor-widget-heading .elementor-heading-title,.site-footer h4,.site-footer h3{color:#FFFFFF !important;}
.footer-col .elementor-widget-text-editor a{display:block !important;padding:5px 0 !important;line-height:1.55;}
.footer-col .elementor-widget-text-editor a:hover{color:#FFFFFF;}

/* BDG1 cta-band background */
.cta-band{background:var(--color-ink-bg);color:var(--color-on-ink);}

/* BDG1 drawer v3 fullscreen+accordion */
@media (max-width:1024px){
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet{position:fixed !important;top:0 !important;left:0 !important;bottom:auto !important;margin:0 !important;width:100vw !important;max-width:100vw !important;height:100vh !important;height:100dvh !important;border-radius:0 !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-dropdown-menu{display:none !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet li.xbk-open > .xpro-elementor-dropdown-menu{display:block !important;}
.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet li.xbk-open > a > .xpro-dropdown-menu-toggle,.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-tablet li.xbk-open > a .xpro-dropdown-menu-toggle{transform:rotate(225deg) !important;margin-top:4px;}
}

/* BDG1 portfolio */
.logo-wall{display:grid !important;grid-template-columns:repeat(4,1fr);gap:14px;width:100%;}
.logo-wall .lw-item{display:flex;align-items:center;justify-content:center;padding:26px 22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:104px;}
.logo-wall img{max-height:44px;max-width:150px;width:auto !important;height:auto !important;object-fit:contain !important;filter:grayscale(1);opacity:.72;transition:filter .3s,opacity .3s;}
.logo-wall .lw-item:hover img{filter:none;opacity:1;}
@media(max-width:840px){.logo-wall{grid-template-columns:repeat(2,1fr);}}
.filterbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%;}
.filterbar .flabel{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-right:4px;}
.fchip{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.9rem;cursor:pointer;user-select:none;transition:all .2s ease;}
.fchip:hover{border-color:var(--color-ink);}
.fchip.active{background:var(--color-ink);border-color:var(--color-ink);color:#fff;}
.projgrid{display:grid !important;grid-template-columns:repeat(6,1fr);gap:18px;width:100%;grid-auto-flow:dense;}
.pcard{grid-column:span 2;display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:transform .3s,box-shadow .3s,opacity .3s;}
.pcard--l{grid-column:span 3;}
.pcard--hide{display:none !important;}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,21,34,.08);}
.pmono{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:700;font-size:1.35rem;flex:0 0 auto;}
.pcard--l .pmono{width:100%;height:130px;font-size:2.6rem;}
.tile-a{background:#FDE7EC;color:var(--color-accent);}
.tile-b{background:var(--color-ink);color:#fff;}
.tile-c{background:var(--color-surface-2);color:var(--color-ink);border:1px solid var(--color-border);}
.pind{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);}
.pcard h3{margin:0;font-size:1.15rem;}
.pcard p{margin:0;color:var(--color-text-muted);font-size:.94rem;line-height:1.55;}
.ptags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;}
.ptag{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border);font-size:.74rem;color:var(--color-text);}
@media(max-width:1024px){.projgrid{grid-template-columns:repeat(2,1fr);}.pcard,.pcard--l{grid-column:span 2;}}
@media(max-width:640px){.projgrid{grid-template-columns:1fr;}.pcard,.pcard--l{grid-column:span 1;}}
.miniclients{display:grid !important;grid-template-columns:1fr 1fr;gap:10px 28px;width:100%;}
.minirow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:13px 4px;border-bottom:1px solid var(--color-border);}
.minirow b{font-size:.98rem;}
.minirow span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);text-align:right;}
@media(max-width:840px){.miniclients{grid-template-columns:1fr;}}
.bigmono{aspect-ratio:4/3;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:var(--font-mono);font-weight:700;font-size:4.2rem;}
.bigmono small{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;opacity:.75;}

/* BDG1 portfolio v2 imgs */
.pcard .pimg{width:100%;aspect-ratio:16/10;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-2);}
.pcard .pimg img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;transition:transform .5s ease;}
.pcard:hover .pimg img{transform:scale(1.045);}
.projgrid .pcard:nth-child(7n+1),.projgrid .pcard:nth-child(7n+5){grid-column:span 3;}
@media(max-width:1024px){.projgrid .pcard:nth-child(7n+1),.projgrid .pcard:nth-child(7n+5){grid-column:span 2;}}
@media(max-width:640px){.projgrid .pcard:nth-child(7n+1),.projgrid .pcard:nth-child(7n+5){grid-column:span 1;}}

/* BDG1 mobile compact */
@media (max-width:640px){
.section{padding:52px 0 !important;}
.section--tight{padding:34px 0 !important;}
.section-head{margin-bottom:24px !important;}
.hero--image{min-height:460px !important;}
.hero--image .hero-content{padding-top:88px !important;padding-bottom:40px !important;}
.page-header{padding:76px 0 30px !important;}
/* horizontal snap carousels instead of long stacks */
.projgrid,.grid.grid-3,.imggrid,.compare-cols{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;scroll-snap-type:x mandatory;gap:14px !important;padding:2px 2px 14px !important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.projgrid > *,.grid.grid-3 > *,.imggrid > *,.compare-cols > *{flex:0 0 82% !important;max-width:82%;scroll-snap-align:start;grid-column:auto !important;}
.imggrid > *{flex-basis:76% !important;max-width:76%;}
.compare-cols > *{flex-basis:86% !important;max-width:86%;}
.projgrid::-webkit-scrollbar,.grid.grid-3::-webkit-scrollbar,.imggrid::-webkit-scrollbar,.compare-cols::-webkit-scrollbar{height:5px;}
.projgrid::-webkit-scrollbar-thumb,.grid.grid-3::-webkit-scrollbar-thumb,.imggrid::-webkit-scrollbar-thumb,.compare-cols::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px;}
/* compact media & editorial blocks */
.bigmono{aspect-ratio:auto !important;height:140px !important;font-size:2.4rem !important;}
.casestudy{gap:16px !important;}
.casestudy .cs-media{aspect-ratio:16/9 !important;min-height:0 !important;}
.cs-metrics{gap:20px !important;}
.cs-metric b{font-size:1.5rem !important;}
.media-panel{max-height:210px;overflow:hidden;}
.imageband{min-height:250px !important;}
.imageband .ib-overlay{padding:22px !important;}
.vtimeline .vstep{padding:0 0 28px 62px !important;}
.vtimeline .vnum{width:40px !important;height:40px !important;}
.vtimeline .vstep::before{left:19px !important;}
.stats{gap:10px !important;}
.stat{padding:16px 12px !important;}
.logo-wall{gap:10px !important;}
.logo-wall .lw-item{min-height:78px !important;padding:16px 12px !important;}
.quote-band .quote-text{font-size:1.15rem !important;}
.footer-grid{gap:26px !important;}
.filterbar{gap:8px !important;}
.fchip{padding:7px 13px !important;font-size:.84rem !important;}
}

/* BDG1 mobile filter selects */
.fselwrap{display:none;}
@media (max-width:640px){
.filterbar{display:none !important;}
.fselwrap{display:flex;flex-direction:column;gap:9px;width:100%;margin-bottom:16px;}
.fselbox{display:flex;align-items:center;gap:10px;width:100%;}
.fselbox > span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);flex:0 0 96px;}
.fsel{flex:1;min-width:0;appearance:none;-webkit-appearance:none;padding:11px 40px 11px 14px;border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%228%22 viewBox=%220 0 12 8%22><path d=%22M1 1l5 5 5-5%22 stroke=%22%230F1522%22 stroke-width=%222%22 fill=%22none%22 stroke-linecap=%22round%22/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;font-size:.94rem;color:var(--color-ink);font-family:inherit;}
.fsel:focus{outline:none;border-color:var(--color-ink);}
}

/* BDG1 filter selects everywhere */
.filterbar{display:none !important;}
.fselwrap{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 18px;width:100%;margin-bottom:10px;}
.fselbox{display:flex;align-items:center;gap:10px;flex:1 1 280px;min-width:250px;}
.fselbox > span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);flex:0 0 auto;min-width:96px;}
.fsel{flex:1;min-width:0;appearance:none;-webkit-appearance:none;padding:11px 40px 11px 14px;border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%228%22 viewBox=%220 0 12 8%22><path d=%22M1 1l5 5 5-5%22 stroke=%22%230F1522%22 stroke-width=%222%22 fill=%22none%22 stroke-linecap=%22round%22/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;font-size:.94rem;color:var(--color-ink);font-family:inherit;cursor:pointer;transition:border-color .2s;}
.fsel:hover{border-color:var(--color-ink);}
.fsel:focus{outline:none;border-color:var(--color-ink);}
@media (max-width:640px){.fselwrap{flex-direction:column;gap:9px;}.fselbox{flex:1 1 auto;min-width:0;}}


/* BDG1 home hero v4 */
.hero--systemmap{position:relative;background:var(--color-bg);color:var(--color-text);padding-block:clamp(20px, 2vw, 40px);overflow:hidden;}
.hero--systemmap .xbk3d-canvas{display:none !important;}
.hero--systemmap > .container{position:relative;z-index:2;}
.hero--systemmap .heromap-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,0.94fr);gap:clamp(28px,3.6vw,60px);align-items:center;}
.hero--systemmap .hero-content{max-width:none;text-align:left;align-items:flex-start;}
.hero--systemmap h1{font-size:clamp(2rem, 1.25rem + 2.6vw, 3rem);font-weight:700;}
.hero--systemmap .lead{max-width:56ch;margin-top:var(--space-lg);}
.hero--systemmap .lead p{margin:0;}
.hero--systemmap .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-lg);margin-top:var(--space-lg);}
.hero--systemmap .hero-actions .btn-group{margin-top:0;}
.hero--systemmap .hero-actions > .btn-group{width:auto;}
.hero-contact{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.03em;}
.hero-contact p{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.hero-contact a{display:inline-flex;align-items:center;gap:7px;color:var(--color-ink);text-decoration:none;border-bottom:1px solid var(--color-border-strong);padding-bottom:2px;}
.hero-contact a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-accent);flex:0 0 auto;}
.hero-contact a:hover,.hero-contact a:focus-visible{color:var(--color-accent);border-bottom-color:var(--color-accent);}
.hero--systemmap .hero-trust{margin-top:var(--space-lg);padding-top:var(--space-sm);}
.hero--systemmap .hero-trust p{margin:0;letter-spacing:.05em;}
.heromap{position:relative;width:100%;min-width:0;align-items:stretch;}
.heromap > .elementor-widget{width:100%;align-self:stretch;}
.heromap .elementor-widget-container{width:100%;}
.heromap svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible;}
.heromap .hm-narrow{display:none;}
.hm-node{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.5;}
.hm-core{fill:var(--color-ink);stroke:var(--color-ink);}
.hm-link{stroke:var(--color-border-strong);stroke-width:1.5;fill:none;}
.hm-label{fill:var(--color-ink);font-family:var(--font-body);font-weight:600;}
.hm-corelabel{fill:#fff;font-family:var(--font-display);font-weight:700;}
.hm-flow{stroke:var(--color-accent);stroke-width:2.5;stroke-linecap:round;fill:none;stroke-dasharray:8 92;stroke-dashoffset:100;animation:hm-flow 2.9s linear infinite;}
@keyframes hm-flow{to{stroke-dashoffset:0;}}
.hm-pulse{fill:var(--color-accent);animation:hm-pulse 2.9s ease-in-out infinite;}
@keyframes hm-pulse{0%,100%{opacity:.32;}50%{opacity:1;}}
@media (min-width:1100px){
.heromap svg{max-height:min(48vh,420px);margin-inline:auto;}
}
@media (max-width:1399px){
.hero--systemmap .hero-actions > .hero-contact{flex-basis:100%;}
}
@media (max-width:1099px){
.hero--systemmap .heromap-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl);}
.hero--systemmap .hero-content{order:1;}
.hero--systemmap .heromap{order:2;}
.heromap svg{margin-inline:auto;max-width:680px;}
.hero-contact p{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md);}
}
@media (max-width:559px){
.heromap .hm-wide{display:none;}
.heromap .hm-narrow{display:block;}
.heromap svg{max-width:100%;}
}
@media (prefers-reduced-motion:reduce){
.hm-flow{animation:none;stroke-dashoffset:54;}
.hm-pulse{animation:none;opacity:.9;}
}

/* BDG1 home hero v4a */
@media (min-width:1400px){
.hero--systemmap .heromap-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,0.88fr);}
}
.hero--systemmap .btn .elementor-button{text-transform:none;}
.hero--systemmap .heromap-grid > .hero-trust{grid-column:1 / -1;margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border);}
.hero--systemmap .hero-trust ul.hero-trustline{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px 20px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);line-height:1.5;}
.hero--systemmap .hero-trust ul.hero-trustline li{margin:0;padding:0;}
@media (min-width:1400px){
.hero--systemmap .hero-trust ul.hero-trustline{gap:5px 0;}
.hero--systemmap .hero-trust ul.hero-trustline li:not(:last-child)::after{content:"\00b7";margin-inline:10px;color:var(--color-border-strong);}
}
@media (max-width:1099px){
.hero--systemmap .heromap-grid > .hero-trust{order:3;}
}
@media (max-width:559px){
.hero--systemmap .hero-trust ul.hero-trustline{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;}
.hero--systemmap{padding-block:14px;}
.hero--systemmap .lead{margin-top:14px;}
.hero--systemmap .hero-actions{margin-top:16px;}
.hero--systemmap .heromap-grid{gap:18px;}
.hero--systemmap .heromap-grid > .hero-trust{margin-top:14px;padding-top:10px;}
}

/* BDG1 home hero v4b */
@media (max-width:1099px){
.hero--systemmap .heromap-grid > .hero-trust{order:2;}
.hero--systemmap .heromap{order:3;}
}

/* BDG1 p03 nodecor */
.section--nodecor > .xbk3d-canvas{display:none;}

/* BDG1 p04 splitter */
.erp-splitter .card h2{font-size:var(--text-xl);margin-bottom:var(--space-xs);}

/* BDG1 p06 aicmp */
.aicmp{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;}
.aicmp .aicmp-head{display:grid;grid-template-columns:1fr 1fr;}
.aicmp .aicmp-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--color-border);}
.aicmp .aicmp-h{padding:var(--space-md) var(--space-lg);font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-surface-2);}
.aicmp .aicmp-h--ai{background:var(--color-accent-soft);color:var(--color-accent-strong);}
.aicmp .aicmp-cell{padding:var(--space-md) var(--space-lg);}
.aicmp .aicmp-cell--ai{border-left:2px solid var(--color-accent-soft);}
.aicmp .aicmp-cell p{margin:0;}
.aicmp .aicmp-lbl{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
@media (max-width:767px){
.aicmp .aicmp-head{display:none;}
.aicmp .aicmp-row{grid-template-columns:1fr;}
.aicmp .aicmp-cell--ai{border-left:0;border-top:2px solid var(--color-accent-soft);}
.aicmp .aicmp-lbl{position:static;width:auto;height:auto;margin:0 0 6px;overflow:visible;clip:auto;white-space:normal;display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);}
.aicmp .aicmp-cell--ai .aicmp-lbl{color:var(--color-accent-strong);}
}

/* BDG1 p07 gov */
.gov-grid .card h4{font-size:var(--text-xl);margin-bottom:var(--space-xs);}
.gov-grid .gov-stage--outlook{background:transparent;border-style:dashed;}
.gov-grid .gov-stage--outlook h4{color:var(--color-muted);}

/* BDG1 p08 uc */
.uc-maturity .card h3{font-size:var(--text-xl);margin-bottom:var(--space-xs);}
.uc-maturity .card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.uc-maturity .uc-mat--outlook{background:transparent;border-style:dashed;}
.uc-maturity .uc-mat--outlook h3{color:var(--color-muted);}
.uc-item .uc-name{font-size:var(--text-lg);}
.uc-item .faq-a strong{color:var(--color-ink);}
.uc-item .faq-a p{margin:0 0 var(--space-md);}
.uc-item .faq-a p:last-child{margin-bottom:0;}
@media (prefers-reduced-motion:reduce){
.uc-item .faq-q .faq-icon::before,.uc-item .faq-q .faq-icon::after{transition:none;}
}

/* BDG1 p08 uc tablet */
@media (max-width:1099px){
.uc-maturity{grid-template-columns:1fr;}
}
/* BDG1 p09 vm */
.vm-phases .vstep h4{font-size:var(--text-xl);margin:4px 0 8px;}

/* BDG1 p10 cta */
.cta-actions{display:flex;flex-direction:column;gap:var(--space-md);}
.cta-inner .cta-contact{display:flex;flex-wrap:wrap;gap:8px 20px;margin:var(--space-md) 0 0;font-size:var(--text-base);color:var(--color-on-ink);}
.cta-inner .cta-contact a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.cta-inner .cta-contact a:hover{color:var(--color-on-ink);}
@media (min-width:860px){.cta-actions{align-items:flex-end;}.cta-inner .cta-contact{justify-content:flex-end;}}

/* BDG1 p11 sticky */
.bdg-sticky-host{padding:0;}
.bdg-sticky{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--color-ink-bg);border-top:1px solid var(--color-on-ink-border);box-shadow:0 -6px 24px rgba(15,21,34,.28);visibility:hidden;opacity:0;transform:translateY(110%);transition:opacity .28s ease,transform .28s ease,visibility .28s;}
.bdg-sticky.is-on{visibility:visible;opacity:1;transform:none;}
.bdg-sticky__txt{margin:0;color:var(--color-on-ink);font-size:var(--text-sm);font-weight:600;}
.bdg-sticky__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;}
.bdg-sticky__btn{display:inline-flex;align-items:center;justify-content:center;padding:.7em 1.2em;border-radius:999px;background:var(--color-accent);color:#FFFFFF;font-weight:700;font-size:var(--text-sm);text-decoration:none;}
.bdg-sticky__btn:hover{color:#FFFFFF;}
.bdg-sticky__tel{color:#FFFFFF;font-weight:600;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;}
.bdg-sticky a:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px;}
@media (max-width:640px){.bdg-sticky{justify-content:space-between;gap:8px 12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));}.bdg-sticky__txt{display:none;}.bdg-sticky__btn{flex:1 1 auto;}}
@media (prefers-reduced-motion:reduce){.bdg-sticky{transition:none;}.bdg-sticky:not(.is-on){transform:none;}}

/* BDG1 p1b nav a11y */
@media (min-width:1025px){
.xpro-elementor-horizontal-navbar-nav li.is-open > .xpro-elementor-dropdown-menu{opacity:1 !important;visibility:visible !important;transform:translateY(0) !important;}
.xpro-elementor-horizontal-navbar-nav li.is-closed > .xpro-elementor-dropdown-menu{opacity:0 !important;visibility:hidden !important;transform:translateY(8px) !important;}
}

/* BDG1 p1d loesungen */
.loes-routes{width:100%;}
.loes-routes .loes-route{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(0,1.5fr) minmax(0,1fr) auto;gap:12px var(--space-lg);align-items:start;padding:var(--space-lg) 0;border-top:1px solid var(--color-border);}
.loes-routes .loes-route:last-child{border-bottom:1px solid var(--color-border);}
.loes-routes .loes-route h2{font-size:var(--text-xl);margin:0;}
.loes-routes .loes-route p{margin:0;color:var(--color-text-muted);}
.loes-routes .loes-route .loes-ex{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);}
.loes-routes .loes-route .text-link{white-space:nowrap;}
@media (max-width:1024px){.loes-routes .loes-route{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px var(--space-md);}.loes-routes .loes-route h2{grid-column:1 / -1;}}
@media (max-width:640px){.loes-routes .loes-route{grid-template-columns:1fr;gap:8px;}}

/* BDG1 p1e xentral */
.xen-models{width:100%;}
.xen-models .xen-model{display:grid !important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) auto;gap:14px var(--space-lg);align-items:start;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-bottom:var(--space-md);}
.xen-models .xen-model:last-child{margin-bottom:0;}
.xen-models .xen-model h3{margin:0 0 6px;font-size:var(--text-xl);}
.xen-models .xen-model p{margin:0;color:var(--color-text-muted);}
.xen-models .xen-lbl{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:4px;}
.xen-models .text-link{white-space:nowrap;}
@media (max-width:1100px){.xen-models .xen-model{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.xen-models .xen-model .xen-intro{grid-column:1 / -1;}}
@media (max-width:640px){.xen-models .xen-model{grid-template-columns:1fr;gap:12px;padding:var(--space-md);}}

/* BDG1 p1f ecommerce */
.ecm-rail{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-md);width:100%;margin-top:var(--space-xl);}
.ecm-rail .ecm-stage{position:relative;padding:var(--space-md);border-top:2px solid var(--color-accent);background:var(--color-surface-2);border-radius:0 0 var(--radius-md) var(--radius-md);}
.ecm-rail .ecm-stage:not(:last-child)::after{content:"";position:absolute;top:-6px;right:-14px;width:9px;height:9px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(-45deg);}
.ecm-rail .ecm-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.08em;}
.ecm-rail .ecm-stage h3{margin:6px 0 4px;font-size:var(--text-lg);}
.ecm-rail .ecm-stage p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);}
.ecm-cta{margin-top:var(--space-lg);}
@media (max-width:1024px){.ecm-rail{grid-template-columns:repeat(2,minmax(0,1fr));}.ecm-rail .ecm-stage:not(:last-child)::after{display:none;}}
@media (max-width:640px){.ecm-rail{grid-template-columns:1fr;}}

/* BDG1 p1g integrationen */
.int-canvas{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-lg);align-items:stretch;width:100%;margin-top:var(--space-xl);}
.int-canvas .int-col{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);}
.int-canvas .int-col--core{background:var(--color-ink-bg);border-color:var(--color-on-ink-border);}
.int-canvas .int-col--core h3{color:#FFFFFF;}
.int-canvas .int-col--core p{color:var(--color-on-ink);font-family:var(--font-mono);font-size:var(--text-sm);}
.int-canvas .int-col h3{margin:0 0 10px;font-size:var(--text-lg);}
.int-canvas .int-col ul{margin:0;padding-left:18px;color:var(--color-text-muted);}
.int-canvas .int-col li{margin:0 0 4px;}
.int-lane{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);width:100%;margin-top:var(--space-lg);}
.int-lane .int-tag{margin:0;padding:10px 14px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);text-align:center;}
.int-edi{margin-top:var(--space-lg);}
@media (max-width:1024px){.int-canvas{grid-template-columns:1fr;}.int-lane{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.int-lane{grid-template-columns:1fr;}}

/* BDG1 p1h edi */
.edi-flow{width:100%;margin-top:var(--space-lg);}
.edi-chain{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-sm);width:100%;}
.edi-chain .edi-node{position:relative;padding:14px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;}
.edi-chain .edi-node:not(:last-child)::after{content:"";position:absolute;top:50%;right:-11px;width:8px;height:8px;border-right:2px solid var(--color-accent);border-top:2px solid var(--color-accent);transform:translateY(-50%) rotate(45deg);}
.edi-chain .edi-n{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);}
.edi-chain .edi-nt{margin:4px 0 0;font-weight:600;font-size:var(--text-sm);}
.edi-exception{display:grid !important;grid-template-columns:auto minmax(0,1fr);gap:6px var(--space-md);align-items:center;margin-top:var(--space-md);padding:12px var(--space-md);border:1px dashed var(--color-negative);border-radius:var(--radius-sm);}
.edi-exception .edi-xl{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-negative);}
.edi-exception .edi-xv{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);}
.edi-route{margin-top:var(--space-lg);}
.edi-onboard{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);width:100%;}
.edi-onboard .edi-step{padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg);border-left:3px solid var(--color-accent);background:var(--color-surface);}
.edi-onboard .edi-num{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.08em;}
.edi-onboard .edi-step h3{margin:6px 0;font-size:var(--text-lg);}
.edi-onboard .edi-step p{margin:0;color:var(--color-text-muted);}
@media (max-width:1024px){.edi-chain{grid-template-columns:repeat(2,minmax(0,1fr));}.edi-chain .edi-node:not(:last-child)::after{display:none;}.edi-onboard{grid-template-columns:1fr;}}
@media (max-width:640px){.edi-chain{grid-template-columns:1fr;}.edi-exception{grid-template-columns:1fr;}}

/* BDG1 p1i readiness */
.pai-split{display:grid !important;grid-template-columns:minmax(0,0.42fr) minmax(0,1fr);gap:var(--space-xl);width:100%;margin-top:var(--space-xl);align-items:start;}
.pai-index{position:sticky;top:120px;}
.pai-index .pai-ix{margin:0;padding:8px 0;border-bottom:1px solid var(--color-border);font-weight:600;font-size:var(--text-sm);color:var(--color-ink);}
.pai-index .pai-ix span{display:inline-block;min-width:30px;font-family:var(--font-mono);color:var(--color-accent);}
.pai-evidence .pai-item{padding:var(--space-lg) 0;border-top:1px solid var(--color-border);}
.pai-evidence .pai-item:first-child{border-top:0;padding-top:0;}
.pai-evidence .pai-item h3{margin:0 0 10px;font-size:var(--text-xl);}
.pai-evidence .pai-pair{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);}
.pai-evidence .pai-pair p{margin:0;color:var(--color-text-muted);}
.pai-lbl{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:4px;}
.pai-options{display:flex !important;flex-wrap:wrap;gap:10px;margin-top:var(--space-lg);}
.pai-options .pai-opt{margin:0;padding:8px 16px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:var(--text-sm);}
@media (max-width:1024px){.pai-split{grid-template-columns:1fr;gap:var(--space-lg);}.pai-index{position:static;}}
@media (max-width:640px){.pai-evidence .pai-pair{grid-template-columns:1fr;gap:10px;}}

/* BDG1 p1j aiab */
.aiab-beta{background:var(--color-surface-2);border-top:3px solid var(--color-accent);}
.aiab-beta .aiab-btag{margin:0 0 10px;display:inline-block;padding:4px 12px;border-radius:999px;background:var(--color-accent);color:#FFFFFF;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;}
.aiab-beta p{margin:0;max-width:80ch;}
.aiab-beta .aiab-stand{margin-top:10px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);}
.aiab-path{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);width:100%;margin-top:var(--space-xl);align-items:stretch;}
.aiab-path .aiab-st{position:relative;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);}
.aiab-path .aiab-st:not(:last-child)::after{content:"";position:absolute;top:50%;right:-13px;width:9px;height:9px;border-right:2px solid var(--color-accent);border-top:2px solid var(--color-accent);transform:translateY(-50%) rotate(45deg);z-index:1;}
.aiab-path .aiab-n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-accent);color:#FFFFFF;font-family:var(--font-mono);font-size:var(--text-xs);}
.aiab-path .aiab-st h3{margin:10px 0 6px;font-size:var(--text-lg);}
.aiab-path .aiab-st p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);}
.aiab-path .aiab-gate{border-color:var(--color-accent);border-width:2px;box-shadow:0 10px 30px rgba(15,21,34,.10);}
.aiab-path .aiab-restricted{border-style:dashed;background:transparent;}
.aiab-path .aiab-restricted h3,.aiab-path .aiab-restricted p{color:var(--color-muted);}
.aiab-path .aiab-restricted .aiab-n{background:var(--color-muted);}
.aiab-mat{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);width:100%;margin-top:var(--space-xl);}
.aiab-mat .aiab-m{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);}
.aiab-mat .aiab-m h3{margin:0 0 10px;font-size:var(--text-lg);}
.aiab-mat .aiab-m ul{margin:0;padding-left:18px;color:var(--color-text-muted);}
.aiab-mat .aiab-m--out{border-style:dashed;background:transparent;}
.aiab-mat .aiab-m--out h3,.aiab-mat .aiab-m--out li{color:var(--color-muted);}
.aiab-note{margin-top:var(--space-lg);color:var(--color-text-muted);max-width:90ch;}
.aiab-shifts{width:100%;margin-top:var(--space-xl);}
.aiab-shifts .aiab-shift{padding:var(--space-lg) 0;border-top:1px solid var(--color-border);}
.aiab-shifts .aiab-shift:last-child{border-bottom:1px solid var(--color-border);}
.aiab-shifts .aiab-k{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.aiab-shifts .aiab-now{margin:0 0 12px;color:var(--color-muted);}
.aiab-shifts .aiab-now .aiab-k{color:var(--color-muted);}
.aiab-shifts .aiab-then{margin:0;color:var(--color-ink);font-weight:500;border-left:3px solid var(--color-accent);padding-left:14px;}
.aiab-shifts .aiab-then .aiab-k{color:var(--color-accent);}
.aiab-ucs{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-md);width:100%;margin-top:var(--space-xl);}
.aiab-ucs .aiab-uc{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);}
.aiab-ucs .aiab-uc h3{margin:0 0 6px;font-size:var(--text-base);}
.aiab-ucs .aiab-uct{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);}
@media (max-width:1100px){.aiab-path{grid-template-columns:repeat(2,minmax(0,1fr));}.aiab-path .aiab-st:not(:last-child)::after{display:none;}.aiab-mat{grid-template-columns:1fr;}.aiab-ucs{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.aiab-path{grid-template-columns:1fr;}.aiab-ucs{grid-template-columns:1fr;}}

/* BDG1 p1k mops */
.mops-loop{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg);width:100%;margin-top:var(--space-xl);position:relative;padding-bottom:46px;}
.mops-loop .mops-state{padding:var(--space-lg) var(--space-md);border:2px solid var(--color-accent);border-radius:999px;background:var(--color-surface);text-align:center;position:relative;}
.mops-loop .mops-state h3{margin:0;font-size:var(--text-lg);}
.mops-loop .mops-state:not(:last-child)::after{content:"";position:absolute;top:50%;right:-17px;width:9px;height:9px;border-right:2px solid var(--color-accent);border-top:2px solid var(--color-accent);transform:translateY(-50%) rotate(45deg);}
.mops-loop::before{content:"";position:absolute;left:8%;right:8%;bottom:20px;height:1px;background:var(--color-border);}
.mops-loop::after{content:"";position:absolute;left:8%;bottom:16px;width:9px;height:9px;border-left:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(45deg);}
.mops-ex{margin-top:var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);}
.mops-desk{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);width:100%;margin-top:var(--space-xl);}
.mops-desk .mops-col{padding:var(--space-lg);border:1px solid var(--color-border);border-top:4px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);}
.mops-desk .mops-col h3{margin:0 0 10px;font-size:var(--text-lg);}
.mops-desk .mops-col ul{margin:0;padding-left:18px;color:var(--color-text-muted);}
.mops-desk .mops-col li{margin:0 0 6px;}
.mops-desk .mops-col--gate{border-top-color:var(--color-positive);}
.mops-desk .mops-col--dep{border-top-color:var(--color-muted);border-left-style:dashed;border-right-style:dashed;border-bottom-style:dashed;}
.mops-badge{display:inline-block;margin:var(--space-md) 0 0;padding:6px 14px;border:1px solid var(--color-border);border-radius:999px;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);}
@media (max-width:1024px){.mops-loop{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:0;}.mops-loop .mops-state:not(:last-child)::after{display:none;}.mops-loop::before,.mops-loop::after{display:none;}.mops-desk{grid-template-columns:1fr;}}
@media (max-width:640px){.mops-loop{grid-template-columns:1fr;}}

/* BDG1 p1l refs */
.ref-dossier{display:grid !important;grid-template-columns:minmax(0,0.34fr) minmax(0,1fr);gap:var(--space-xl);align-items:start;padding:var(--space-2xl) 0;border-top:1px solid var(--color-border);width:100%;}
.ref-dossier:last-child{border-bottom:1px solid var(--color-border);}
.ref-dossier--lead{grid-template-columns:minmax(0,0.46fr) minmax(0,1fr);}
.ref-dossier--lead .ref-body h3{font-size:var(--text-2xl);}
.ref-dossier .ref-tile{min-height:180px;}
.ref-dossier .ref-body h3{margin:6px 0 10px;font-size:var(--text-xl);}
.ref-dossier .ref-body > p{margin:0 0 var(--space-lg);color:var(--color-text-muted);max-width:72ch;}
.ref-ledger{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);width:100%;}
.ref-ledger .ref-row p{margin:0 0 6px;}
.ref-ledger .ref-k{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);}
.ref-ledger .ref-row ul{margin:0;padding-left:18px;color:var(--color-text-muted);}
.ref-ledger .ref-row li{margin:0 0 4px;}
@media (max-width:1024px){.ref-dossier,.ref-dossier--lead{grid-template-columns:1fr;gap:var(--space-lg);padding:var(--space-xl) 0;}}
@media (max-width:640px){.ref-ledger{grid-template-columns:1fr;gap:var(--space-md);}}

/* BDG1 p1m kontakt */
.kon-desk{display:grid !important;grid-template-columns:minmax(0,1.55fr) minmax(0,0.85fr);gap:var(--space-2xl);align-items:start;width:100%;}
.kon-desk .kon-main h2{margin:0 0 var(--space-lg);font-size:var(--text-2xl);}
.kon-desk .kon-main .wpforms-container{max-width:100%;}
.kon-desk .kon-main input,.kon-desk .kon-main select,.kon-desk .kon-main textarea{max-width:100%;}
.kon-desk .kon-rail{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);}
.kon-desk .kon-rail h2{margin:0 0 var(--space-md);font-size:var(--text-lg);}
.kon-desk .kon-route p{margin:0 0 14px;}
.kon-desk .kon-k{display:block;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:2px;}
.kon-steps{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);width:100%;margin-top:var(--space-xl);}
.kon-steps .kon-step{padding:var(--space-lg);border-top:2px solid var(--color-accent);background:var(--color-surface);}
.kon-steps .kon-n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.08em;}
.kon-steps .kon-step h3{margin:6px 0;font-size:var(--text-lg);}
.kon-steps .kon-step p{margin:0;color:var(--color-text-muted);}
@media (max-width:1024px){.kon-desk{grid-template-columns:1fr;gap:var(--space-xl);}.kon-steps{grid-template-columns:1fr;}}

/* BDG1 p1d dossier */
.ref-dossier .ref-tile img{display:block;width:100%;height:auto;border-radius:var(--radius-md);}
.ref-dossier .ref-tile .bigmono{display:flex;align-items:center;justify-content:center;min-height:180px;border-radius:var(--radius-md);background:var(--color-surface-2);font-family:var(--font-mono);font-size:2rem;color:var(--color-accent);}
.ref-dossier .ref-body .eyebrow{margin-bottom:4px;}
.ref-quote{margin:var(--space-lg) 0 0;padding-left:14px;border-left:3px solid var(--color-accent);font-style:italic;color:var(--color-ink);}
