/*
Theme Name: Bremos IT (Child)
Template: kadence
Version: 1.0
Text Domain: bremos-it-child
*/

/* ---------- Base Reset ---------- */
*{ box-sizing:border-box; }
html, body{ margin:0; padding:0; }
img{ max-width:100%; height:auto; display:block; }

/* ---------- Design Tokens ---------- */
:root{
  --primary:#1B3B74;
  --primary2:#2B4F93;

  --text:#0F172A;
  --muted:#334155;
  --subtle:#64748B;

  --bg:#F5F7FA;
  --surface:#FFFFFF;
  --border:#E5E7EB;

  --radius:18px;
  --shadow: 0 18px 40px -26px rgba(15, 23, 42, .35);

  /* Mobile-Menü: Abstand unterhalb Header */
  --bremos-header-offset: 88px;
}

/* ---------- Global ---------- */
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(900px 500px at 15% 5%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(700px 420px at 85% 15%, rgba(27,59,116,.08), transparent 60%),
    radial-gradient(800px 520px at 70% 90%, rgba(27,59,116,.06), transparent 60%),
    var(--bg);
  line-height: 1.6;
}

p{ margin:0 0 14px; color:var(--muted); }
strong{ color:var(--text); }

a{ color:var(--primary); text-decoration:none; }
a:hover{ color:var(--primary2); text-decoration:underline; }

/* ---------- Layout ---------- */
.bremos-container{
  max-width:1290px;
  margin:0 auto;
  padding:0 24px;
}

.section{ padding:72px 0; }
.section-hero{ padding:88px 0 64px; }

.section-soft{
  background: linear-gradient(135deg, #F7F9FC 0%, #EEF2F6 100%);
}

/* ---------- Typography Utility ---------- */
.h1{ font-size:52px; line-height:1.12; letter-spacing:-0.02em; margin:0 0 14px; }
.h2{ font-size:36px; line-height:1.2; letter-spacing:-0.02em; margin:0 0 12px; }
.h3{ font-size:20px; line-height:1.25; margin:0 0 10px; color:var(--text); }
.lead{ font-size:18px; line-height:1.7; color:var(--muted); margin:0 0 18px; }
.small{ font-size:13px; color:var(--subtle); margin:0 0 8px; }

/* ---------- Grids ---------- */
.grid-2{ display:grid; grid-template-columns: 1.15fr .85fr; gap:28px; align-items:center; }
.grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }

/* ---------- Cards / Pills ---------- */
.card{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:26px;
}
.card.flat{ box-shadow:none; background:transparent; border:none; padding:0; }

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background: rgba(255,255,255,.85);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  color: var(--muted);
}

/* ---------- Header (Floating / Professional) ---------- */
.bremos-header{
  position: sticky;
  top: 0;
  z-index: 10001; /* muss über Overlay liegen */
  background: transparent;
  padding: 14px 0;
}

/* Admin-Bar Abstand im Backend */
body.admin-bar .bremos-header{ top: 32px; }
@media (max-width: 782px){
  body.admin-bar .bremos-header{ top: 46px; }
}

.bremos-header-shell{
  max-width: 1290px;
  margin: 0 auto;
  padding: 0 24px;
}

.bremos-header-bar{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;

  padding: 12px 16px;
  border-radius: 20px;

  background: rgba(246, 248, 252, .86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgba(226, 232, 240, .95);

  box-shadow:
    0 16px 32px -26px rgba(15,23,42,.45),
    0 1px 0 rgba(255,255,255,.65) inset;
}

.bremos-header-bar::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  pointer-events:none;
  background:
    radial-gradient(700px 140px at 18% 0%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(520px 140px at 82% 0%, rgba(27,59,116,.06), transparent 60%),
    repeating-linear-gradient(
      135deg,
      rgba(15,23,42,.018) 0px,
      rgba(15,23,42,.018) 1px,
      transparent 1px,
      transparent 6px
    );
  opacity: .9;
}
.bremos-header-bar > *{ position: relative; }

/* Brand */
.bremos-brand{
  display:flex;
  align-items:center;
  gap: 12px;
  text-decoration:none;
  white-space: nowrap;
}
.bremos-brand-logo{ height: 34px; width:auto; }
.bremos-brand-name{
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--text);
}

/* Right side */
.bremos-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 14px;
}

/* Nav */
.bremos-nav-list{
  list-style:none;
  display:flex;
  align-items:center;
  gap: 10px;
  margin:0;
  padding:0;
}
.bremos-nav a{
  color: var(--muted);
  font-weight: 500;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration:none;
  transition: background .15s ease, color .15s ease;
}
.bremos-nav a:hover{
  color: var(--text);
  background: rgba(15,23,42,.05);
}
.bremos-nav-list li.current-menu-item > a,
.bremos-nav-list li.current_page_item > a{
  background: rgba(15,23,42,.07);
  color: var(--text);
}

/* ---------- Buttons ---------- */
.bremos-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid var(--border);
  font-weight:600;
  line-height:1;
  background: rgba(255,255,255,.85);
  color: var(--primary);
  text-decoration:none;
}
.bremos-btn:hover{ border-color: rgba(27,59,116,.35); text-decoration:none; }

.bremos-btn-primary{
  background: var(--primary);
  color:#fff;
  border-color: transparent;
}
.bremos-btn-primary:hover{ background: var(--primary2); color:#fff; }

.bremos-btn-compact{ padding: 11px 16px; }

/* ---------- Footer ---------- */
.bremos-footer{
  border-top: 1px solid rgba(229,231,235,.85);
  padding: 28px 0;
  color: var(--subtle);
}
.bremos-footer-inner{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.bremos-footer a{ color: var(--subtle); }
.bremos-footer a:hover{ color: var(--text); }
.bremos-dot{ margin:0 10px; opacity:.6; }

/* ---------- Responsive Layout ---------- */
@media (max-width: 980px){
  .grid-2{ grid-template-columns:1fr; }
  .grid-3{ grid-template-columns:1fr; }
  .h1{ font-size:38px; }
  .section{ padding:56px 0; }
  .section-hero{ padding:64px 0 48px; }
}

/* ---------- Mobile Header / Burger Menu ---------- */
/* Desktop default */
.bremos-mobile-only{ display:none !important; }
.bremos-desktop-only{ display:inline-flex !important; }

button.bremos-burger{
  width: 44px;
  height: 40px;
  border-radius: 14px;
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, .95) !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;
  cursor: pointer;
  color: rgba(15,23,42,.82) !important;

  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;

  box-shadow: 0 10px 22px -22px rgba(15,23,42,.45);
}
button.bremos-burger:hover{
  border-color: rgba(27,59,116,.25) !important;
  color: rgba(15,23,42,.95) !important;
}
button.bremos-burger:focus{ outline:none !important; }
button.bremos-burger:focus-visible{
  outline: 2px solid rgba(27,59,116,.28) !important;
  outline-offset: 2px;
}

/* SVG Icons */
.bremos-icon{ display:block; color: currentColor; }
.bremos-icon-close{ display:none; }
body.bremos-menu-open .bremos-burger .bremos-icon-menu{ display:none; }
body.bremos-menu-open .bremos-burger .bremos-icon-close{ display:block; }

/* Overlay: Klickfläche transparent */
.bremos-menu-overlay{
  position: fixed;
  inset: 0;
  display: none;
  background: transparent;
  z-index: 10000;
}
body.bremos-menu-open .bremos-menu-overlay{ display:block; }

/* Panel: fix unter Header, gleiche Breite wie Header */
.bremos-menu-panel{
  position: fixed;
  top: var(--bremos-header-offset);
  left: 24px;
  right: 24px;
  margin: 0 auto;
  max-width: 1290px;
  border-radius: 20px;

  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, .95);

  box-shadow: 0 28px 70px -40px rgba(0,0,0,.30);
  overflow: hidden;

  transform: translateY(-6px);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;

  z-index: 10000;
}
body.bremos-menu-open .bremos-menu-panel{
  transform: translateY(0);
  opacity: 1;
}

/* Menü-Titel sauber & aligned */
.bremos-menu-title{
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--subtle);
}

/* Falls der Titel in einem Head-Block steckt: gleiche Kante wie Body */
.bremos-menu-head{
  padding: 14px 16px 0;
  border-bottom: none;
}
.bremos-menu-body{
  padding: 10px 16px 16px;
}


/* Admin-Bar berücksichtigen */
body.admin-bar .bremos-menu-panel{ top: calc(var(--bremos-header-offset) + 32px); }
@media (max-width: 782px){
  body.admin-bar .bremos-menu-panel{ top: calc(var(--bremos-header-offset) + 46px); }
}

/* Menü-Inhalt */
.bremos-menu-body{ padding: 14px 16px 16px; }

.bremos-mobile-nav{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 8px;
}

.bremos-mobile-nav a{
  display:flex;
  align-items:center;
  padding: 14px 14px;
  border-radius: 14px;

  color: var(--text);
  font-weight: 700;
  text-decoration: none;

  background: rgba(246,248,252,.95);
  border: 1px solid rgba(226, 232, 240, .95);

  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.bremos-mobile-nav a:visited{ color: var(--text); }

.bremos-mobile-nav a:hover{
  background: #FFFFFF;
  border-color: rgba(27,59,116,.18);
  color: var(--text);
}

.bremos-mobile-nav a:focus{ outline:none; box-shadow:none; }
.bremos-mobile-nav a:focus-visible{
  outline: 2px solid rgba(27,59,116,.30);
  outline-offset: 2px;
}

.bremos-mobile-nav li.current-menu-item > a,
.bremos-mobile-nav li.current_page_item > a{
  background: rgba(27,59,116,.10);
  border-color: rgba(27,59,116,.22);
  color: var(--primary);
}

.bremos-menu-cta{ margin-top: 12px; }

/* Breakpoint: Mobile */
@media (max-width: 980px){
  .bremos-desktop-only{ display:none !important; }
  .bremos-mobile-only{ display:inline-flex !important; }
  .bremos-nav{ display:none !important; }
}

/* =========================
   Footer (Bremos / Mercury)
   ========================= */

.bremos-footer{
  margin-top: 56px;
  border-top: 1px solid rgba(226,232,240,.9);
  background:
    radial-gradient(900px 260px at 20% 0%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(700px 240px at 85% 10%, rgba(27,59,116,.06), transparent 60%),
    linear-gradient(180deg, rgba(246,248,252,.78) 0%, rgba(245,247,250,1) 60%);
}

.bremos-footer-shell{
  padding-top: 36px;
  padding-bottom: 24px;
}

.bremos-footer-top{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 22px;
  align-items: start;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 46px -44px rgba(15,23,42,.45);
  position: relative;
  overflow: hidden;
}

/* dezente Struktur */
.bremos-footer-top::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(15,23,42,.014) 0px,
      rgba(15,23,42,.014) 1px,
      transparent 1px,
      transparent 7px
    );
  opacity: .75;
}
.bremos-footer-top > *{ position: relative; }

.bremos-footer-brandlink{
  display:flex;
  align-items:center;
  gap: 12px;
  text-decoration:none;
}

.bremos-footer-logo{
  height: 34px;
  width: auto;
}

.bremos-footer-brandname{
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
}

.bremos-footer-claim{
  margin: 10px 0 6px;
  font-weight: 700;
  color: var(--text);
}

.bremos-footer-note{
  margin: 0;
  color: var(--muted);
}

.bremos-footer-col{
  padding-top: 2px;
}

.bremos-footer-head{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--subtle);
  margin-bottom: 12px;
}

.bremos-footer-contact{
  display:flex;
  flex-direction: column;
  gap: 10px;
  color: var(--muted);
}

.bremos-footer-row{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}

.bremos-footer-icon{
  width: 22px;
  flex: 0 0 22px;
  opacity: .85;
  margin-top: 1px;
}

.bremos-footer-links{
  list-style:none;
  margin: 0;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 8px;
}

.bremos-footer-links a{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(226,232,240,.9);
  background: rgba(246,248,252,.92);
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}

.bremos-footer-links a:hover{
  background:#fff;
  border-color: rgba(27,59,116,.18);
  text-decoration:none;
}

.bremos-footer-mini{
  margin-top: 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bremos-footer-badge{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.9);
  background: rgba(27,59,116,.06);
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
}

.bremos-footer-bottom{
  margin-top: 14px;
  display:flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 10px 2px 0;
  color: var(--subtle);
  font-size: 13px;
}

.bremos-footer-sub{
  color: var(--subtle);
}

/* Responsive */
@media (max-width: 980px){
  .bremos-footer-top{
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .bremos-footer-bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Footer stärker vom Rest absetzen (mehr “Section” Gefühl) */
.bremos-footer{
  margin-top: 72px;
  padding: 22px 0 0;
  background:
    radial-gradient(1100px 320px at 20% 0%, rgba(27,59,116,.14), transparent 60%),
    radial-gradient(900px 300px at 85% 10%, rgba(27,59,116,.10), transparent 60%),
    linear-gradient(180deg, rgba(240,244,249,1) 0%, rgba(245,247,250,1) 55%);
}

/* Top-Card: etwas “tiefer” + klarer Rahmen */
.bremos-footer-top{
  padding: 18px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.55);
}

/* Grid kompakter (weniger Höhe) */
@media (min-width: 981px){
  .bremos-footer-top{
    grid-template-columns: 1.35fr .85fr .80fr;
    gap: 18px;
  }
}

/* Claim/Note minimal enger */
.bremos-footer-claim{ margin: 10px 0 6px; }
.bremos-footer-note{ margin: 0 0 10px; }

/* Chips unter Brand */
.bremos-footer-chips{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.bremos-footer-chip{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.95);
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}

.bremos-footer-chip:hover{
  background: #fff;
  border-color: rgba(27,59,116,.18);
  text-decoration: none;
}

.bremos-footer-chipicon{
  width: 18px;
  display:inline-flex;
  justify-content:center;
  opacity: .9;
}

/* Kontaktbereich (Adresse) etwas kompakter */
.bremos-footer-contact{ gap: 8px; }
.bremos-footer-row{ gap: 10px; }
.bremos-footer-icon{ margin-top: 2px; }

/* Bottom-Bar kompakter */
.bremos-footer-bottom{
  margin-top: 12px;
  padding: 10px 2px 0;
}

/* Mobile: Chips bleiben schön */
@media (max-width: 980px){
  .bremos-footer{ margin-top: 56px; }
  .bremos-footer-top{ padding: 16px; }
}

/* Footer-Links immer nebeneinander (mit Wrap) */
.bremos-footer-links{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.bremos-footer-links li{
  margin: 0 !important;
}

/* =========================
   Startseite (Bremos Home)
   ========================= */

.bremos-home .lead{ max-width: 70ch; }

/* HERO */
.bremos-hero{
  padding: 74px 0 52px;
  position: relative;
}

.bremos-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1000px 540px at 15% 0%, rgba(27,59,116,.14), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(27,59,116,.10), transparent 60%);
  opacity: .95;
}

.bremos-hero-grid{
  position: relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 28px;
  align-items: center;
}

.bremos-eyebrow{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.bremos-dotpill{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.78);
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
}

.bremos-hero-title{
  font-size: 54px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}

.bremos-hero-lead{
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 18px;
  color: var(--muted);
}

.bremos-hero-points{
  list-style:none;
  margin: 0 0 18px;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 10px;
  color: var(--muted);
  font-weight: 600;
}

.bremos-hero-points li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}

.bremos-ico{
  width: 22px;
  height: 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 10px;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.10);
  color: var(--primary);
  flex: 0 0 22px;
  margin-top: 1px;
}
.bremos-ico svg{ width: 16px; height: 16px; }

.bremos-hero-cta{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

/* KPI strip */
.bremos-kpis{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.bremos-kpi{
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 12px 26px -28px rgba(15,23,42,.55);
  min-width: 170px;
}

.bremos-kpi-top{
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.02em;
}
.bremos-kpi-sub{
  font-size: 12px;
  color: var(--subtle);
  margin-top: 2px;
}

/* HERO Visual */
.bremos-hero-visual{ display:flex; flex-direction: column; gap: 12px; }
.bremos-visual-card{
  position: relative;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 28px 70px -48px rgba(15,23,42,.55);
  overflow:hidden;
  padding: 18px;
}

.bremos-visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 220px at 20% 0%, rgba(27,59,116,.12), transparent 60%),
    radial-gradient(700px 220px at 82% 10%, rgba(27,59,116,.08), transparent 60%),
    repeating-linear-gradient(135deg, rgba(15,23,42,.012) 0px, rgba(15,23,42,.012) 1px, transparent 1px, transparent 7px);
  opacity: .95;
}

.bremos-visual-base{
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 16px;
  filter: drop-shadow(0 18px 26px rgba(15,23,42,.12));
}

.bremos-visual-float{
  position:absolute;
  border-radius: 16px;
  border: 1px solid rgba(226,232,240,.92);
  background: #fff;
  box-shadow: 0 22px 54px -44px rgba(15,23,42,.65);
}

.bremos-float-1{ width: 54%; right: 10px; top: 14px; transform: rotate(2deg); }
.bremos-float-2{ width: 34%; right: 18px; bottom: 14px; transform: rotate(-2deg); }
.bremos-float-3{ width: 48%; left: 12px; bottom: 18px; transform: rotate(1deg); }

.bremos-visual-caption{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}

.bremos-pill{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.78);
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
}



/* Logo Marquee (Tech/Partner Logos) */
.bremos-logo-marquee{
  padding: 18px 0 10px;
  position: relative;
}

.bremos-logo-marquee-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
  flex-wrap: wrap;
}

.bremos-logo-marquee-kicker{
  font-weight: 850;
  letter-spacing: -0.02em;
  color: var(--text);
  font-size: 14px;
}

.bremos-logo-marquee-sub{
  color: var(--subtle);
  font-size: 13px;
  max-width: 80ch;
}

.bremos-marquee{
  border-radius: 22px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 50px -46px rgba(15,23,42,.55);
  overflow: hidden;
}

.bremos-marquee-mask{
  position: relative;
  overflow: hidden;
}

/* Edge fade */
.bremos-marquee-mask::before,
.bremos-marquee-mask::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width: 92px;
  z-index: 2;
  pointer-events:none;
}
.bremos-marquee-mask::before{
  left:0;
  background: linear-gradient(90deg, rgba(246,248,252,1) 0%, rgba(246,248,252,0) 100%);
}
.bremos-marquee-mask::after{
  right:0;
  background: linear-gradient(270deg, rgba(246,248,252,1) 0%, rgba(246,248,252,0) 100%);
}

.bremos-marquee-track{
  --marquee-gap: 18px;
  --marquee-speed: 34s;

  display:flex;
  width: max-content;
  align-items:center;
  gap: var(--marquee-gap);
  padding: 14px 14px;

  animation: bremos-marquee var(--marquee-speed) linear infinite;
  will-change: transform;
}

.bremos-marquee-group{
  display:flex;
  align-items:center;
  gap: var(--marquee-gap);
}

.bremos-logo-item{
  height: 54px;
  padding: 10px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.92);
  display:flex;
  align-items:center;
  justify-content:center;
}

.bremos-logo-item img{
  height: 100%;
  width: auto;
  max-width: 240px; /* verhindert überbreite Logos */
  object-fit: contain;
  display:block;
}

/* Pause on hover/focus (Desktop) */
.bremos-marquee:hover .bremos-marquee-track,
.bremos-marquee:focus-within .bremos-marquee-track{
  animation-play-state: paused;
}

@keyframes bremos-marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Motion accessibility */
@media (prefers-reduced-motion: reduce){
  .bremos-marquee-track{
    animation: none;
    transform: none;
  }
  .bremos-marquee-mask{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bremos-marquee-mask::before,
  .bremos-marquee-mask::after{
    display:none;
  }
}

/* Responsive tuning */
@media (max-width: 980px){
  .bremos-logo-item{ height: 48px; padding: 9px 12px; }
  .bremos-marquee-track{ padding: 12px 12px; --marquee-speed: 28s; }
  .bremos-marquee-mask::before,
  .bremos-marquee-mask::after{ width: 64px; }
}

@media (max-width: 520px){
  .bremos-logo-marquee{ padding: 12px 0 4px; }
  .bremos-logo-item{ height: 44px; padding: 8px 10px; }
  .bremos-logo-item img{ max-width: 200px; }
  .bremos-marquee-track{ --marquee-gap: 14px; }
}


/* Sections */
.bremos-section{ padding: 68px 0; }
.bremos-section-soft{
  background: linear-gradient(135deg, rgba(247,249,252,.9) 0%, rgba(238,242,246,.92) 100%);
  border-top: 1px solid rgba(226,232,240,.7);
  border-bottom: 1px solid rgba(226,232,240,.7);
}
.bremos-section-head{ margin-bottom: 18px; }

/* Feature grid */
.bremos-feature-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 18px;
}

.bremos-feature{
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 46px -44px rgba(15,23,42,.55);
}

.bremos-feature-ico{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.12);
  color: var(--primary);
  margin-bottom: 12px;
}
.bremos-feature-ico svg{ width: 22px; height: 22px; }

.bremos-feature-title{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
}

.bremos-feature-text{
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

/* Products */
.bremos-product-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 18px;
}

.bremos-product-card{
  display:grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.60);
}

.bremos-product-media{
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.95);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 10px;
}
.bremos-product-media img{
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 20px 44px -46px rgba(15,23,42,.70);
}

.bremos-tag{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(27,59,116,.06);
  color: var(--muted);
  font-weight: 800;
  font-size: 12px;
  margin-bottom: 10px;
}

.bremos-product-title{
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.bremos-product-text{
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.75;
}

.bremos-mini-list{
  list-style:none;
  margin: 0 0 14px;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 8px;
  color: var(--muted);
  font-weight: 700;
}
.bremos-mini-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.bremos-mini-list li::before{
  content:"✓";
  color: var(--primary);
  font-weight: 900;
  margin-top: 1px;
}

.bremos-product-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* WHY */
.bremos-why{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items: center;
}

.bremos-checklist{
  list-style:none;
  margin: 14px 0 0;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 10px;
  color: var(--muted);
  font-weight: 700;
}
.bremos-check{
  display:inline-flex;
  width: 24px;
  height: 24px;
  align-items:center;
  justify-content:center;
  border-radius: 10px;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.12);
  color: var(--primary);
  margin-right: 10px;
}

.bremos-why-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.bremos-why-visual{
  display:flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
}
.bremos-why-card{
  width: 100%;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.60);
  padding: 12px;
}
.bremos-why-card-small{
  width: 78%;
  transform: translateY(-6px);
}
.bremos-why-img{
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 22px 54px -58px rgba(15,23,42,.75);
}

/* CTA */
.bremos-cta{
  padding: 66px 0;
  background:
    radial-gradient(900px 260px at 20% 0%, rgba(255,255,255,.12), transparent 60%),
    radial-gradient(700px 240px at 85% 10%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(135deg, rgba(27,59,116,1) 0%, rgba(15,47,102,1) 100%);
  color:#fff;
}
.bremos-cta-inner{
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  box-shadow: 0 30px 80px -60px rgba(0,0,0,.70);
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.bremos-cta-title{
  margin: 0 0 8px;
  font-size: 28px;
  letter-spacing: -0.02em;
}
.bremos-cta-text{
  margin: 0;
  color: rgba(255,255,255,.88);
  line-height: 1.7;
}
.bremos-cta-actions{ display:flex; gap: 12px; flex-wrap: wrap; }
.bremos-cta .bremos-btn{ border-color: rgba(255,255,255,.25); }
.bremos-cta .bremos-btn:hover{ border-color: rgba(255,255,255,.40); }
.bremos-cta .bremos-btn-primary{
  background: #fff;
  color: var(--primary);
}
.bremos-cta .bremos-btn-primary:hover{
  background: rgba(255,255,255,.92);
  color: var(--primary);
}

/* Responsive */
@media (max-width: 980px){
  .bremos-hero{ padding: 56px 0 44px; }
  .bremos-hero-grid{ grid-template-columns: 1fr; }
  .bremos-hero-title{ font-size: 38px; }
  .bremos-feature-grid{ grid-template-columns: 1fr; }
  .bremos-product-grid{ grid-template-columns: 1fr; }
  .bremos-product-card{ grid-template-columns: 1fr; }
  .bremos-why{ grid-template-columns: 1fr; }
  .bremos-why-card-small{ width: 100%; transform: none; }
}

@media (prefers-reduced-motion: reduce){
  .bremos-visual-float{ transform: none !important; }
}

/* HERO Visual – cleaner: nur 1 Overlay */
.bremos-visual-card{
  padding: 18px;
}

.bremos-visual-base{
  border-radius: 18px;
}

.bremos-visual-float.bremos-float-1{
  width: 58%;
  right: 14px;
  top: 16px;
  transform: rotate(1.2deg);
}

/* Entfernte Floats neutralisieren (falls alte Regeln noch greifen) */
.bremos-float-2,
.bremos-float-3{
  display: none !important;
}

/* WHY Visual – nur 1 Karte, kein “small card” */
.bremos-why-card-small{
  display: none !important;
}

/* =========================
   Hero Visual UI Card (Mercury-like)
   ========================= */

/* Falls noch alte Float-Regeln existieren: deaktivieren */
.bremos-visual-float{ display:none !important; }

.bremos-visual-card{
  position: relative;
  padding: 18px;
}

.bremos-visual-base{
  border-radius: 18px;
}

/* UI Card */
.bremos-ui-card{
  position: absolute;
  right: 14px;
  top: 14px;
  width: min(320px, 86%);
  border-radius: 18px;

  background: rgba(255,255,255,.92);
  border: 1px solid rgba(226,232,240,.95);

  box-shadow: 0 28px 70px -52px rgba(15,23,42,.70);
  overflow: hidden;
}

.bremos-ui-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(520px 140px at 20% 0%, rgba(27,59,116,.12), transparent 60%),
    radial-gradient(420px 140px at 85% 10%, rgba(27,59,116,.08), transparent 60%);
  opacity: .95;
}

/* Head */
.bremos-ui-head{
  position: relative;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 12px 10px;
  border-bottom: 1px solid rgba(226,232,240,.85);
}

.bremos-ui-dot{
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: rgba(34,197,94,.95); /* “online” */
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
  flex: 0 0 10px;
}

.bremos-ui-title{
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
  font-size: 13px;
}

.bremos-ui-pill{
  margin-left: auto;
  display:inline-flex;
  align-items:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.95);
  color: var(--muted);
  font-weight: 800;
  font-size: 12px;
}

/* Rows */
.bremos-ui-rows{
  position: relative;
  padding: 10px 12px 12px;
  display:flex;
  flex-direction: column;
  gap: 8px;
}

.bremos-ui-row{
  display:grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items:start;

  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(226,232,240,.9);
  background: rgba(246,248,252,.92);
}

.bremos-ui-ico{
  width: 28px;
  height: 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.10);
  font-size: 14px;
}

.bremos-ui-label{
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  font-size: 13px;
}

.bremos-ui-val{
  grid-column: 2 / -1;
  margin-top: 2px;
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.35;
}

/* Mobile: Karte unter Bild statt über Bild (damit es nicht quetscht) */
@media (max-width: 980px){
  .bremos-ui-card{
    position: static;
    width: 100%;
    margin-top: 12px;
  }
}

/* =========================
   Hero Visual Split (Bild + UI Card nebeneinander)
   ========================= */

/* Alte absolute Positionierung neutralisieren */
.bremos-ui-card{
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
  transform: none !important;
}

/* Split-Layout in der Visual-Card */
.bremos-visual-card{
  padding: 18px;
  overflow: hidden; /* sauberer Card-Rand */
}

.bremos-visual-split{
  display: grid;
  grid-template-columns: 1.15fr .85fr; /* Bild größer, UI Panel kleiner */
  gap: 14px;
  align-items: stretch;
}

/* Bildfläche */
.bremos-visual-media{
  border-radius: 18px;
  background: rgba(246,248,252,.95);
  border: 1px solid rgba(226,232,240,.92);
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px;
}

.bremos-visual-base{
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 26px 70px -58px rgba(15,23,42,.60);
}

/* Panelfläche für UI Card */
.bremos-visual-panel{
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  overflow: hidden;
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.60);
}

/* UI Card innerhalb Panel: keine extra Außen-Schatten nötig */
.bremos-visual-panel .bremos-ui-card{
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: hidden;
}

/* Head/Rows bleiben wie gehabt – nur etwas kompakter */
.bremos-visual-panel .bremos-ui-head{
  padding: 12px 12px 10px;
}
.bremos-visual-panel .bremos-ui-rows{
  padding: 10px 12px 12px;
}

/* Tablet/Mobile */
@media (max-width: 1100px){
  .bremos-visual-split{
    grid-template-columns: 1fr;
  }
  .bremos-visual-panel{
    margin-top: 10px;
  }
}

/* =========================
   Services Page Styles
   ========================= */
.bremos-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  letter-spacing:-0.02em;
  font-size: 13px;
  color: rgba(15,23,42,.70);
  margin: 0 0 10px;
}

.bremos-checklist{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.bremos-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-weight:700;
  color: var(--text);
}
.bremos-check-ico{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,59,116,.10);
  border: 1px solid rgba(27,59,116,.14);
  color: var(--primary);
  flex: 0 0 22px;
  margin-top: 2px;
}

.bremos-actions{
  margin-top:18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Panel */
.bremos-services-panel{
  padding: 0;
  overflow: hidden;
}
.bremos-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(226,232,240,.85);
  background:
    radial-gradient(520px 140px at 20% 0%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(420px 140px at 85% 10%, rgba(27,59,116,.06), transparent 60%),
    rgba(246,248,252,.92);
}
.bremos-panel-title{
  font-weight:900;
  letter-spacing:-0.02em;
}
.bremos-panel-pill{
  font-weight:900;
  font-size:12px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.85);
  color: var(--muted);
}
.bremos-panel-list{
  padding: 12px 14px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.bremos-panel-item{
  display:flex;
  gap:12px;
  align-items:center;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.90);
}
.bremos-panel-icon{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.12);
}
.bremos-panel-label{
  font-weight: 900;
  color: var(--text);
}
.bremos-panel-sub{
  font-weight: 700;
  font-size: 12px;
  color: var(--muted);
}
.bremos-panel-footer{
  padding: 12px 16px 16px;
  border-top: 1px solid rgba(226,232,240,.85);
}
.bremos-panel-note{
  font-weight: 800;
  color: rgba(15,23,42,.70);
}

/* Cards layout */
.bremos-cards-2{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.bremos-service-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(226,232,240,.92);
  border-radius: 20px;
  box-shadow: 0 24px 60px -56px rgba(15,23,42,.70);
  padding: 18px;
}
.bremos-service-card-full{
  grid-column: 1 / -1;
}

.bremos-service-top{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  margin-bottom: 10px;
}
.bremos-service-ico{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.12);
  font-size: 16px;
}
.bremos-service-title .h3{ margin: 0; }

.bremos-list{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-weight: 650;
}
.bremos-list li{ margin: 8px 0; }

.bremos-service-bottom{
  margin-top: 14px;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}

.bremos-badge{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.92);
  color: rgba(15,23,42,.70);
  font-weight: 900;
  font-size: 12px;
}

/* Mini cards (Schulung) */
.bremos-cards-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 8px;
}
.bremos-mini-card{
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.92);
  padding: 14px;
}
.bremos-mini-title{
  font-weight: 900;
  color: var(--text);
  margin-bottom: 6px;
}
.bremos-mini-sub{
  font-weight: 650;
  color: var(--muted);
}

/* Steps */
.bremos-steps{
  margin-top: 14px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.bremos-step{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.90);
}
.bremos-step-no{
  width: 32px;
  height: 32px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 1000;
  color: var(--primary);
  background: rgba(27,59,116,.10);
  border: 1px solid rgba(27,59,116,.14);
  flex: 0 0 32px;
}
.bremos-step-title{
  font-weight: 950;
  color: var(--text);
}
.bremos-step-sub{
  font-weight: 650;
  color: var(--muted);
}

/* Aside */
.bremos-services-aside{
  padding: 16px;
}
.bremos-aside-head{
  font-weight: 950;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.bremos-aside-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.bremos-aside-item{
  padding: 14px;
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.92);
}
.bremos-aside-big{
  font-weight: 1000;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: 6px;
}
.bremos-aside-sub{
  font-weight: 650;
  color: var(--muted);
}
.bremos-aside-cta{
  margin-top: 14px;
  display:flex;
  justify-content:flex-end;
}

/* Responsive */
@media (max-width: 980px){
  .bremos-cards-2{ grid-template-columns: 1fr; }
  .bremos-cards-3{ grid-template-columns: 1fr; }
  .bremos-aside-grid{ grid-template-columns: 1fr; }
}

/* ===== Fix: Hero-Checklist bricht nicht mehr komisch ===== */
.bremos-checklist{
  max-width: 560px;
}

.bremos-check{
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  column-gap: 10px;
}

.bremos-check span:last-child{
  min-width: 0;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* ===== Tone down: weniger “zu fett” auf der Services-Seite ===== */
.bremos-service-card .h3{ font-weight: 800; }              /* Headlines bleiben stark */
.bremos-panel-title{ font-weight: 850; }
.bremos-panel-label{ font-weight: 800; }

.bremos-list{
  font-weight: 520; /* vorher ~650 */
}

.bremos-panel-sub,
.bremos-mini-sub,
.bremos-step-sub,
.bremos-aside-sub{
  font-weight: 520;
}

.bremos-badge{
  font-weight: 800; /* Badge bleibt klar, aber nicht “ultra” */
}

/* ===== CTA Card (wie Frontpage: dunkelblau, modern, edel) ===== */
.bremos-cta-card{
  position: relative;
  border-radius: 24px;
  padding: 26px;
  overflow: hidden;

  background: linear-gradient(135deg, #102a57 0%, var(--primary) 55%, #0b2b66 100%);
  box-shadow: 0 36px 90px -70px rgba(15,23,42,.90);
}

.bremos-cta-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 220px at 18% 0%, rgba(255,255,255,.16), transparent 60%),
    radial-gradient(520px 220px at 88% 20%, rgba(255,255,255,.10), transparent 60%);
  pointer-events:none;
}

.bremos-cta-grid{
  position: relative;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items: center;
}

.bremos-cta-title{
  margin: 0 0 8px;
  color: #fff;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 900;
}

.bremos-cta-text{
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 16px;
  font-weight: 520;
}

.bremos-cta-actions{
  display:flex;
  justify-content:flex-end;
}

/* Button in CTA: hell auf dunkel */
.bremos-cta-card .bremos-btn-primary{
  background: #fff;
  color: var(--primary);
  border-color: transparent;
}
.bremos-cta-card .bremos-btn-primary:hover{
  background: rgba(255,255,255,.92);
  color: var(--primary);
}

@media (max-width: 980px){
  .bremos-cta-grid{ grid-template-columns: 1fr; }
  .bremos-cta-actions{ justify-content:flex-start; }
  .bremos-cta-title{ font-size: 24px; }
}

/* ===== HERO Checkliste: robust (kein “Wort-Stapeln”) ===== */
.bremos-checklist{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  max-width: 560px;
}

.bremos-checklist li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.bremos-check-ico{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(27,59,116,.10);
  border: 1px solid rgba(27,59,116,.14);
  color: var(--primary);
  flex: 0 0 22px;
  margin-top: 2px;
  font-weight: 900;
}

.bremos-check-text{
  flex: 1;
  min-width: 0;
  white-space: normal;
  line-height: 1.35;
  font-weight: 700;
  color: var(--text);
}

/* ===== Schrift insgesamt etwas “ruhiger” (weniger fett) ===== */
.bremos-list{ font-weight: 520; }
.bremos-panel-sub,
.bremos-mini-sub{ font-weight: 520; }
.bremos-badge{ font-weight: 800; }

/* ===== Panel Bild (bremos-services.png) sauber gerahmt ===== */
.bremos-panel-media{
  padding: 0 14px 14px;
}

.bremos-panel-media img{
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.92);
  box-shadow: 0 28px 70px -62px rgba(15,23,42,.70);
  display: block;
}

/* ===== Kommunikations-Sektion Bild-Card ===== */
.bremos-image-card{
  padding: 16px;
  overflow: hidden;
}

.bremos-image-card img{
  width: 100%;
  height: auto;
  display:block;
  border-radius: 22px;
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 30px 80px -68px rgba(15,23,42,.75);
  background: rgba(246,248,252,.92);
}

/* Avatar (rundes Profilbild) */
.bremos-media-head{
  display:flex;
  align-items:center;
  gap: 14px;
}

.bremos-avatar{
  width: 58px;
  height: 58px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 50px -46px rgba(15,23,42,.70);
  background: rgba(246,248,252,.92);
  flex: 0 0 58px;
}

/* kleine Mini-Grid innerhalb Kommunikations-Text */
.bremos-mini-grid{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 980px){
  .bremos-mini-grid{ grid-template-columns: 1fr; }
}

/* ===== Services Hero: Panel-Grafik kleiner & eleganter ===== */
.bremos-panel-media{
  padding: 0 14px 16px;
  display: flex;
  justify-content: center;
}

.bremos-panel-media img{
  /* deutlich kleiner */
  width: min(420px, 92%);
  max-height: 220px;

  /* damit nichts “gequetscht” aussieht */
  object-fit: contain;

  /* deine bestehende Optik bleibt */
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.92);
  box-shadow: 0 28px 70px -62px rgba(15,23,42,.70);
  display: block;
  padding: 10px; /* wirkt wie “framed thumbnail” */
}

/* Optional: auf großen Screens minimal größer */
@media (min-width: 1200px){
  .bremos-panel-media img{
    width: min(460px, 92%);
    max-height: 240px;
  }
}

/* ===== Home Hero: Haken-Kreise sauber IN der Form ===== */
.bremos-checklist-home li{
  align-items: center;            /* nicht “top”, damit Kreis mittig sitzt */
}

.bremos-checklist-home .bremos-check-ico{
  margin-top: 0;                  /* entfernt das “rausrutschen” */
  align-self: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  line-height: 1;
}

/* Falls irgendwo ein Container clippt/overflow hat */
.bremos-checklist-home{
  overflow: visible;
}

/* ===== Home: Checklist (bremos-check) sauber ausrichten ===== */
.bremos-checklist-home{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  max-width: 720px;
}

.bremos-checklist-home li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.35;
}

/* Das ist DEIN Haken-Element */
.bremos-checklist-home .bremos-check{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: rgba(27,59,116,.10);
  border: 1px solid rgba(27,59,116,.14);
  color: var(--primary);

  flex: 0 0 22px;
  margin-top: 2px;     /* feinjustiert für Mehrzeiler */
  font-weight: 900;

  /* verhindert “rausrutschen” durch inherited styles */
  position: relative;
  left: 0;
}

/* ===== Über uns: Layout / Portrait ===== */
.bremos-about-hero{ align-items: stretch; }

.bremos-about-card{
  padding: 0;
  overflow: hidden;
}

.bremos-portrait-wrap{
  background: radial-gradient(900px 500px at 20% 10%, rgba(27,59,116,.12), transparent 55%),
              radial-gradient(700px 420px at 80% 0%, rgba(27,59,116,.08), transparent 60%),
              rgba(246,248,252,.95);
  border-bottom: 1px solid rgba(226,232,240,.92);
  padding: 18px;
}

.bremos-portrait{
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 50% 20%;
  border-radius: 22px;
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 30px 80px -70px rgba(15,23,42,.80);
  background: #fff;
}

.bremos-about-card-body{
  padding: 18px 18px 20px;
}

.bremos-about-name{
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 20px;
  color: var(--text);
}

.bremos-about-role{
  margin-top: 4px;
  color: var(--subtle);
  font-weight: 520;
}

.bremos-about-tags{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 12px;
}

/* Zitat-Card */
.bremos-quote-card{
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.95);
  padding: 14px 14px;
  box-shadow: 0 18px 50px -46px rgba(15,23,42,.60);
  position: relative;
}

.bremos-quote-mark{
  position:absolute;
  top: 10px;
  left: 12px;
  font-size: 28px;
  font-weight: 900;
  color: rgba(27,59,116,.35);
}

.bremos-quote-text{
  padding-left: 18px;
  color: var(--text);
  font-weight: 700;
  line-height: 1.35;
}

/* Timeline */
.bremos-timeline{
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.bremos-step{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(226,232,240,.92);
  border-radius: 18px;
  padding: 14px 14px;
  box-shadow: 0 18px 50px -54px rgba(15,23,42,.55);
}

.bremos-step-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(27,59,116,.90);
  margin-top: 6px;
  flex: 0 0 12px;
  box-shadow: 0 10px 26px -18px rgba(27,59,116,.75);
}

.bremos-step-title{
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.02em;
  margin-bottom: 2px;
}

.bremos-step-text{
  color: var(--muted);
  font-weight: 520;
}

/* Side Card */
.bremos-about-side .bremos-list li{ margin-bottom: 8px; }

/* Responsive */
@media (max-width: 980px){
  .bremos-portrait{ aspect-ratio: 4 / 5; }
}

/* =========================
   Header Brand Upgrade
   ========================= */

/* Brand block: mehr Präsenz, aber seriös */
.bremos-brand{
  gap: 12px;
}

/* Logo in einer “Mark”-Fläche: wirkt hochwertiger als “nur ein Bild” */
.bremos-brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;

  background: rgba(255,255,255,.72);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 46px -44px rgba(15,23,42,.55);

  flex: 0 0 44px;
}

.bremos-brand-logo{
  height: 28px;    /* sichtbarer */
  width: auto;
  display:block;
}

/* Typo: Title + Subline wie “Brand Label” */
.bremos-brand-text{
  display:flex;
  flex-direction: column;
  line-height: 1.05;
  gap: 3px;
  padding-right: 2px;
}

.bremos-brand-title{
  font-weight: 950;
  letter-spacing: -0.03em;
  color: var(--text);
  font-size: 16px;
}

/* dezente Subline (kannst du jederzeit ändern oder rausnehmen) */
.bremos-brand-sub{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  color: rgba(15,23,42,.62);
}

/* Hover: minimal “premium” */
.bremos-brand:hover .bremos-brand-mark{
  border-color: rgba(27,59,116,.22);
}
.bremos-brand:hover .bremos-brand-title{
  color: rgba(15,23,42,.95);
}

/* Mobile: Subline aus Platzgründen etwas kleiner */
@media (max-width: 980px){
  .bremos-brand-mark{ width: 42px; height: 42px; border-radius: 15px; }
  .bremos-brand-logo{ height: 27px; }
  .bremos-brand-title{ font-size: 15px; }
  .bremos-brand-sub{ font-size: 11px; }
}

/* =========================
   Header Brand: Logo größer
   ========================= */

/* Rahmen/Badge größer */
.bremos-brand-mark{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  flex: 0 0 56px;
}

/* Logo darin deutlich größer */
.bremos-brand-logo{
  height: 48px;   /* hier kannst du auch 40px testen */
  width: auto;
}

/* Optional: Header-Bar minimal mehr Luft, damit nichts gedrückt wirkt */
.bremos-header-bar{
  padding: 12px 18px;
}

/* Mobile fein abgestimmt */
@media (max-width: 980px){
  .bremos-brand-mark{
    width: 52px;
    height: 52px;
    border-radius: 17px;
    flex: 0 0 52px;
  }
  .bremos-brand-logo{
    height: 48px;
  }
}

/* =========================
   Header Brand: Name größer
   ========================= */

/* Brand-Name deutlich lesbarer */
.bremos-brand-title{
  font-size: 18px;          /* vorher 16px */
  font-weight: 950;
  letter-spacing: -0.03em;
  color: var(--text);
  line-height: 1.05;
}

/* Subline etwas ruhiger, damit der Titel dominiert */
.bremos-brand-sub{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15,23,42,.62);
  line-height: 1.05;
}

/* Auf sehr großen Screens noch etwas mehr Präsenz */
@media (min-width: 1200px){
  .bremos-brand-title{ font-size: 19px; }
}

/* Mobile: Titel bleibt gut lesbar, Subline etwas kleiner */
@media (max-width: 980px){
  .bremos-brand-title{ font-size: 17px; }
  .bremos-brand-sub{ font-size: 11px; }
}

/* =========================
   Kontaktseite (Bremos)
   ========================= */

.bremos-contact-hero{
  padding: 74px 0 52px;
  position: relative;
}

.bremos-contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1100px 520px at 15% 0%, rgba(27,59,116,.14), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(27,59,116,.10), transparent 60%);
  opacity: .95;
}

.bremos-contact-hero-grid{
  position: relative;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: center;
}

.bremos-contact-points{
  list-style:none;
  margin: 0 0 18px;
  padding: 0;
  display:flex;
  flex-direction: column;
  gap: 10px;
  color: var(--muted);
  font-weight: 600;
}

.bremos-contact-points li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}

.bremos-contact-hero-actions{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.bremos-contact-chips{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.bremos-contact-chip{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.78);
  color: var(--text);
  font-weight: 700;
  text-decoration:none;
}

.bremos-contact-chip:hover{
  background:#fff;
  border-color: rgba(27,59,116,.18);
  text-decoration:none;
}

.bremos-contact-chip-ico{
  width: 18px;
  display:inline-flex;
  justify-content:center;
  opacity: .9;
}

/* Visual Card */
.bremos-contact-visual-card{
  position: relative;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 28px 70px -48px rgba(15,23,42,.55);
  overflow:hidden;
  padding: 18px;
}

.bremos-contact-visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 220px at 20% 0%, rgba(27,59,116,.12), transparent 60%),
    radial-gradient(700px 220px at 82% 10%, rgba(27,59,116,.08), transparent 60%),
    repeating-linear-gradient(135deg, rgba(15,23,42,.012) 0px, rgba(15,23,42,.012) 1px, transparent 1px, transparent 7px);
  opacity: .95;
}

.bremos-contact-visual-card > *{ position: relative; }

.bremos-contact-visual-split{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 14px;
  align-items: stretch;
}

.bremos-contact-visual-media{
  border-radius: 18px;
  background: rgba(246,248,252,.95);
  border: 1px solid rgba(226,232,240,.92);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 12px;
}

.bremos-contact-visual-media img{
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 26px 70px -58px rgba(15,23,42,.60);
  display:block;
}

.bremos-contact-visual-panel{
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  overflow: hidden;
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.60);
}

.bremos-contact-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(226,232,240,.85);
  background:
    radial-gradient(520px 140px at 20% 0%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(420px 140px at 85% 10%, rgba(27,59,116,.06), transparent 60%),
    rgba(246,248,252,.92);
}

.bremos-contact-panel-title{
  font-weight: 850;
  letter-spacing: -0.02em;
  color: var(--text);
}

.bremos-contact-panel-pill{
  font-weight: 800;
  font-size: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.85);
  color: var(--muted);
}

.bremos-contact-panel-body{
  padding: 12px 14px 14px;
}

.bremos-contact-avatar-row{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.90);
}

.bremos-contact-avatar{
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 50px -46px rgba(15,23,42,.70);
  background: rgba(246,248,252,.92);
  object-fit: cover;
  flex: 0 0 52px;
}

.bremos-contact-name{
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--text);
}

.bremos-contact-role{
  margin-top: 2px;
  color: var(--subtle);
  font-weight: 520;
  font-size: 12px;
}

.bremos-contact-mini{
  margin-top: 10px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.bremos-contact-mini-item{
  padding: 10px 10px;
  border-radius: 16px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.90);
}

.bremos-contact-mini-top{
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.02em;
  font-size: 13px;
}

.bremos-contact-mini-sub{
  margin-top: 2px;
  font-weight: 520;
  color: var(--muted);
  font-size: 12px;
}

.bremos-contact-visual-note{
  margin-top: 10px;
  display:flex;
  gap: 12px;
  align-items:center;
  padding: 10px 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.92);
}

.bremos-contact-visual-note-img{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.92);
  object-fit: cover;
  flex: 0 0 52px;
}

.bremos-contact-visual-note-text{
  color: var(--muted);
  font-weight: 520;
  line-height: 1.4;
}

.bremos-contact-visual-badges{
  margin-top: 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Main grid */
.bremos-contact-main-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: start;
}

.bremos-contact-form{
  border-radius: 22px;
}

.bremos-contact-form-head{
  margin-bottom: 12px;
}

.bremos-contact-privacy{
  margin-top: 10px;
  font-size: 13px;
  color: var(--subtle);
  line-height: 1.6;
}

.bremos-contact-privacy a{
  color: var(--primary);
  font-weight: 700;
}

/* Side card */
.bremos-contact-card{
  border-radius: 22px;
}

.bremos-contact-card-title{
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: 18px;
  color: var(--text);
}

.bremos-contact-action{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.90);
  text-decoration:none;
  color: var(--text);
  margin-top: 10px;
}

.bremos-contact-action:hover{
  background:#fff;
  border-color: rgba(27,59,116,.18);
  text-decoration:none;
}

.bremos-contact-action-ico{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(27,59,116,.08);
  border: 1px solid rgba(27,59,116,.12);
  flex: 0 0 38px;
}

.bremos-contact-action-top{
  display:block;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.bremos-contact-action-sub{
  display:block;
  margin-top: 2px;
  font-weight: 520;
  color: var(--muted);
  line-height: 1.45;
}

.bremos-contact-action-static{ cursor: default; }
.bremos-contact-action-static:hover{ background: rgba(246,248,252,.92); border-color: rgba(226,232,240,.90); }

.bremos-contact-steps{
  margin-top: 12px;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.bremos-contact-step{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 50px -54px rgba(15,23,42,.55);
}

.bremos-contact-step-no{
  width: 32px;
  height: 32px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color: var(--primary);
  background: rgba(27,59,116,.10);
  border: 1px solid rgba(27,59,116,.14);
  flex: 0 0 32px;
}

.bremos-contact-step-title{
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.02em;
  margin-bottom: 2px;
}

.bremos-contact-step-sub{
  color: var(--muted);
  font-weight: 520;
  line-height: 1.5;
}

.bremos-contact-side-media{
  margin-top: 12px;
  padding: 12px;
  border-radius: 22px;
  background: rgba(246,248,252,.92);
  border: 1px solid rgba(226,232,240,.92);
  overflow:hidden;
}

.bremos-contact-side-media img{
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 26px 70px -58px rgba(15,23,42,.60);
  display:block;
}

/* Legal */
.bremos-contact-legal{
  margin-top: 12px;
  font-size: 13px;
  color: var(--subtle);
}

/* FAQ */
.bremos-contact-faq{
  display:grid;
  gap: 10px;
  margin-top: 16px;
}

.bremos-faq{
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 46px -44px rgba(15,23,42,.55);
  padding: 0;
  overflow: hidden;
}

.bremos-faq summary{
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 800;
  color: var(--text);
  list-style: none;
}

.bremos-faq summary::-webkit-details-marker{ display:none; }

.bremos-faq-body{
  padding: 0 16px 14px;
  color: var(--muted);
  font-weight: 520;
  line-height: 1.7;
}

/* Fluent Forms – Styling im Bremos Look (sanft, ohne Overkill) */
.bremos-contact .ff-el-form-control{
  border-radius: 16px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: none !important;
  padding: 12px 12px !important;
}

.bremos-contact .ff-el-form-control:focus{
  border-color: rgba(27,59,116,.28) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(27,59,116,.10) !important;
}

.bremos-contact .ff-btn{
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  border: 1px solid rgba(27,59,116,.20) !important;
  background: var(--primary) !important;
  color: #fff !important;
}

.bremos-contact .ff-btn:hover{
  background: var(--primary2) !important;
}

/* Responsive */
@media (max-width: 1100px){
  .bremos-contact-visual-split{ grid-template-columns: 1fr; }
}

@media (max-width: 980px){
  .bremos-contact-hero{ padding: 56px 0 44px; }
  .bremos-contact-hero-grid{ grid-template-columns: 1fr; }
  .bremos-contact-main-grid{ grid-template-columns: 1fr; }
}

/* =========================
   Datenschutz / Legal Pages
   ========================= */

.bremos-legal .bremos-section-soft{
  position: relative;
}

.bremos-legal-hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: start;
}

.bremos-legal-title{
  font-size: 44px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 10px;
}

.bremos-legal-lead{
  margin: 0 0 14px;
  max-width: 78ch;
}

.bremos-legal-meta{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.bremos-legal-pill{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.78);
  color: var(--muted);
  font-weight: 700;
  font-size: 12px;
}

.bremos-legal-aside{
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
}

.bremos-legal-aside-title{
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  color: var(--text);
}

.bremos-legal-aside-block{
  padding: 12px 12px;
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.92);
  margin-bottom: 10px;
}

.bremos-legal-aside-label{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--subtle);
  margin-bottom: 6px;
}

.bremos-legal-aside-val{
  color: var(--muted);
  line-height: 1.65;
  font-weight: 520;
}

.bremos-legal-toc{
  margin-top: 16px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bremos-legal-toc a{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(255,255,255,.78);
  color: var(--text);
  font-weight: 800;
  font-size: 12px;
  text-decoration: none;
}

.bremos-legal-toc a:hover{
  background: #fff;
  border-color: rgba(27,59,116,.18);
  text-decoration: none;
}

.bremos-legal-content{
  max-width: 980px;
}

.bremos-legal-card{
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 22px 56px -54px rgba(15,23,42,.60);
  padding: 22px;
}

.bremos-legal-card h2{
  margin: 22px 0 10px;
  font-size: 22px;
  letter-spacing: -0.02em;
}

.bremos-legal-card p{
  margin: 0 0 12px;
}

.bremos-legal-box{
  border-radius: 18px;
  border: 1px solid rgba(226,232,240,.92);
  background: rgba(246,248,252,.92);
  padding: 14px;
  color: var(--muted);
}

.bremos-legal-note{
  border-left: 3px solid rgba(27,59,116,.35);
  padding-left: 12px;
  color: var(--muted);
}

.bremos-legal-list{
  margin: 10px 0 14px;
  padding-left: 18px;
  color: var(--muted);
  font-weight: 520;
}
.bremos-legal-list li{ margin: 8px 0; }

@media (max-width: 980px){
  .bremos-legal-hero{
    grid-template-columns: 1fr;
  }
  .bremos-legal-title{
    font-size: 34px;
  }
  .bremos-legal-card{
    padding: 18px;
  }
}

/* TOC kompakter & ruhiger */
.bremos-legal-toc{
  margin-top: 14px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  max-width: 980px;
}

/* kleinere, flachere Pills */
.bremos-legal-toc a{
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 750;
  letter-spacing: .01em;

  background: rgba(255,255,255,.65);
  border: 1px solid rgba(226,232,240,.85);
  color: rgba(15,23,42,.86);

  box-shadow: none;
  text-decoration: none;
}

/* Hover dezenter */
.bremos-legal-toc a:hover{
  background: rgba(255,255,255,.92);
  border-color: rgba(27,59,116,.16);
}

/* Fokus sauber */
.bremos-legal-toc a:focus-visible{
  outline: 2px solid rgba(27,59,116,.25);
  outline-offset: 2px;
}

/* Mobile: ein bisschen mehr Luft, aber immer noch kompakt */
@media (max-width: 980px){
  .bremos-legal-toc{ gap: 8px; }
  .bremos-legal-toc a{ padding: 9px 11px; }
}

/* =========================================
   FIX: Anchor/Jump Links + Sticky Header (AUTO)
   ========================================= */

/* Default (wird von JS überschrieben) */
:root{
  --bremos-anchor-offset: 120px;
}

/* Browser-Helfer */
html{
  scroll-behavior: smooth;
  scroll-padding-top: var(--bremos-anchor-offset);
}

/* Moderne Methode: Elemente mit ID bekommen Scroll-Margin */
[id]{
  scroll-margin-top: var(--bremos-anchor-offset);
}

/* ===== Legal: Brand/Logo Block unter Meta ===== */
.bremos-legal-brand{
  margin-top: 16px;
  display:flex;
  align-items:center;
  gap: 14px;

  padding: 14px 16px;
  border-radius: 22px;

  background: rgba(255,255,255,.72);
  border: 1px solid rgba(226,232,240,.92);
  box-shadow: 0 18px 46px -44px rgba(15,23,42,.45);
  overflow: hidden;
  position: relative;
}

.bremos-legal-brand::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(700px 180px at 18% 0%, rgba(27,59,116,.10), transparent 60%),
    radial-gradient(520px 180px at 88% 10%, rgba(27,59,116,.06), transparent 60%),
    repeating-linear-gradient(135deg, rgba(15,23,42,.012) 0px, rgba(15,23,42,.012) 1px, transparent 1px, transparent 7px);
  opacity: .95;
}

.bremos-legal-brand > *{ position: relative; }

.bremos-legal-logo{
  height: 62px;   /* “schön groß” */
  width: auto;
  display:block;
  filter: drop-shadow(0 18px 34px rgba(15,23,42,.16));
}

.bremos-legal-brandname{
  font-weight: 950;
  letter-spacing: -0.03em;
  font-size: 20px;
  line-height: 1.1;
  color: var(--text);
}

.bremos-legal-brandsub{
  margin-top: 4px;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--subtle);
}

/* Mobile: stapeln, Logo bleibt groß */
@media (max-width: 980px){
  .bremos-legal-brand{
    flex-direction: column;
    align-items: flex-start;
  }
  .bremos-legal-logo{
    height: 58px;
  }
}

.bremos-marquee-track{
  /* vorher: 18px / 34s / padding 14px */
  --marquee-gap: 36px;     /* mehr Abstand zwischen Logos */
  --marquee-speed: 34s;

  display:flex;
  width: max-content;
  align-items:center;
  gap: var(--marquee-gap);
  padding: 22px 22px;      /* mehr “Luft” im Band */

  animation: bremos-marquee var(--marquee-speed) linear infinite;
  will-change: transform;
}

.bremos-logo-item{
  /* vorher: height 54px */
  height: 90px;            /* Logos deutlich größer */
  padding: 18px 26px;      /* größere Card */
  border-radius: 20px;

  background: rgba(255,255,255,.86);
  border: 1px solid rgba(226,232,240,.92);
  display:flex;
  align-items:center;
  justify-content:center;

  /* Hover/Focus Transition (siehe Punkt 2) */
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  cursor: default;
}

.bremos-logo-item img{
  height: 100%;
  width: auto;
  max-width: 280px;        /* etwas mehr Breite erlauben */
  object-fit: contain;
  display:block;
}

/* Responsive tuning */
@media (max-width: 980px){
  .bremos-logo-item{ height: 60px; padding: 12px 16px; }
  .bremos-marquee-track{ padding: 14px 14px; --marquee-speed: 28s; --marquee-gap: 22px; }
  .bremos-marquee-mask::before,
  .bremos-marquee-mask::after{ width: 64px; }
}

@media (max-width: 520px){
  .bremos-logo-marquee{ padding: 12px 0 4px; }
  .bremos-logo-item{ height: 54px; padding: 10px 14px; }
  .bremos-logo-item img{ max-width: 230px; }
  .bremos-marquee-track{ --marquee-gap: 18px; }
}

/* Subtiler Hover-Effekt auf dem gesamten Band */
.bremos-marquee:hover{
  border-color: rgba(27,59,116,.20);
  box-shadow: 0 22px 60px -46px rgba(15,23,42,.60);
}

/* Hover-Effekt pro Logo-Card */
.bremos-logo-item:hover{
  transform: translateY(-2px) scale(1.03);
  border-color: rgba(27,59,116,.22);
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 50px -40px rgba(15,23,42,.55);
}

/* Optional: schöner Tastatur-Focus */
.bremos-logo-item:focus-within{
  outline: 2px solid rgba(27,59,116,.25);
  outline-offset: 3px;
}

@media (max-width: 980px){
  .bremos-logo-item{ height: 75px; padding: 16px 22px; } /* war 60px / 12px 16px */
  .bremos-marquee-track{ padding: 18px 18px; --marquee-gap: 28px; } /* war 14px / 22px */
}

@media (max-width: 520px){
  .bremos-logo-item{ height: 68px; padding: 14px 18px; } /* war 54px / 10px 14px */
  .bremos-logo-item img{ max-width: 280px; }             /* war 230px */
  .bremos-marquee-track{ --marquee-gap: 22px; }          /* war 18px */
}

/* =========================================================
   GLOBAL BADGES / TAGS – modern & seriös (kein Button-Look)
   -> Ganz unten in die style.css einfügen
   ========================================================= */

:root{
  --bremos-badge-accent: #0062AD;                 /* Brand Blau */
  --bremos-badge-bg: rgba(255,255,255,.78);
  --bremos-badge-border: rgba(15,23,42,.10);
  --bremos-badge-text: rgba(15,23,42,.72);
  --bremos-badge-radius: 12px;                   /* bewusst NICHT pill */
}

/* Alle Badge-/Pill-Elemente global vereinheitlichen (ohne Buttons zu treffen) */
:is(
  .pill,
  .bremos-pill,
  .bremos-dotpill,
  .bremos-tag,
  .bremos-badge,
  .bremos-footer-badge,
  .bremos-footer-chip,
  .bremos-contact-chip,
  .bremos-legal-pill,
  .bremos-panel-pill,
  .bremos-ui-pill,
  .bremos-legal-toc a
):not(.bremos-btn):not(.wp-block-button__link):not(button){
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 7px 12px !important;
  border-radius: var(--bremos-badge-radius) !important;

  background: var(--bremos-badge-bg) !important;
  border: 1px solid var(--bremos-badge-border) !important;

  /* Definitiv kein Button-Verhalten */
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;

  cursor: default;
  user-select: none;

  color: var(--bremos-badge-text) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.15;
  text-decoration: none !important;

  /* leichte „Surface“-Qualität, modern aber dezent */
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* Corner-Marker (macht es klar zum Label/Tag, nicht Button) */
@supports (clip-path: polygon(0 0, 100% 0, 0 100%)){
  :is(
    .pill,
    .bremos-pill,
    .bremos-dotpill,
    .bremos-tag,
    .bremos-badge,
    .bremos-footer-badge,
    .bremos-footer-chip,
    .bremos-contact-chip,
    .bremos-legal-pill,
    .bremos-panel-pill,
    .bremos-ui-pill,
    .bremos-legal-toc a
  ):not(.bremos-btn):not(.wp-block-button__link):not(button)::before{
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    left: 0;
    top: 0;

    background: linear-gradient(135deg,
      rgba(0,98,173,1),
      rgba(0,98,173,.35)
    );

    clip-path: polygon(0 0, 100% 0, 0 100%);
    border-top-left-radius: var(--bremos-badge-radius);
    opacity: .95;
    pointer-events: none;
  }
}

/* Link-Badges: klickbar, aber weiterhin „Label“ (kein Button-Hover) */
:is(
  a.pill,
  a.bremos-pill,
  a.bremos-dotpill,
  a.bremos-tag,
  a.bremos-badge,
  a.bremos-footer-chip,
  a.bremos-contact-chip,
  .bremos-legal-toc a
):not(.bremos-btn):not(.wp-block-button__link){
  cursor: pointer;
}

/* Hover nur minimal (keine „Button“-Animation) */
:is(
  a.pill:hover,
  a.bremos-pill:hover,
  a.bremos-dotpill:hover,
  a.bremos-tag:hover,
  a.bremos-badge:hover,
  a.bremos-footer-chip:hover,
  a.bremos-contact-chip:hover,
  .bremos-legal-toc a:hover
):not(.bremos-btn):not(.wp-block-button__link){
  border-color: rgba(0,98,173,.22) !important;
  color: rgba(15,23,42,.88) !important;
  text-decoration: none !important;
}

/* Fokus */
:is(
  a.pill:focus-visible,
  a.bremos-pill:focus-visible,
  a.bremos-dotpill:focus-visible,
  a.bremos-tag:focus-visible,
  a.bremos-badge:focus-visible,
  a.bremos-footer-chip:focus-visible,
  a.bremos-contact-chip:focus-visible,
  .bremos-legal-toc a:focus-visible
):not(.bremos-btn):not(.wp-block-button__link){
  outline: 2px solid rgba(0,98,173,.22);
  outline-offset: 2px;
}

/* Strong XP block inside founder card */
.bremos-about-xp{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(0,98,173,.22);
  background:linear-gradient(135deg, rgba(0,98,173,.14), rgba(0,98,173,.06));
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.bremos-about-xp-num{
  font-size:28px;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1;
  color:#0062AD;
  min-width:60px;
}

.bremos-about-xp-text{ line-height:1.15; }

.bremos-about-xp-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#0f172a;
}

.bremos-about-xp-sub{
  margin-top:4px;
  font-size:14px;
  font-weight:600;
  color:#374151;
}

/* Mobile: keep it neat */
@media (max-width: 520px){
  .bremos-about-xp{ padding:10px 12px; }
  .bremos-about-xp-num{ font-size:26px; min-width:56px; }
}

/* About: structured badges (replaces mini-cards) */
.bremos-about-badges{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}

.bremos-about-badge{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(0,98,173,.18);
  background:linear-gradient(135deg, rgba(0,98,173,.10), rgba(0,98,173,.04));
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.bremos-about-badge-k{
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#0f172a;
  opacity:.95;
}

.bremos-about-badge-v{
  margin-top:6px;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  color:#374151;
}

/* Responsive */
@media (max-width: 920px){
  .bremos-about-badges{ grid-template-columns: 1fr; }
}

/* Shared: structured info badges (non-button look) */
.bremos-info-badges{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}

.bremos-info-badge{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(0,98,173,.18);
  background:linear-gradient(135deg, rgba(0,98,173,.10), rgba(0,98,173,.04));
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.bremos-info-k{
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#0f172a;
  opacity:.95;
}

.bremos-info-v{
  margin-top:6px;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  color:#374151;
}

@media (max-width: 920px){
  .bremos-info-badges{ grid-template-columns: 1fr; }
}

/* More breathing room between hero buttons and info badges */
.bremos-hero-cta + .bremos-info-badges{
  margin-top:18px;
}

@media (max-width: 520px){
  .bremos-hero-cta + .bremos-info-badges{
    margin-top:14px;
  }
}

/* =========================
   HERO Motion Background (dezent, modern, seriös)
   ========================= */

/* Hero muss Shapes "halten" */
.bremos-hero{
  position: relative;
  overflow: hidden;
}

/* Falls du ein ::before Overlay im Hero hast: sicher unter Content */
.bremos-hero::before{
  z-index: 0;
}

/* Hero-Content über Hintergrund */
.bremos-hero-grid{
  position: relative;
  z-index: 1;
}

/* Layer mit bewegten Formen */
.bremos-hero-bg{
  position: absolute;
  inset: -140px -120px;
  pointer-events: none;
  z-index: 0;
}

/* Orbs: Halo/Ring-Look statt Vollfläche */
.bremos-orb{
  position:absolute;
  border-radius:999px;

  background: radial-gradient(circle at 35% 35%,
    rgba(255,255,255,.22) 0%,
    transparent 34%,
    rgba(27,59,116,.16) 42%,
    rgba(27,59,116,.08) 48%,
    transparent 62%
  );

  opacity:.55;
  filter: blur(.6px);

  animation: bremos-orb-float 12s ease-in-out infinite;
  will-change: transform;
}

/* Ringe: fein, minimaler Glow */
.bremos-ring{
  position:absolute;
  border-radius:999px;

  border: 1px solid rgba(27,59,116,.12);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 18px 60px rgba(0,0,0,.05);

  background: radial-gradient(circle,
    rgba(27,59,116,.04) 0%,
    transparent 58%
  );

  opacity:.65;
  animation: bremos-ring-drift 16s ease-in-out infinite;
  will-change: transform;
}

/* Positionen / Größen */
.bremos-hero-motion .orb-1{ width: 520px; height: 520px; left: -120px; top: -80px; }
.bremos-hero-motion .orb-2{ width: 420px; height: 420px; right: -140px; top: -60px; animation-delay: -6s; }
.bremos-hero-motion .orb-3{ width: 360px; height: 360px; left: 22%; bottom: -180px; animation-delay: -10s; }
.bremos-hero-motion .orb-4{ width: 280px; height: 280px; right: 18%; bottom: -140px; animation-delay: -12s; }

.bremos-hero-motion .ring-1{ width: 680px; height: 680px; left: 8%; top: -220px; }
.bremos-hero-motion .ring-2{ width: 520px; height: 520px; right: 6%; bottom: -260px; animation-delay: -8s; }

/* Unterschiedliche Geschwindigkeiten (wirkt lebendiger) */
.bremos-hero-motion .orb-1{ animation-duration: 13s; }
.bremos-hero-motion .orb-2{ animation-duration: 11s; }
.bremos-hero-motion .orb-3{ animation-duration: 14s; }
.bremos-hero-motion .orb-4{ animation-duration: 10s; }

.bremos-hero-motion .ring-1{ animation-duration: 18s; }
.bremos-hero-motion .ring-2{ animation-duration: 20s; }

/* Mehr sichtbare Bewegung: größerer Drift + leichte Rotation */
@keyframes bremos-orb-float{
  0%   { transform: translate3d(0,0,0) scale(1) rotate(0deg); }
  50%  { transform: translate3d(70px,-54px,0) scale(1.06) rotate(6deg); }
  100% { transform: translate3d(0,0,0) scale(1) rotate(0deg); }
}

@keyframes bremos-ring-drift{
  0%   { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
  50%  { transform: translate3d(-58px,46px,0) rotate(10deg) scale(1.03); }
  100% { transform: translate3d(0,0,0) rotate(0deg) scale(1); }
}

/* Responsive: etwas kompakter */
@media (max-width: 980px){
  .bremos-hero-bg{ inset: -120px -90px; }
  .bremos-hero-motion .orb-1{ width: 420px; height: 420px; }
  .bremos-hero-motion .orb-2{ width: 340px; height: 340px; }
  .bremos-hero-motion .ring-1{ width: 560px; height: 560px; }
}

/* Accessibility: Motion respektieren */
@media (prefers-reduced-motion: reduce){
  .bremos-orb,
  .bremos-ring{
    animation: none !important;
    transform: none !important;
  }
}

/* =========================
   Abstand: Buttons vs. Info-Badges im Hero
   ========================= */
.bremos-hero-cta{
  margin-bottom: 18px;
}

/* Falls Badges direkt nach CTA kommen */
.bremos-hero-cta + .bremos-info-badges{
  margin-top: 6px;
}

/* =========================================================
   Bremos Design System v2 (Typography + Components)
   -> Ganz ans ENDE der style.css
   ========================================================= */

:root{
  /* Typo */
  --fw-regular: 450;
  --fw-medium: 550;
  --fw-semibold: 650;
  --fw-bold: 750;

  --fs-body: 16px;
  --fs-lead: clamp(16px, 0.45vw + 15px, 18px);
  --fs-h1: clamp(34px, 3.0vw + 18px, 52px);
  --fs-h2: clamp(26px, 1.6vw + 18px, 36px);
  --fs-h3: 20px;
  --fs-kicker: 12px;

  /* Radii (Buttons bleiben Pill, Badges wirken „nicht klickbar“) */
  --radius-card: 22px;
  --radius-chip: 14px;
  --radius-pill: 999px;
}

/* Grundtypografie ruhiger */
body{
  font-weight: var(--fw-regular);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p{ margin: 0 0 16px; }
strong{ font-weight: var(--fw-semibold); }

/* Headings vereinheitlichen */
.h1,
.bremos-hero-title,
.bremos-legal-title{
  font-size: var(--fs-h1);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: var(--fw-bold);
}

.h2,
.bremos-cta-title{
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: var(--fw-bold);
}

.h3{
  font-size: var(--fs-h3);
  line-height: 1.25;
  font-weight: var(--fw-semibold);
  letter-spacing: -0.015em;
}

/* Lead überall gleich (Startseite/Legal/Seiten) */
.lead,
.bremos-hero-lead,
.bremos-legal-lead{
  font-size: var(--fs-lead);
  line-height: 1.75;
  font-weight: var(--fw-regular);
  color: var(--muted);
}

/* Kicker überall gleich (nicht mehr „mal so mal so“) */
.bremos-kicker,
.bremos-footer-head,
.bremos-menu-title,
.bremos-legal-aside-label,
.bremos-about-badge-k,
.bremos-info-k{
  font-size: var(--fs-kicker);
  font-weight: var(--fw-semibold);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--subtle);
}

/* Cards: gleiche Rundung + ruhiger Schatten */
.card{
  border-radius: var(--radius-card);
}

/* Ultra-bold Stellen entschärfen (wirkt sofort hochwertiger) */
.bremos-step-no,
.bremos-step-title,
.bremos-panel-title,
.bremos-mini-title,
.bremos-aside-head,
.bremos-aside-big,
.bremos-legal-aside-title,
.bremos-brand-title{
  font-weight: var(--fw-bold);
}

/* Listen ruhiger */
.bremos-list,
.bremos-step-text,
.bremos-mini-sub,
.bremos-aside-sub{
  font-weight: var(--fw-regular);
}

/* Buttons: klar als Buttons erkennbar */
.bremos-btn{
  font-weight: var(--fw-semibold);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.bremos-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px -34px rgba(15,23,42,.55);
  text-decoration: none;
}

/* ===== Badges/Chips: sichtbar, aber „nicht Button“ =====
   - keine Hover-Animation
   - kleiner, flacher
   - Dot als visueller Hinweis „Label“, nicht CTA
*/
span.bremos-badge,
span.bremos-pill,
span.bremos-legal-pill,
span.bremos-footer-badge,
span.bremos-dotpill{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 7px 10px;
  font-size: 12px;
  font-weight: var(--fw-semibold);

  border: 1px solid rgba(27,59,116,.16);
  background: linear-gradient(180deg, rgba(27,59,116,.08), rgba(27,59,116,.03));
  color: rgba(15,23,42,.74);

  box-shadow: none;
  cursor: default;
  user-select: none;
}

/* Badges eckiger als Buttons (Button = pill, Badge = chip) */
span.bremos-badge{
  border-radius: var(--radius-chip);
}

/* Pills bleiben pillig, aber ohne Button-Feeling */
span.bremos-pill,
span.bremos-legal-pill,
span.bremos-footer-badge,
span.bremos-dotpill{
  border-radius: var(--radius-pill);
}

/* Dotpills bekommen einen Punkt -> wirkt wie Status/Label */
span.bremos-dotpill::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: rgba(27,59,116,.90);
  box-shadow: 0 0 0 3px rgba(27,59,116,.12);
}

/* Wichtig: Chips/Bags NICHT wie Links/Buttons hovern lassen */
span.bremos-badge:hover,
span.bremos-pill:hover,
span.bremos-legal-pill:hover,
span.bremos-footer-badge:hover,
span.bremos-dotpill:hover{
  transform: none;
  box-shadow: none;
}

/* Services: Inline-Styles ersetzen (siehe Template-Änderung unten) */
.bremos-media-head .h2{ margin: 0; }
.bremos-media-head + p.lead{ margin-top: 12px; }

/* Über uns: die 24px-H3s ohne Inline-Style sauber lösen */
.bremos-about-side .h3{
  font-size: 22px;
  margin-top: 6px;
}
