/* RESUMA – gemeinsames Stylesheet (wird vom Generator erzeugt, nicht von Hand ändern) */
/* Schriften liegen auf dem eigenen Webspace (Backlog 11).
   Vorher wurden Sora, Inter und Space Grotesk bei jedem Seitenaufruf von
   fonts.googleapis.com geholt - dabei erfuhr Google die IP-Adresse jedes
   Besuchers, noch bevor er dem Tracking zustimmen konnte. Jetzt kommen sie
   aus /assets/schriften/. Beide Schriften stehen unter der SIL Open Font
   License, die das ausdruecklich erlaubt.

   Geladen sind nur die lateinischen Zeichensaetze (latin und latin-ext);
   Kyrillisch, Griechisch und Vietnamesisch braucht die Seite nicht.
   font-display:swap zeigt den Text sofort in der Ersatzschrift an. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/schriften/inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/schriften/inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/schriften/inter-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/schriften/inter-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/inter-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/inter-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/inter-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/inter-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/sora-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/sora-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/sora-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/sora-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/schriften/sora-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/schriften/sora-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/schriften/space-grotesk-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/schriften/space-grotesk-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/space-grotesk-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/schriften/space-grotesk-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/space-grotesk-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/schriften/space-grotesk-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
body{margin:0!important;}
.content-container,.content-area,.entry-content,.content-bg,.site-content,.single-page .entry-content{margin:0!important;padding:0!important;max-width:100%!important;}
:root{--navy:#00406F;--navy-deep:#002B4D;--gold:#A58B3F;--gold-deep:#8A7330;--ink:#1C2733;--body:#46535F;--soft:#F6F8FA;--line:#E6EAEE;--white:#fff;}
.rsm-root *{box-sizing:border-box;}
.rsm-root{font-family:'Inter',system-ui,sans-serif;color:var(--body);background:#fff;line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased;}
.rsm-root h1,.rsm-root h2,.rsm-root h3{font-family:'Sora',sans-serif;color:var(--navy);letter-spacing:-.02em;margin:0;}
.rsm-root h3{font-size:19px;font-weight:700;}
.rsm-root p{margin:0;}
.rsm-root a{color:inherit;text-decoration:none;}
.rsm-root .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.rsm-root .narrow{max-width:780px;margin:0 auto;}
.rsm-root .sub{font-size:clamp(17px,1.6vw,19px);color:var(--body);}
.rsm-root .btn{display:inline-flex;align-items:center;gap:10px;font-family:'Sora';font-weight:700;font-size:15.5px;padding:16px 30px;border-radius:8px;transition:background .15s,transform .15s;cursor:pointer;}
.rsm-root .btn-navy{background:var(--navy);color:#fff;}
.rsm-root .btn-navy:hover{background:var(--navy-deep);transform:translateY(-1px);}
.rsm-root .btn-gold{background:var(--gold);color:#fff;}
.rsm-root .btn-gold:hover{background:var(--gold-deep);transform:translateY(-1px);}
.rsm-root .ar{display:inline-block;width:1.2em;height:.74em;margin-left:.45em;vertical-align:middle;flex:none;transition:transform .15s ease;}
.rsm-root .btn:hover .ar,.rsm-root .tlink:hover .ar{transform:translateX(3px);}
.rsm-root .tlink:hover{color:var(--gold-deep);}
.rsm-root .grid{display:grid;gap:22px;}
.rsm-root .g2{grid-template-columns:1fr 1fr;}
.rsm-root .g3{grid-template-columns:repeat(3,1fr);}
.rsm-root .nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.rsm-root .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.rsm-root .brand img{height:72px;display:block;}
.rsm-root .navlinks a.l{font-size:15px;font-weight:600;color:var(--ink);}
.rsm-root .navlinks a.l:hover{color:var(--navy);}
.rsm-root .navlinks .btn{padding:11px 20px;font-size:14.5px;}
.rsm-root .navcta{display:none;}
.rsm-root .navtoggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;background:none;border:none;cursor:pointer;flex:none;}
.rsm-root .navtoggle span{display:block;height:2.5px;width:100%;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .2s;}
.rsm-root .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.rsm-root .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.rsm-root .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){.rsm-root .nav .wrap{justify-content:flex-start;gap:10px;}.rsm-root .navtoggle{display:flex;order:-1;}.rsm-root .navcta{display:inline-flex;order:1;margin-left:auto;padding:9px 13px;font-size:12.5px;white-space:nowrap;}.rsm-root .navlinks{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 16px 30px rgba(0,40,80,.13);padding:4px 0 14px;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .22s,visibility .3s;}.rsm-root .navlinks.open{max-height:84vh;overflow:auto;opacity:1;visibility:visible;}.rsm-root .navlinks a.l{display:block;padding:15px 26px;font-size:16px;border-top:1px solid var(--line);}.rsm-root .navlinks .btn{display:none;}}
.rsm-root .person{border:none;border-radius:18px;padding:28px;background:var(--navy-deep);overflow:hidden;}
.rsm-root .person .foto{width:calc(100% + 56px);margin:-28px -28px 18px;aspect-ratio:1/1;background:var(--navy-deep);display:block;}
.rsm-root .person .foto img{width:100%;height:100%;object-fit:cover;display:block;}
.rsm-root .person .role{font-family:'Sora';font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C9AE63;}
.rsm-root .person h3{margin:6px 0 10px;font-size:21px;color:#fff;}
.rsm-root .person p{font-size:15.5px;color:#C2CDD5;}
.rsm-root .quote{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:24px 26px;font-size:16.5px;color:var(--ink);font-style:italic;}
.rsm-root .sitefoot{border-top:1px solid var(--line);padding:54px 0 30px;}
.rsm-root .fgrid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;}
.rsm-root .fcol h4{font-family:'Sora';color:var(--navy);font-size:14px;margin:0 0 10px;}
.rsm-root .fcol h4 a{color:inherit;font:inherit;line-height:inherit;display:inline;}
.rsm-root .fcol h4 a:hover{color:var(--gold);}
.rsm-root .fcol p,.rsm-root .fcol a{font-size:14px;line-height:2;color:#7d8893;display:block;}
.rsm-root .fcol a:hover{color:var(--navy);}
.rsm-root .fbot{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:#9aa6b1;text-align:center;}
/* ===== MOBILE-ONLY (Desktop unverändert) ===== */
@media(max-width:600px){
  .rsm-root .nav .wrap{height:60px;padding:0 16px;}
  .rsm-root .brand img{height:44px;}
  .rsm-root .fgrid{flex-direction:column;gap:24px;}
}

/* Korrekturen */
/* ===== Nachträgliche Korrekturen (werden auf jeder Seite geladen) ===== */

/* Punkt 48 — kein unnötiges waagrechtes Scrollen.
   "clip" statt "hidden", damit der mitlaufende Kopf (position:sticky) weiter funktioniert. */
html { overflow-x: clip; }

/* Landingpages (LP1/LP2): Der Inhalt zwingt den Seitenrahmen unterhalb von rund 860 px
   auf etwa 780 px Breite. Das Clippen am Rahmen selbst räumt den Überstand wirklich weg
   (nur am <html> zu clippen unterdrückt bloß den Balken). */
.rlp { overflow-x: clip; }

/* Branchen-Unterseiten: Gewerke-Kacheln auf mittleren Breiten etwas schmaler,
   damit die Reihe hineinpasst; der Rest wird am Inhaltsrahmen geclippt. */
@media (max-width: 1100px) {
  .bsub .gewerke-grid > .gewerk { flex-basis: 96px; }
}
.bsub { overflow-x: clip; }

/* Handy-Kopf: Logo und Knopf etwas kleiner, sonst ragt der Knopf 7 px hinaus */
@media (max-width: 430px) {
  .rsm-root .nav .wrap { padding: 0 12px; gap: 8px; }
  .rsm-root .brand img { height: 36px; }
  .rsm-root .navcta { padding: 8px 10px; font-size: 11.5px; }
  .rsm-root .navtoggle { width: 40px; padding: 10px; }
}
/* sehr kleine Geräte (ab iPhone SE): Kopfzeile noch einmal enger */
@media (max-width: 360px) {
  .rsm-root .nav .wrap { padding: 0 10px; gap: 6px; }
  .rsm-root .brand img { height: 32px; }
  .rsm-root .navcta { padding: 7px 9px; font-size: 11px; }
  .rsm-root .navtoggle { width: 36px; padding: 9px; }
}

/* Lange Adressen und Wörter in Impressum/Datenschutz umbrechen statt überstehen */
.rsm-root .legal p,
.rsm-root .legal li,
.rsm-root .legal a { overflow-wrap: anywhere; }

/* Sehr schmale Handys: lange Überschriften wie „Datenschutzerklärung" trennen,
   statt sie über den Rand laufen zu lassen (Sprache steht auf Deutsch, daher saubere Trennung) */
@media (max-width: 480px) {
  .rsm-root h1,
  .rsm-root h2 { overflow-wrap: break-word; hyphens: auto; }
}

/* Mausglow — der weiche goldene Lichtschein, der dem Zeiger folgt.
   Beim Umstieg von WordPress auf statische Seiten ist die Regel verloren gegangen:
   Der Baustein <div id="mglow"> und das Skript waren noch da, aber ohne Stil blieb
   der Schein unsichtbar. Hier neu angelegt — etwas kleiner als früher (320 statt
   420 px), damit er dezenter wirkt. Das Skript versetzt um die halbe Kantenlänge,
   also 160 px; wer die Größe ändert, muss dort mitziehen.                          */
#mglow {
  position: fixed;
  top: 0;
  left: 0;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  transition: opacity .35s ease;
  background: radial-gradient(circle closest-side,
    rgba(165, 139, 63, .16) 0%,
    rgba(165, 139, 63, .09) 42%,
    rgba(165, 139, 63, 0) 72%);
}

/* Auf Fingergeräten gibt es keinen Zeiger — dort bleibt der Schein aus. */
@media (hover: none) {
  #mglow { display: none; }
}

/* Wer weniger Bewegung eingestellt hat, bekommt keinen mitlaufenden Schein. */
@media (prefers-reduced-motion: reduce) {
  #mglow { display: none; }
}

/* RESUMA - Google-Rezensionen
   Erzeugt von _entwurf/bewertungen/_einbauen.js - nicht von Hand ändern. */
/* ===== Google-Rezensionen (05.10.2026) =====
   Farben wie überall: Navy #00406F, Gold #A58B3F. Die Karten laufen in zwei
   Spalten ohne Löcher (columns statt Raster), am Handy in einer. */
.gb-leiste{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e3e8ee;border-radius:999px;
  box-shadow:0 4px 14px rgba(6,43,71,.08);padding:9px 18px;font-family:'Sora','Segoe UI',sans-serif;font-size:15px;color:#00406F;text-decoration:none}
.gb-leiste b{font-size:17px}
.gb-sterne{color:#A58B3F;letter-spacing:1px;font-size:15px;line-height:1}
.gb-leiste .gb-quelle{color:#5a6b7a;font-weight:400;font-family:'Inter','Segoe UI',sans-serif;font-size:14px}
.gb-leiste .gb-pf{color:#A58B3F;font-weight:700}
a.gb-leiste:hover{border-color:#A58B3F}
.gb-karten{columns:2;column-gap:20px;max-width:980px;margin:26px auto 0;text-align:left}
.gb-karte{break-inside:avoid;margin:0 0 20px;background:#fff;border:1px solid #e3e8ee;border-radius:14px;box-shadow:0 6px 24px rgba(6,43,71,.08);padding:22px 24px;display:flex;flex-direction:column}
.gb-kopf{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.gb-kreis{flex:none;width:42px;height:42px;border-radius:50%;background:#f5ecd6;color:#8a7434;font-family:'Sora',sans-serif;font-weight:800;font-size:15px;
  display:flex;align-items:center;justify-content:center}
.gb-kopf b{display:block;font-family:'Sora',sans-serif;color:#00406F;font-size:15.5px;line-height:1.25}
.gb-kopf small{display:block;color:#5a6b7a;font-size:13px}
.gb-marke{margin-left:auto;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;color:#5a6b7a;letter-spacing:.04em;white-space:nowrap}
.gb-karte p{margin:0;font-size:15px;line-height:1.6;color:#1c2b3a;
  display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.gb-mehr{margin-top:14px;padding-top:12px;border-top:1px solid #e3e8ee;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;color:#00406F!important;text-decoration:none}
.gb-mehr span{color:#A58B3F}
.gb-hinweis{margin:18px auto 0;max-width:820px;font-size:13.5px;line-height:1.55;color:#5a6b7a}
.gb-hinweis a{color:#00406F;font-weight:600;border-bottom:1px solid #A58B3F;text-decoration:none}
@media(max-width:860px){.gb-karten{columns:1}}
/* Handy: die Leiste wird zum flachen Kasten, der Zusatztext entfällt */
@media(max-width:560px){
  .gb-leiste{display:flex;justify-content:center;border-radius:14px;padding:11px 16px;gap:4px 10px;font-size:14.5px}
  .gb-leiste .gb-lang,.gb-leiste .gb-pf{display:none}
  .gb-karte{padding:20px}
}
