@charset "UTF-8";

:root{--ink:#071f52;--navy:#08265f;--blue:#1671ff;--cyan:#3bbcf7;--muted:#526278;--pale:#f1f5fa;--line:#dce4ef;--white:#fff;--radius:5px;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}p+p{margin-top:18px}::selection{color:var(--ink);background:#bceaff}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding:110px 0}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:98px}.site-header nav{display:flex;gap:26px;align-items:center}.site-header nav>a{font-size:13px;font-weight:500}.site-header nav>a:not(.button):hover{color:var(--blue)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 22px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:14px;font-weight:600;border-radius:var(--radius);min-height:54px;line-height:1.35;transition:background .2s,transform .2s}.button:hover{background:#163e7b;transform:translateY(-2px)}.button-small{font-size:12px!important;gap:18px;padding:12px 16px;min-height:46px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:5px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:650;line-height:1.6;display:flex;align-items:center;gap:10px}.short-line{height:2px;width:24px;background:var(--blue)}.hero{padding-top:80px;padding-bottom:76px;display:grid;grid-template-columns:1.2fr 1fr;gap:46px;align-items:center}.hero h1{font-size:clamp(48px,5.2vw,76px);line-height:1.08;letter-spacing:-.055em;font-weight:650;margin:29px 0 26px}h1 em,h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--blue);letter-spacing:-.055em}h1 em{white-space:nowrap}.hero-intro{max-width:485px;color:var(--muted);font-size:16px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-art{position:relative;background:#f2f6fb;align-self:stretch;min-height:470px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5ecf5}.credibility p:not(:first-child) strong{font-weight:400;color:var(--muted);font-size:11px}h2{font-size:clamp(36px,3.4vw,50px);line-height:1.16;letter-spacing:-.045em;font-weight:600}.allowance{background:var(--pale);padding-top:66px;padding-bottom:63px}.allowance-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-body{max-width:500px;color:var(--muted);font-size:14px}.lead{font-size:20px;line-height:1.65;color:var(--ink)}.section-body .text-link{margin-top:22px;color:var(--ink)}.criteria{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #d4ddeb;border-bottom:1px solid #d4ddeb}.criteria>div{padding:25px 30px 28px 0;position:relative}.criteria>div+div{border-left:1px solid #d4ddeb;padding-left:30px}.criteria h3{font-size:17px;font-weight:600;margin-top:12px;letter-spacing:-.025em}.criteria p{font-size:12px;color:var(--muted);margin-top:6px}.source-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:20px}.source-note a{text-decoration:underline;text-underline-offset:3px}.example-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.check-intro>p:not(.eyebrow){max-width:370px;color:#bdcce2;font-size:14px}#check-content h3{font-size:25px;line-height:1.3;letter-spacing:-.03em;font-weight:600;margin-bottom:12px}.process-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}.process-head>p{font-size:14px;color:var(--muted)}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:65px 1fr 240px;gap:25px;align-items:start;border-bottom:1px solid var(--line);padding:30px 0}.process-number{font-size:13px;color:var(--blue);padding-top:3px}.process-list h3{font-size:23px;line-height:1.3;font-weight:550;letter-spacing:-.03em}.process-list p{font-size:13px;color:var(--muted);max-width:560px;margin-top:9px}.responsibility{display:flex;gap:25px;max-width:820px;margin-top:29px}.responsibility p{font-size:11px;color:var(--muted)}.about-section{background:var(--pale);padding:90px 0}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.about-copy h2{margin:24px 0}.about-copy>p:not(.eyebrow):not(.lead){font-size:14px;color:var(--muted)}.about-copy .lead{font-size:19px}.about-values{display:flex;flex-wrap:wrap;gap:9px 20px;border-top:1px solid #d4ddeb;padding-top:20px;margin:28px 0}.about-values span{font-size:10px}.about-values span:before{content:"·";color:var(--blue);font-size:19px;margin-right:7px;vertical-align:middle}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.faq-grid h2{margin:24px 0}.faq-grid>div>p:last-child{font-size:13px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:15px;font-weight:550;line-height:1.5;padding:23px 0;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary span{color:var(--blue);font-size:23px;line-height:1}details[open] summary span{transform:rotate(45deg)}.faq-answer{font-size:13px;color:var(--muted);padding:0 32px 24px 0;line-height:1.85}.contact-section{background:var(--ink);color:white;padding:90px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact-grid h2{margin:25px 0;color:white}.contact-grid h2 em{color:#6ac9ff}.contact-grid>div>p:not(.eyebrow){font-size:14px;color:#bdcce2;max-width:390px}.contact-email{display:inline-flex;align-items:center;gap:25px;font-size:clamp(18px,2.1vw,29px);letter-spacing:-.025em;border-bottom:1px solid #49618b;padding-bottom:7px;margin-top:29px}.contact-email:hover{color:var(--cyan)}.contact-phone{display:block;font-size:17px;margin-top:15px}.contact-address{font-size:11px!important;margin-top:28px}.footer{padding:30px 0 20px}[hidden]{display:none!important}

@media(min-width:1500px){.hero{padding-block:100px}.hero-art{min-height:510px}}

@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:16px}.site-header nav>a{font-size:11px}.hero{gap:28px}.hero h1{font-size:59px}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;gap:18px}.hero-art{min-height:430px}.allowance-grid,.check-grid,.about-grid,.faq-grid,.contact-grid{gap:55px}.process-list li{grid-template-columns:45px 1fr 180px}.about-values{gap:5px 12px}.contact-email{font-size:23px}}

@media(max-width:900px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;gap:0;padding:10px 32px 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 15px #071f5208}.site-header nav.is-open{display:flex}.site-header nav>a{font-size:15px;padding:13px 0}.site-header nav>a.button{padding:15px;margin-top:10px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;color:var(--ink);font-size:12px;padding:12px}.menu-icon{width:22px;height:12px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(-20deg)}.header-inner{min-height:80px}.hero h1{font-size:50px}.hero{padding-block:55px}.hero-art{min-height:420px}.hero-intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.section{padding-block:75px}.allowance{padding-block:55px}.allowance-grid,.faq-grid{gap:35px}.process-list li{grid-template-columns:35px 1fr}.about-grid{gap:40px}.about-copy h2{font-size:37px}.contact-grid{gap:40px}.contact-email{font-size:20px}}

@media(max-width:650px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:73px}.menu-toggle{padding-right:0}.site-header nav{padding-inline:20px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:39px;padding-bottom:35px}.eyebrow{font-size:8px;letter-spacing:.12em}.hero h1{font-size:clamp(40px,11.2vw,67px);margin:23px 0;line-height:1.12;letter-spacing:-.05em}.hero-intro{font-size:14px;max-width:100%;line-height:1.85}.hero-actions{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;margin-top:25px}.hero-actions .button{font-size:12px;padding:14px 16px;gap:18px}.hero-actions .text-link{font-size:12px;gap:8px}.hero-art{min-height:330px;max-height:380px;align-self:auto}.credibility p:not(:first-child) strong{font-size:10px}.section{padding-block:60px}.allowance{padding-block:43px}.allowance-grid{grid-template-columns:1fr;gap:26px}h2{font-size:36px;line-height:1.18}.section-body{font-size:13px}.lead{font-size:18px}.criteria{grid-template-columns:1fr;margin-top:35px}.criteria>div,.criteria>div+div{border-left:0;padding:20px 0;display:grid;grid-template-columns:30px 1fr;gap:0 10px}.criteria>div+div{border-top:1px solid #d4ddeb}.criteria h3{margin-top:0;font-size:16px}.criteria p{grid-column:2;font-size:11px}.source-note{font-size:9px}.example-copy>p:not(.eyebrow){font-size:13px}.check-intro>p:not(.eyebrow){font-size:13px;max-width:100%}#check-content h3{font-size:24px}.process-head{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:30px}.process-head h2{font-size:34px}.process-head>p{font-size:12px}.process-list li{padding:23px 0;gap:9px 15px;grid-template-columns:25px 1fr}.process-list h3{font-size:20px}.process-list p{font-size:12px}.responsibility{gap:15px;margin-top:23px}.responsibility p{font-size:10px}.about-section{padding-block:55px}.about-grid{grid-template-columns:1fr;gap:35px}.about-copy h2{font-size:35px}.about-copy>p:not(.eyebrow):not(.lead){font-size:13px}.about-copy .lead{font-size:18px}.about-values{font-size:9px}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-grid h2{margin:20px 0}.faq-grid h2 br{display:none}summary{font-size:13px;padding:20px 0;gap:16px}.faq-answer{font-size:12px;padding-right:18px}.contact-section{padding-block:55px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h2{font-size:35px}.contact-grid>div>p:not(.eyebrow){font-size:13px}.contact-email{font-size:21px;gap:12px;max-width:100%}.contact-phone{font-size:15px}.button{min-height:50px}}

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

.menu-icon{position:relative;border:0}.menu-icon:before,.menu-icon:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--ink);transform-origin:center;transition:transform 250ms ease-in-out}.menu-icon:before{transform:translateY(-3.5px) rotate(0)}.menu-icon:after{transform:translateY(3.5px) rotate(0)}.menu-toggle[aria-expanded=true] .menu-icon{transform:none}.menu-toggle[aria-expanded=true] .menu-icon:before{transform:translateY(0) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{transform:translateY(0) rotate(-45deg)}

.brand {

  width: clamp(225px, 24vw, 310px);

  min-width: 0;

}

.brand img { width: 100%; height: auto; }

.site-header nav { flex-shrink: 0; }

@media (max-width: 900px) {

  .header-inner { column-gap: 12px; }

  .brand { width: 225px; }

  .menu-toggle { flex-shrink: 0; }

}

@media (max-width: 360px) {

  .header-inner { column-gap: 8px; }

  .menu-toggle { column-gap: 9px; }

}

/* Footer-Links: gleiche Schriftgröße auf allen Seiten */



/* ==========================================

   1. EINHEITLICHER HEADER

   ========================================== */

.site-header {

  position: sticky;

  top: 0;

  z-index: 100;

  background: rgba(255, 255, 255, 0.97);

  border-bottom: 1px solid #dce4ef;

}

.site-header .header-inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 24px;

  min-height: 88px;

}

/* LOGO */

.site-header .brand {

  display: inline-flex;

  align-items: center;

  width: 230px;

  flex: 0 0 230px;

  min-width: 0;

}

.site-header .brand img {

  display: block;

  width: 100%;

  height: auto;

}

/* NAVIGATION */

.site-header #main-nav {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  gap: 26px;

}

.site-header #main-nav > a:not(.button) {

  color: #071f52;

  font-size: 13px;

  font-weight: 500;

  line-height: 1.5;

  white-space: nowrap;

  text-decoration: none;

}

.site-header #main-nav > a:not(.button):hover,

.site-header #main-nav > a[aria-current="page"] {

  color: #1671ff;

}

/* ERSTGESPRÄCH-BUTTON */

.site-header #main-nav > .button-small {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  flex: 0 0 auto;

  gap: 8px;

  width: auto;

  min-height: 42px;

  padding: 10px 16px;

  background: #071f52;

  border: 1px solid #071f52;

  border-radius: 5px;

  color: #ffffff;

  font-size: 12px !important;

  font-weight: 600;

  line-height: 1.4;

  white-space: nowrap;

  text-decoration: none;

  transition:

    background-color 0.2s ease,

    transform 0.2s ease;

}

.site-header #main-nav > .button-small span {

  font-size: 15px;

  line-height: 1;

}

.site-header #main-nav > .button-small:hover {

  background: #163e7b;

  border-color: #163e7b;

  color: #ffffff;

  transform: translateY(-1px);

}

/* ==========================================

   3. TABLET / MOBILE HEADER

   ========================================== */

@media (max-width: 900px) {

  .site-header .header-inner {

    min-height: 80px;

    gap: 12px;

  }

  .site-header .brand {

    width: 205px;

    flex-basis: 205px;

  }

  .site-header #main-nav {

    display: none;

    position: absolute;

    top: 100%;

    left: 0;

    right: 0;

    flex-direction: column;

    align-items: stretch;

    justify-content: flex-start;

    gap: 0;

    padding: 10px 32px 25px;

    background: #ffffff;

    border-bottom: 1px solid #dce4ef;

    box-shadow: 0 15px 15px #071f5208;

  }

  .site-header #main-nav.is-open {

    display: flex;

  }

  .site-header #main-nav > a:not(.button) {

    padding: 13px 0;

    font-size: 15px;

    white-space: normal;

  }

  .site-header #main-nav > .button-small {

    align-self: flex-start;

    margin-top: 10px;

  }

  .site-header .menu-toggle {

    display: flex;

    align-items: center;

    flex-shrink: 0;

  }

}

/* ==========================================
   SMARTPHONE – HEADER (unverändert)
   ========================================== */
@media (max-width: 650px) {
  .site-header .header-inner { min-height: 68px; }
  .site-header .brand {
  width: 175px;
  flex: 0 1 175px;
  min-width: 0;
}
  .site-header #main-nav { padding-inline: 20px; }
}



/* ==========================================
   RÜBSAM CONSULTING – GLOBALER FOOTER
   ========================================== */

.site-footer {
  width: 100%;
  padding: 40px 0;
  background: #e8eef6;
  border-top: 2px solid #071f52;
  color: #071f52;
}

.site-footer .site-footer-inner {
  display: grid;
  grid-template-columns:
    minmax(0, 285px)
    minmax(0, 425px)
    minmax(0, 195px)
    minmax(0, 145px);
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

/* ==========================================
   1. LOGO UND COPYRIGHT
   ========================================== */

.site-footer .site-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  min-width: 0;
}

.site-footer .site-footer-logo {
  display: block;
  width: 285px;
  max-width: 100%;
  margin: 0;
}

.site-footer .site-footer-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer .site-footer-copyright {
  width: 285px;
  max-width: 100%;
  margin: -7px 0 0;
  padding: 0;
  color: #7b8ca4;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}

/* ==========================================
   2. KONTAKTBEREICH – SYMMETRISCH
   ========================================== */

.site-footer .site-footer-contact {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  column-gap: 0;
  row-gap: 16px;
  align-items: center;

  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 10px;

  border-left: 1px solid #cad5e5;
  border-right: 1px solid #cad5e5;
}

/* ÜBERSCHRIFT:
   WORTGRENZE GENAU ÜBER DER TRENNLINIE */

.site-footer .footer-contact-title {
  grid-column: 1 / -1;
  grid-row: 1;

  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);

  width: 100%;
  margin: 0;
  padding: 0;

  color: #071f52;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}

.site-footer .footer-contact-title span:first-child {
  text-align: right;
  padding-right: 4px;
}

.site-footer .footer-contact-title span:last-child {
  text-align: left;
  padding-left: 4px;
}

/* ANSCHRIFT – LINKE HÄLFTE */

.site-footer .footer-contact-address {
  grid-column: 1;
  grid-row: 2;

  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;

  min-width: 0;
  margin: 0;
  padding-right: 16px;
}

.site-footer .footer-contact-address address {
  margin: 0;
  color: #526278;
  font-size: 11px;
  font-style: normal;
  line-height: 1.8;
  white-space: nowrap;
}

/* TELEFON UND E-MAIL – RECHTE HÄLFTE */

.site-footer .footer-contact-methods {
  grid-column: 2;
  grid-row: 2;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;

  min-width: 0;
  margin: 0;
  padding-left: 16px;
  border-left: 1px solid #cad5e5;
}

.site-footer .footer-contact-methods a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;

  min-width: 0;
  color: #526278;
  font-size: 11px;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease;
}

.site-footer .footer-contact-methods a span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.site-footer .footer-contact-methods a:hover {
  color: #1671ff;
}

/* KONTAKT-SYMBOLE */

.site-footer .footer-contact-address svg,
.site-footer .footer-contact-methods svg {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #071f52;
}

/* ==========================================
   3. HAUPTNAVIGATION
   ========================================== */

.site-footer .site-footer-main-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  justify-self: end;
  gap: 15px;

  min-width: 0;
  margin: 0;
  padding: 0;
}

.site-footer .site-footer-main-nav a {
  display: block;
  position: relative;

  color: #071f52;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease;
}



.site-footer .site-footer-main-nav a:hover {
  color: #1671ff;
}

/* ==========================================
   4. KARRIERE / IMPRESSUM / DATENSCHUTZ
   ========================================== */

.site-footer .site-footer-legal-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  justify-self: end;
  gap: 15px;

  min-width: 0;
  margin: 0;
  padding-left: 16px;

  border-left: 1px solid #cad5e5;
}

.site-footer .site-footer-legal-nav a {
  display: block;
  position: relative;

  color: #526278;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}



.site-footer .site-footer-legal-nav a:hover {
  color: #1671ff;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1259px) {

  .site-footer {
    padding: 36px 0;
  }

  .site-footer .site-footer-inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
    justify-content: stretch;
    align-items: start;
    column-gap: 28px;
    row-gap: 32px;
  }

  .site-footer .site-footer-brand {
    grid-column: 1;
    grid-row: 1;
  }

  /* KONTAKT OBEN RECHTS */

  .site-footer .site-footer-contact {
    grid-column: 2;
    grid-row: 1;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;

    padding: 0 0 0 20px;
    border-left: 1px solid #cad5e5;
    border-right: 0;
  }

  .site-footer .footer-contact-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    width: 100%;
    margin: 0;
  }

  .site-footer .footer-contact-title span:first-child,
  .site-footer .footer-contact-title span:last-child {
    padding: 0;
    text-align: left;
  }

  .site-footer .footer-contact-address {
    justify-content: flex-start;
    padding-right: 0;
  }

  .site-footer .footer-contact-methods {
    padding-left: 0;
    border-left: 0;
  }

  /* NAVIGATION UNTEN LINKS */

  .site-footer .site-footer-main-nav {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: start;
  }

  /* RECHTLICHE LINKS UNTEN RECHTS */

  .site-footer .site-footer-legal-nav {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    align-self: end;
    padding-left: 20px;
  }
}

/* ==========================================
   SMARTPHONE
   ========================================== */

@media (max-width: 650px) {

  .site-footer {
    padding: 28px 0 34px;
  }

  .site-footer .site-footer-inner {
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
    column-gap: 0;
    row-gap: 0;
    align-items: start;
  }

  /* LOGO UND COPYRIGHT */

  .site-footer .site-footer-brand {
    grid-column: 1 / -1;
    grid-row: 1;

    align-items: center;
    justify-content: center;
    gap: 0;

    padding-bottom: 22px;
    border-bottom: 1px solid #cad5e5;
  }

  .site-footer .site-footer-logo {
    width: 280px;
    max-width: 100%;
    margin: 0 auto;
  }

  .site-footer .site-footer-copyright {
    width: 100%;
    margin: 0;
    font-size: 11px;
    text-align: center;
  }

  /* KONTAKTINFORMATIONEN ZENTRIERT */

  .site-footer .site-footer-contact {
    grid-column: 1 / -1;
    grid-row: 2;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;

    width: 100%;
    margin: 0;
    padding: 23px 0 25px;

    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #cad5e5;
  }

  .site-footer .footer-contact-title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;

    width: 100%;
    margin: 0 0 3px;

    font-size: 17px;
    text-align: center;
  }

  .site-footer .footer-contact-title span:first-child,
  .site-footer .footer-contact-title span:last-child {
    padding: 0;
    text-align: center;
  }

  .site-footer .footer-contact-address,
  .site-footer .footer-contact-methods {
    width: min(260px, 100%);
    margin-inline: auto;
  }

  .site-footer .footer-contact-address {
    justify-content: flex-start;
    gap: 12px;
    padding: 0;
  }

  .site-footer .footer-contact-address address {
    font-size: 12px;
    line-height: 1.7;
  }

  .site-footer .footer-contact-methods {
    align-items: flex-start;
    gap: 13px;
    padding: 0;
    border-left: 0;
  }

  .site-footer .footer-contact-methods a {
    gap: 12px;
    font-size: 12px;
  }

  /* LINKS: HAUPTNAVIGATION */

  .site-footer .site-footer-main-nav {
    grid-column: 1;
    grid-row: 3;

    justify-self: center;
    align-self: start;
    align-items: flex-start;

    width: max-content;
    max-width: 100%;
    margin: 25px 0 0;
    padding: 0;
    gap: 15px;

    border-left: 0;
    transform: none;
  }

  .site-footer .site-footer-main-nav a {
    font-size: 12px;
    overflow-wrap: anywhere;
  }

  /* RECHTS: RECHTLICHE LINKS */

  .site-footer .site-footer-legal-nav {
    grid-column: 2;
    grid-row: 3;

    justify-self: stretch;
    align-self: end;
    align-items: flex-start;

    width: 100%;
    margin: 25px 0 0;
    padding: 0 0 0 20px;
    gap: 15px;

    border-left: 1px solid #cad5e5;
    transform: none;
  }

  .site-footer .site-footer-legal-nav a {
    font-size: 12px;
    white-space: normal;
    text-align: left;
  }
}

/* ==========================================
   SEHR KLEINE SMARTPHONES
   ========================================== */

@media (max-width: 380px) {

  .site-footer .site-footer-logo {
    width: 245px;
  }

  .site-footer .footer-contact-address,
  .site-footer .footer-contact-methods {
    width: min(255px, 100%);
  }

  .site-footer .site-footer-main-nav a,
  .site-footer .site-footer-legal-nav a {
    font-size: 11px;
  }

  .site-footer .site-footer-legal-nav {
    padding-left: 12px;
  }

  .site-footer .footer-contact-methods a {
    font-size: 11px;
  }
}

/* ==========================================
   BARRIEREFREIHEIT
   ========================================== */

@media (prefers-reduced-motion: reduce) {
  .site-footer a {
    transition: none !important;
  }
}


/* ==========================================
   SMARTPHONE – KONTAKTDATEN ZWEISPALTIG
   ========================================== */

@media (max-width: 650px) {

  .site-footer .site-footer-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  column-gap: 18px;
  row-gap: 22px;
  align-items: start;
  justify-items: stretch;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

  .site-footer .footer-contact-title {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-content: center;
    margin: 0;
  }

  .site-footer .footer-contact-address {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    position: static;
    justify-content: flex-end;
    gap: 8px;
  }

  .site-footer .footer-contact-address address {
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: 11px;
  }

  .site-footer .footer-contact-methods {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    position: static;
    align-items: flex-start;
    gap: 12px;
  }

  .site-footer .footer-contact-methods a {
    gap: 7px;
    font-size: 11px;
  }

  .site-footer .footer-contact-methods a span {
    overflow-wrap: anywhere;
  }

  .site-footer .footer-contact-address svg,
  .site-footer .footer-contact-methods svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
  }
}


/* ==========================================
   RÜBSAM CONSULTING – ANFRAGEFORMULAR
   ========================================== */

.rc-form-card {
  background: #102c50;
  border: 1px solid #55728f;
  padding: 32px;
  color: #ffffff;
  min-width: 0;
}

.rc-form-heading {
  margin-bottom: 28px;
}

.rc-form-eyebrow {
  display: block;
  color: #91b8e6;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .12em;
  margin-bottom: 12px;
}

.rc-form-heading h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.03em;
  margin: 0 0 10px;
}

.rc-form-heading p {
  color: #b9cce3;
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
}

/* FORTSCHRITT */

.rc-form-progress {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #b9cce3;
  font-size: 11px;
  margin-bottom: 10px;
}

.rc-progress-track {
  height: 3px;
  background: #35517c;
  overflow: hidden;
  margin-bottom: 30px;
}

.rc-progress-track > div {
  height: 100%;
  width: 14.2857%;
  background: #3bbcf7;
  transition: width .25s ease;
}

/* FRAGEN */

.rc-form-step {
  min-height: 165px;
}

.rc-form-step[hidden] {
  display: none !important;
}

.rc-form-step > label,
.rc-form-step > h4 {
  display: block;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  margin: 0 0 16px;
}

.rc-form-step > h4 {
  margin-bottom: 22px;
}

.rc-form-step input,
.rc-form-step select,
.rc-form-step textarea {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  margin: 0 0 17px;
  border: 1px solid #6380a1;
  border-radius: 4px;
  background: #ffffff;
  color: #071f52;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.5;
}

.rc-form-step textarea {
  min-height: 135px;
  resize: vertical;
}

.rc-form-step input::placeholder,
.rc-form-step textarea::placeholder {
  color: #8392a6;
}

.rc-form-step input:focus,
.rc-form-step select:focus,
.rc-form-step textarea:focus {
  outline: 2px solid #3bbcf7;
  outline-offset: 2px;
}

.rc-form-step input[aria-invalid="true"],
.rc-form-step select[aria-invalid="true"],
.rc-form-step textarea[aria-invalid="true"] {
  border-color: #e88181;
}

.rc-field-help {
  font-size: 12px;
  color: #b9cce3;
  line-height: 1.7;
  margin: -5px 0 15px;
}

#rc-other-industry-wrap {
  margin-top: 12px;
}

#rc-other-industry-wrap label {
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
}

.rc-privacy-note {
  margin-top: 8px;
  font-size: 11px;
  color: #b9cce3;
  line-height: 1.7;
}

.rc-privacy-note a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* BUTTONS */

.rc-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
}

.rc-form-actions button {
  border-radius: 4px;
  padding: 12px 17px;
  min-height: 45px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.rc-next,
.rc-submit {
  color: #ffffff;
  background: #1671ff;
  border: 1px solid #1671ff;
}

.rc-next:hover,
.rc-submit:hover {
  background: #0f5cdb;
}

.rc-back {
  margin-right: auto;
  color: #dbe9fa;
  background: transparent;
  border: 1px solid #55728f;
}

.rc-back:hover {
  background: #244465;
}

.rc-form-actions button:disabled {
  opacity: .6;
  cursor: wait;
}

/* STATUS */

.rc-form-status {
  font-size: 12px;
  line-height: 1.6;
  margin: 14px 0 0;
}

.rc-form-status:empty {
  display: none;
}

.rc-form-status.is-error {
  color: #ffc5c5;
}

.rc-form-success {
  padding: 20px 0;
}

.rc-form-success h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.rc-form-success p {
  font-size: 13px;
  color: #b9cce3;
}

/* SPAMFALLE AUSSERHALB DES SICHTBAREN BEREICHS */

.rc-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* MOBILE */

@media (max-width: 650px) {

  .rc-form-card {
  background: #f3f6fa;
  border: 1px solid #d9e2ed;
  padding: 32px;
  color: #071f52;
  min-width: 0;
}

  .rc-form-heading h3 {
    font-size: 23px;
  }

  .rc-form-step > label,
  .rc-form-step > h4 {
    font-size: 16px;
  }

  .rc-form-actions {
    flex-wrap: wrap;
  }

  .rc-form-actions button {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-progress-track > div {
    transition: none;
  }
}


/* ==========================================
   RÜBSAM CONSULTING – FORMULAR FINAL DESIGN
   ========================================== */

/* WEISSE KARTE */

.contact-section .rc-form-card {
  background: #ffffff;
  color: #071f52;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  padding: 36px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, .12);
}

/* ÜBERSCHRIFTEN */

.rc-form-card .rc-form-heading h3,
.rc-form-card .rc-form-step > label,
.rc-form-card .rc-form-step > h4 {
  color: #071f52;
}

.rc-form-card .rc-form-eyebrow {
  color: #1671ff;
}

/* BESCHREIBUNGEN */

.rc-form-card .rc-form-heading p,
.rc-form-card .rc-field-help,
.rc-form-card .rc-form-progress,
.rc-form-card .rc-privacy-note {
  color: #64748b;
}

/* FORTSCHRITTSANZEIGE */

.rc-form-card .rc-progress-track {
  background: #e5ebf3;
}

.rc-form-card #rc-progress-bar {
  background: #1671ff;
}

/* EINGABEFELDER */

.rc-form-card .rc-form-step input,
.rc-form-card .rc-form-step select,
.rc-form-card .rc-form-step textarea {
  background: #f8fafc;
  border: 1px solid #d5dfeb;
  color: #071f52;
  border-radius: 5px;
}

.rc-form-card .rc-form-step input::placeholder,
.rc-form-card .rc-form-step textarea::placeholder {
  color: #8493a8;
}

/* BUTTONS */

.rc-form-card .rc-next,
.rc-form-card .rc-submit {
  background: #1671ff;
  border-color: #1671ff;
  color: #ffffff;
}

.rc-form-card .rc-back {
  background: transparent;
  border-color: #d5dfeb;
  color: #071f52;
}

.rc-form-card .rc-back:hover {
  background: #f0f4f9;
}

/* SONSTIGES */

.rc-form-card .rc-privacy-note a {
  color: #1671ff;
}

.rc-form-card .rc-form-success h3 {
  color: #071f52;
}

.rc-form-card .rc-form-success p {
  color: #64748b;
}

.rc-form-card .rc-form-status.is-error {
  color: #b42318;
}

/* SMARTPHONE */

@media (max-width: 650px) {
  .contact-section .rc-form-card {
    padding: 26px 20px;
    border-radius: 6px;
  }
}

/* ==========================================
   FRAGEBOGEN – SCHWARZE SCHRIFT & UMRANDUNG
   ========================================== */

/* Alle Texte im Fragebogen schwarz */
.contact-section .rc-form-card,
.contact-section .rc-form-heading h3,
.contact-section .rc-form-heading p,
.contact-section .rc-form-progress,
.contact-section .rc-form-step > label,
.contact-section .rc-form-step > h4,
.contact-section .rc-field-help,
.contact-section .rc-privacy-note,
.contact-section .rc-form-success p {
  color: #000000;
}

/* Eingabefelder mit schwarzer Schrift und Umrandung */
.contact-section .rc-form-step input,
.contact-section .rc-form-step select,
.contact-section .rc-form-step textarea {
  color: #000000;
  border: 1px solid #000000;
  background: #ffffff;
}

/* Platzhaltertexte schwarz */
.contact-section .rc-form-step input::placeholder,
.contact-section .rc-form-step textarea::placeholder {
  color: #000000;
  opacity: 1;
}

/* Zurück-Button schwarz */
.contact-section .rc-form-card .rc-back {
  color: #000000;
  border-color: #000000;
}

/* Der blaue Weiter-Button bleibt unverändert */

/* ==========================================
   MICROSOFT BOOKINGS – KALENDER
   ========================================== */





.rc-form-success h3 {
  color: #000000;
  font-size: 25px;
}

.rc-form-success p {
  color: #000000;
  line-height: 1.7;
}

.rc-booking-help {
  margin-top: 20px;
  font-size: 12px;
}

.rc-booking-help a {
  color: #1671ff;
}



/* ==========================================
   RÜBSAM CONSULTING – BOOKINGS POP-UP
   ========================================== */

.rc-booking-modal[hidden],
.rc-form-success[hidden] {
  display: none !important;
}

/* HINTERGRUNDABDUNKLUNG */

.rc-booking-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(3, 18, 43, .88);
}

/* POP-UP-FENSTER */

.rc-booking-window {
  display: flex;
  flex-direction: column;
  width: min(1280px, 96vw);
  height: 92vh;
  height: 92dvh;
  min-height: 0;
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 25px 80px rgba(0, 0, 0, .3);
}

/* OBERER BEREICH */

.rc-booking-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 28px;
  border-bottom: 1px solid #e1e7ef;
}

.rc-booking-header h2 {
  color: #071f52;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.3;
  margin: 6px 0;
}

.rc-booking-header p {
  color: #000000;
  font-size: 13px;
  margin: 0;
}

/* SCHLIESSEN */

.rc-booking-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid #dce5ef;
  border-radius: 50%;
  background: #ffffff;
  color: #071f52;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.rc-booking-close:hover {
  background: #eef3fa;
}

/* EINGEBETTETER KALENDER */

.rc-booking-window iframe {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  border: 0;
  background: #ffffff;
}

/* UNTERER BEREICH */

.rc-booking-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 28px;
  border-top: 1px solid #e1e7ef;
}

.rc-booking-footer p {
  color: #526278;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}

.rc-booking-footer a {
  color: #1671ff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}

/* BUTTON IN DER ABSCHLUSSKARTE */

.rc-booking-button {
  display: inline-block;
  margin-top: 16px;
  padding: 14px 22px;
  background: #1671ff;
  color: #ffffff;
  border: 0;
  border-radius: 5px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.rc-booking-button:hover {
  background: #095bd6;
}

.rc-booking-help {
  margin-top: 20px;
  color: #000000;
  font-size: 12px;
  line-height: 1.7;
}

/* MOBILE */

@media (max-width: 650px) {

  .rc-booking-modal {
    padding: 0;
  }

  .rc-booking-window {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    border-radius: 0;
  }

  .rc-booking-header {
    padding: 14px 16px;
  }

  .rc-booking-header h2 {
    font-size: 18px;
  }

  .rc-booking-header p {
    font-size: 11px;
  }

  .rc-booking-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 16px;
  }
}

/* ==========================================
   RÜBSAM CONSULTING – ERFOLGSANZEIGE
   ========================================== */

/* Alte Formularüberschrift ausblenden */
.rc-form-card:has(.rc-form-success:not([hidden]))
.rc-form-heading {
  display: none;
}

/* Bestätigungskarte */
.rc-form-card .rc-form-success:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px 12px;
  gap: 0;
}

/* Grünes Erfolgssymbol */
.rc-success-icon {
  width: 104px;
  height: 104px;
  margin-bottom: 24px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e5f6ec;
}

/* Pulsierender Außenring */
.rc-success-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 2px solid #20a363;
  border-radius: 50%;
  animation: rc-success-pulse 1.3s ease-out forwards;
}

/* SVG */
.rc-success-icon svg {
  width: 76px;
  height: 76px;
}

/* Kreis zeichnen */
.rc-success-circle {
  stroke: #20a363;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 170;
  stroke-dashoffset: 170;
  animation: rc-draw-circle .8s ease forwards;
}

/* Haken zeichnen */
.rc-success-check {
  stroke: #16834d;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 42;
  stroke-dashoffset: 42;
  animation: rc-draw-check .5s ease .65s forwards;
}

/* Texte */
.rc-form-success .rc-success-eyebrow {
  color: #16834d;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.5;
  margin-bottom: 18px;
}

.rc-form-card .rc-form-success h3 {
  color: #071f52;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 750;
  line-height: 1.15;
  margin: 0 0 20px;
}

.rc-form-card .rc-form-success h4 {
  color: #071f52;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 650;
  line-height: 1.35;
  margin: 0 0 20px;
}

.rc-form-card .rc-form-success > p {
  color: #526278;
  font-size: 14px;
  line-height: 1.8;
  max-width: 440px;
  margin: 0;
}

/* Terminbutton */
.rc-form-success .rc-booking-button {
  margin-top: 28px;
}

/* Kleiner Hinweis */
.rc-form-card .rc-form-success .rc-booking-help {
  font-size: 12px;
  line-height: 1.7;
  margin-top: 24px;
  color: #64748b;
}

/* ANIMATIONEN */
@keyframes rc-draw-circle {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes rc-draw-check {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes rc-success-pulse {
  0% {
    transform: scale(.85);
    opacity: .7;
  }

  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* MOBILE */
@media (max-width: 650px) {
  .rc-form-card .rc-form-success:not([hidden]) {
    padding: 24px 0;
  }

  .rc-success-icon {
    width: 88px;
    height: 88px;
  }

  .rc-success-icon svg {
    width: 65px;
    height: 65px;
  }
}

/* Animation bei reduzierter Bewegung deaktivieren */
@media (prefers-reduced-motion: reduce) {
  .rc-success-icon::after,
  .rc-success-circle,
  .rc-success-check {
    animation: none;
  }

  .rc-success-icon::after {
    opacity: 0;
  }

  .rc-success-circle,
  .rc-success-check {
    stroke-dashoffset: 0;
  }
}
@media (max-width: 380px) {
  .site-footer .footer-contact-methods a {
    font-size: 10px;
    gap: 5px;
  }

  .site-footer .footer-contact-methods svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }

  .site-footer .site-footer-contact {
    column-gap: 8px;
  }
}