@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-garamond-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
/* ======================================================================
   Notar Dr. Moritz Blenk · Senftenberg — Stylesheet
   Farben und Schrift nach Corporate Design (Marineblau #1B3A5C, Cormorant Garamond)
   ====================================================================== */
:root{
  --navy:#1B3A5C; --navy-d:#132A42; --navy-25:#546B85; --navy-50:#8D9CAE; --navy-75:#C6CED6; --navy-90:#E8EBEF; --navy-96:#F6F7F8;
  --grau:#5E6E80; --grau-35:#96A1AC; --grau-60:#BFC5CC; --grau-80:#DFE2E6; --grau-92:#F2F3F5; --grau-97:#FAFBFB;
  --text:#23282D; --linie:#B9C6D4; --messing:#B1722F; --messing-d:#94601F; --flaeche:#F1F3F5; --gruen:#2F9E68;
  --serif:'Cormorant Garamond',Garamond,'Times New Roman',Georgia,serif;
  --breite:1200px; --band-h:90px; --r:6px;
  --schatten:0 18px 44px rgba(19,42,66,.16);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--band-h)}
body{margin:0;font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.65;color:var(--text);background:#fff;
  -webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img{max-width:100%;display:block}
a{color:var(--navy)}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);font-weight:600;line-height:1.12;margin:0 0 .5em}
h2{font-size:clamp(34px,3.6vw,50px)}
h3{font-size:clamp(24px,2vw,29px)}
p{margin:0 0 1em}
abbr[title]{text-decoration:none}
:focus-visible{outline:2px solid var(--messing);outline-offset:3px}
.nur-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:9999;background:#fff;color:var(--navy);padding:10px 16px;border:2px solid var(--navy)}
.skip:focus{left:8px}
.huelle{max-width:var(--breite);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.huelle.breit{max-width:1440px}
.strich{width:56px;height:1.5px;background:var(--linie);margin:18px 0 28px}
.eyebrow{display:block;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--grau);font-weight:600;margin-bottom:10px}

/* ---------------------------------------------------------------- Knöpfe */
.knopf{display:inline-flex;align-items:center;gap:10px;padding:12px 22px 13px;border-radius:4px;border:1.5px solid var(--navy);
  background:var(--navy);color:#fff;font:600 18px/1.2 var(--serif);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.knopf:hover{background:var(--navy-d);border-color:var(--navy-d)}
.knopf.zweit{background:var(--navy-90);border-color:var(--navy-90);color:var(--navy)}
.knopf.zweit:hover{background:var(--navy-75);border-color:var(--navy-75)}
.knopf.rahmen{background:#fff;color:var(--navy);border-color:var(--navy-75)}
.knopf.rahmen:hover{border-color:var(--navy);background:var(--navy-96)}
.knopf svg,.pfeil{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .2s}
.knopf:hover svg{transform:translateX(3px)}
.textlink{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1.5px solid var(--linie);padding-bottom:3px}
.textlink:hover{border-color:var(--navy)}
.textlink:hover .pfeil{transform:translateX(3px)}

/* ---------------------------------------------------------------- Status (geöffnet · telefonisch erreichbar) */
.stat2{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;margin:0}
.st{display:inline-flex;align-items:center;gap:9px;font-weight:600;white-space:nowrap}
.st i{width:11px;height:11px;border-radius:50%;background:var(--grau-35);flex:none;position:relative}
.st.an i{background:#3FC47F}
.st.an i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #3FC47F;animation:pulsieren 1.8s ease-out infinite}
@keyframes pulsieren{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(1.5)}}
.st-zeit{margin:6px 0 0;font-size:17px;opacity:.9}

/* ---------------------------------------------------------------- Kopf über dem Hero */
.kopf{position:absolute;inset:0 0 auto 0;z-index:40;color:#fff}
.kopf-innen{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:28px;padding:22px clamp(20px,3.4vw,52px) 0}
.kopf nav{display:flex;gap:clamp(16px,2vw,34px);padding-top:18px;flex-wrap:wrap;align-items:center}
.kopf nav.rechts{justify-content:flex-end}
.kopf nav a,.kopf nav button.link{color:#fff;text-decoration:none;font:600 19px/1.2 var(--serif);letter-spacing:.02em;
  text-shadow:0 1px 10px rgba(10,30,50,.35);padding:6px 0;border:0;background:none;cursor:pointer;position:relative}
.kopf nav a::after,.kopf nav button.link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:#fff;transition:right .3s}
.kopf nav a:hover::after,.kopf nav button.link:hover::after{right:0}
.kopf .logo-hero{display:block;width:clamp(210px,21vw,300px);filter:drop-shadow(0 2px 16px rgba(10,30,50,.28))}
.kopf .glas-knopf{display:inline-flex;align-items:center;gap:9px;padding:9px 18px 10px!important;border:1px solid rgba(255,255,255,.6)!important;border-radius:4px;
  background:rgba(255,255,255,.16)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.kopf .glas-knopf svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.kopf .glas-knopf::after{display:none}
.kopf .glas-knopf:hover{background:rgba(255,255,255,.28)!important}
.hamburger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;color:inherit;padding:10px}
.hamburger span{display:block;height:2px;background:currentColor;margin:6px 0;border-radius:2px}
.a11y-knopf{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.14);color:#fff;
  display:inline-grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex:none}
.a11y-knopf svg{width:22px;height:22px;fill:currentColor}

/* ---------------------------------------------------------------- Menüband */
.band{position:fixed;inset:0 0 auto 0;height:var(--band-h);z-index:60;background:rgba(255,255,255,.97);box-shadow:0 1px 0 var(--navy-90),0 10px 30px rgba(19,42,66,.08);
  transform:translateY(-105%);transition:transform .35s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.band.an,body.unterseite .band{transform:none}
.band-innen{height:100%;display:flex;align-items:center;gap:24px;padding:0 clamp(18px,3vw,44px)}
.band .marke{display:flex;align-items:center;gap:16px;margin-right:auto;text-decoration:none}
.band .marke .wappen{height:62px;width:auto}
.band .marke .name{width:clamp(200px,17vw,250px);height:auto}
.band nav{display:flex;gap:clamp(14px,1.7vw,30px);align-items:center}
.band nav a,.band nav button.link{color:var(--navy);text-decoration:none;font:600 19px/1.2 var(--serif);padding:6px 0;border:0;background:none;cursor:pointer;position:relative}
.band nav a::after,.band nav button.link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--messing);transition:right .3s}
.band nav a:hover::after,.band nav button.link:hover::after,.band nav a[aria-current]::after{right:0}
.band nav a.knopf{color:#fff;background:var(--navy);border:1.5px solid var(--navy);padding:11px 20px 12px}
.band nav a.knopf:hover{background:var(--navy-d)}
.band nav a.knopf::after{display:none}
.band nav a.knopf svg{width:19px;height:19px}
.band .a11y-knopf{border-color:var(--navy-75);background:var(--navy-96);color:var(--navy)}
.band .hamburger{color:var(--navy)}

/* ---------------------------------------------------------------- Hero */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:#8FB6DD}
.hero picture,.hero .hero-bild{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-bild{object-fit:cover;object-position:50% 58%}
@media (max-aspect-ratio:4/5){.hero .hero-bild{object-position:50% 60%}}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:42%;z-index:1;pointer-events:none;background:linear-gradient(rgba(12,34,58,.30),rgba(12,34,58,0))}
.glas{color:#fff;background:rgba(19,42,66,.36);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 20px 50px rgba(8,24,40,.25)}
.glas a{color:#fff;text-decoration:none}
.kontaktzeilen{list-style:none;margin:0;padding:0;font-size:20px;line-height:1.45}
.kontaktzeilen li{display:flex;gap:14px;align-items:flex-start;padding:4px 0}
.kontaktzeilen svg.ic{width:21px;height:21px;flex:none;margin-top:3px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
/* V1: Glaskarte rechts */
.infokarte{position:absolute;z-index:3;left:clamp(18px,4vw,64px);bottom:clamp(22px,7vh,70px);width:min(470px,calc(100% - 36px));padding:28px 32px 26px;border-radius:12px}
.infokarte .stat-block{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-size:20px}
.infokarte .mehr{display:inline-flex;gap:10px;align-items:center;margin-top:16px;font-weight:600;font-size:20px;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:3px}
.infokarte .mehr:hover .pfeil{transform:translateX(3px)}
/* V2: Glasleiste unten */
.infoleiste{position:absolute;z-index:3;left:clamp(14px,3vw,40px);right:clamp(14px,3vw,40px);bottom:clamp(14px,3vh,28px);display:none;
  grid-template-columns:2.1fr 1.05fr .95fr 1.15fr auto;align-items:stretch;border-radius:12px;font-size:19.5px}
.infoleiste>*{padding:20px 26px;border-left:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;justify-content:center}
.infoleiste>:first-child{border-left:0}
.infoleiste .etikett{display:block;font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin-bottom:4px}
.infoleiste .st-zeit{font-size:16.5px}
.infoleiste .mehr{flex-direction:row;align-items:center;gap:10px;font-weight:600;white-space:nowrap}
.infoleiste .mehr:hover{background:rgba(255,255,255,.1)}
/* V3: Weißer Auslauf mit Streifen */
.hero .auslauf{display:none;position:absolute;inset:auto 0 0 0;height:34%;z-index:2;background:linear-gradient(rgba(255,255,255,0),#fff 92%)}
.zeitstreifen{display:none;background:#fff;padding:0 0 30px;margin-top:-8px;position:relative;z-index:3}
.zeitstreifen .huelle{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:clamp(18px,3vw,48px);align-items:start}
.zeitstreifen .block{border-top:1.5px solid var(--linie);padding-top:14px}
.zeitstreifen .etikett{display:block;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);margin-bottom:8px}
.zeitstreifen .tel{font-size:30px;font-weight:600;color:var(--navy);text-decoration:none;line-height:1.2}
.zeitstreifen .mail{display:block;margin-top:4px;color:var(--navy);text-decoration:none}
.zeitstreifen .stat2{color:var(--navy);font-size:20px}
.zeitstreifen .st-zeit{color:var(--grau)}
.zeitstreifen .anschrift{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.zeitstreifen .anschrift p{margin:0;font-size:20px}
body.hero-v2 .infoleiste{display:grid}
body.hero-v3 .auslauf{display:block}
body.hero-v3 .zeitstreifen{display:block}
body.hero-v3 .hero{height:calc(100svh - 190px);min-height:480px}

/* Kontaktknopf am rechten Rand (Startseite, ab Notar-Sektion) */
.kontakt-rand{position:fixed;z-index:80;right:0;top:50%;transform:translate(110%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 11px;
  border:0;border-radius:10px 0 0 10px;background:var(--navy);color:#fff;cursor:pointer;box-shadow:0 12px 30px rgba(19,42,66,.3);transition:transform .35s ease,background .2s}
.kontakt-rand.an{transform:translate(0,-50%)}
.kontakt-rand:hover{background:var(--navy-d)}
.kontakt-rand svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.kontakt-rand span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 18px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase}
body.menu-offen .kontakt-rand{transform:translate(110%,-50%)}
/* Entwurfs-Umschalter (nur zur Abstimmung) */
.entwurf{position:fixed;z-index:90;right:10px;top:calc(50% + 108px);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:30px;
  text-align:center;font-size:12px;line-height:1.2;width:58px;background:#fff;border:1px solid var(--navy-75);box-shadow:var(--schatten);color:var(--grau)}
.entwurf button{width:32px;height:32px;border-radius:50%;border:1px solid var(--navy-75);background:#fff;color:var(--navy);font:600 16px var(--serif);cursor:pointer}
.entwurf button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------------------------------------------------------------- Notar-Sektion (Startseite) */
.notar .huelle.breit{max-width:1280px}
.notar{position:relative;padding:clamp(70px,9vw,120px) 0;background:linear-gradient(180deg,#fff 0%,var(--flaeche) 100%);overflow:hidden}
.notar-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"kopf bild" "links bild" "team stellen";column-gap:clamp(40px,6vw,110px);row-gap:clamp(34px,4vw,56px)}
.notar-kopf{grid-area:kopf;align-self:end}
.notar-kopf h2{margin:0;font-size:clamp(40px,4.2vw,64px);line-height:1.05}
.notar-kopf h2 small{display:block;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--grau);font-weight:600;margin-bottom:12px}
.notar-kopf .strich{margin-bottom:0}
.notar-links{grid-area:links;align-self:start}
.notar-bild{grid-area:bild}
.wk-team{grid-area:team}.wk-stellen{grid-area:stellen}
.notar-links h3{font-size:clamp(28px,2.4vw,34px);margin-bottom:12px}
table.werdegang{border-collapse:collapse;width:100%;font-size:19px;line-height:1.45}
.werdegang td{padding:10px 0;border-top:1px solid var(--navy-75);vertical-align:top}
.werdegang tr:first-child td{border-top:1.5px solid var(--navy)}
.werdegang td.jahr{width:7.4em;color:var(--messing-d);font-weight:600;padding-right:16px;white-space:nowrap}
.akten-zeile{margin-top:26px;padding-top:18px;border-top:1.5px solid var(--navy)}
.akten-zeile p{margin:0 0 10px;font-size:20px}
.akten-zeile b{color:var(--navy);font-weight:600}
.notar-bild{position:relative}
.notar-bild picture,.notar-bild .foto{display:block;width:100%;height:auto;aspect-ratio:1/1.35;object-fit:cover;object-position:35% 15%;border-radius:10px}
.notar-foto{position:relative}
.notar-bild .siegel{position:absolute;z-index:2;right:0;bottom:7%;transform:translateX(14%);width:250px;box-shadow:0 34px 80px rgba(8,24,40,.42),0 10px 24px rgba(8,24,40,.22)!important;background:#fff;border-radius:10px;padding:22px 24px 18px;box-shadow:var(--schatten)}
.notar-bild .siegel img{width:100%;height:auto}
.weg-kachel{position:relative;display:flex;align-items:flex-end;min-height:230px;padding:28px 30px;border-radius:10px;overflow:hidden;text-decoration:none;background:var(--navy);color:#fff}
.weg-kachel.hell{background:var(--navy-90);color:var(--navy)}
.weg-kachel h3{color:inherit;margin:0;font-size:clamp(28px,2.6vw,38px)}
.weg-kachel .pfeil{width:30px;height:30px;margin-left:auto}
.weg-kachel .wappen-zeichen{position:absolute;right:26px;top:24px;width:58px;opacity:.9}
.weg-kachel:hover .pfeil{transform:translateX(5px)}
.notar-raster>.weg-kachel{align-self:stretch;min-height:175px;padding-top:22px;padding-bottom:24px}
.markierung{display:inline-block;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--messing-d);border:1px solid #E3C9A6;background:#FBF5EE;border-radius:20px;padding:3px 10px;margin:0 0 12px;vertical-align:middle}

/* ---------------------------------------------------------------- Tätigkeitsbereiche (Bild) */
.tb{position:relative;background:#fff;isolation:isolate;display:flex;flex-direction:column;overflow:hidden}
.tb-intro{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,70px);align-items:center;max-width:var(--breite);width:100%;margin:0 auto;padding:30px clamp(18px,4vw,40px) 30px}
.tb-intro h2{font-size:clamp(40px,4vw,60px);margin:0;line-height:1.05}
.tb-intro .strich{margin:16px 0 0;width:64px}
.tb-intro p{font-size:clamp(18px,1.35vw,20.5px);color:var(--grau);margin:0 0 16px}
.tb-intro .knoepfe{display:flex;gap:12px;flex-wrap:wrap}
.tb-buehne{position:relative;width:100%;overflow:hidden;flex:none}
.tb-leinwand{position:relative;width:100%;aspect-ratio:1916/821;overflow:hidden}
.anker-alt{position:absolute;top:0}
.tb-buehne img{position:absolute;display:block;max-width:none;user-select:none;-webkit-user-drag:none}
.tb-buehne .sw{inset:0;width:100%;height:100%}
.tb-buehne .farbe{opacity:0;transition:opacity .6s ease;pointer-events:none;will-change:opacity}
.tb-buehne svg.treffer{position:absolute;inset:0;width:100%;height:100%}
.tb-buehne .hit{fill:transparent;cursor:pointer;pointer-events:all}
.tb-bereich.einladen .farbe{opacity:.5}
.tb-bereich.on .farbe{opacity:1}
.tb-karten{list-style:none;margin:0;padding:0}
.tb-karte{position:absolute;z-index:6;left:0;top:0;width:max-content;min-width:300px;max-width:min(410px,88vw);background:#fff;border-radius:10px;box-shadow:0 24px 60px rgba(19,42,66,.28);
  overflow:hidden;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:opacity .25s ease,transform .25s ease}
.tb-karte.oben{transform:translate(-50%,calc(-100% - 10px))}
.tb-karte.rechts{transform:translate(10px,-50%)}
.tb-karte.links{transform:translate(calc(-100% - 10px),-50%)}
.tb-karte.links.on,.tb-karte.links:focus-within{transform:translate(-100%,-50%)}
.tb-karte.on,.tb-karte:focus-within{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.tb-karte.oben.on,.tb-karte.oben:focus-within{transform:translate(-50%,-100%)}
.tb-karte.rechts.on,.tb-karte.rechts:focus-within{transform:translate(0,-50%)}
.tb-karte h3{margin:0;padding:15px 22px 14px;background:var(--navy);color:#fff;font-size:28px}
.tb-karte ul{list-style:none;margin:0;padding:8px 22px 12px}
.tb-karte li+li{border-top:1px solid var(--navy-90)}
.formlink{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;text-decoration:none;color:var(--navy);font-weight:600;font-size:20px;line-height:1.25}
.formlink .pfeil{color:var(--messing);width:20px;height:20px}
.formlink:hover .pfeil{transform:translateX(3px)}
.formlink small{display:block;font-weight:500;color:var(--grau);font-size:15px;margin-top:2px}
.tb-alle{position:absolute;z-index:5;right:clamp(16px,3vw,52px);bottom:clamp(16px,3.4vw,52px);display:flex;align-items:center;gap:16px;
  padding:clamp(18px,1.9vw,28px) clamp(24px,2.4vw,38px);border-radius:12px;border:1px solid rgba(255,255,255,.6);cursor:pointer;
  background:rgba(19,42,66,.82);color:#fff;font:600 clamp(23px,2.1vw,32px)/1.05 var(--serif);letter-spacing:.01em;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 22px 50px rgba(8,24,40,.35);transition:background .2s,transform .2s}
.tb-alle:hover{background:rgba(19,42,66,.95);transform:translateY(-2px)}
.tb-alle svg{width:clamp(28px,2.4vw,36px);height:clamp(28px,2.4vw,36px);fill:none;stroke:currentColor;stroke-width:1.4}
.tb.offen .tb-leinwand{filter:blur(9px) saturate(.9);transform:scale(1.03)}
.tb-leinwand{transition:filter .5s ease,transform .6s ease}
.tb.offen .tb-alle{visibility:hidden}
.tb-panel{position:absolute;z-index:8;background:rgba(255,255,255,.97);border-radius:14px;box-shadow:0 30px 80px rgba(8,24,40,.35);overflow:hidden;
  display:none;transition:left .55s cubic-bezier(.6,0,.2,1),top .55s cubic-bezier(.6,0,.2,1),width .55s cubic-bezier(.6,0,.2,1),height .55s cubic-bezier(.6,0,.2,1)}
.tb-panel.sichtbar{display:block}
.tb-panel-innen{height:100%;overflow:auto;padding:clamp(20px,2.4vw,34px) clamp(22px,3.6vw,58px);opacity:0;transition:opacity .3s ease .35s}
.tb-panel.voll .tb-panel-innen{opacity:1}
.tb-panel-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.tb-panel-kopf h2{margin:0 0 6px;font-size:clamp(32px,3vw,46px)}
.tb-panel-kopf p{margin:0;color:var(--grau);font-size:19px;max-width:720px}
.schliessen{width:48px;height:48px;border-radius:50%;border:1px solid var(--navy-75);background:#fff;color:var(--navy);cursor:pointer;display:grid;place-items:center;flex:none}
.schliessen svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
.schliessen:hover{background:var(--navy-90)}
.tb-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,46px)}
.tb-spalte{display:flex;flex-direction:column;gap:clamp(18px,2vw,28px)}
.tb-faq{margin-top:10px;padding:22px;border-radius:10px;background:var(--flaeche);text-align:center}
.tb-faq p{margin:0 0 12px;color:var(--grau);font-size:18px}
.tb-gruppe h3{font-size:25px;margin:0 0 4px;padding-bottom:6px;border-bottom:1.5px solid var(--linie)}
.tb-gruppe ul{list-style:none;margin:0;padding:0}
.tb-gruppe li+li{border-top:1px solid var(--navy-90)}
.tb-gruppe .formlink{font-size:18.5px;padding:7px 0}
.tb-panel .formlink small{display:none}
.tb-panel .tb-gruppe h3{font-size:25px;margin-bottom:4px}
.tb-panel .tb-spalte{gap:clamp(22px,2.2vw,34px)}
.tb-panel .tb-faq{padding:20px}
.tb-panel .tb-gruppe .formlink{padding:10px 0}
.tb-panel-innen{display:flex;flex-direction:column}
.tb-panel .tb-raster{margin:auto 0;column-gap:clamp(30px,4vw,70px)}
.tb-panel-kopf{margin-bottom:24px}
.tb-panel-fuss{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--navy-90)}
.tb-panel-fuss p{margin:0;font-size:16px;color:var(--grau)}
.tb-liste{display:none}
.nur-klein{display:none}
@media (max-width:760px){.nur-gross{display:none}.nur-klein{display:inline}}

/* ---------------------------------------------------------------- Anfahrt und Öffnungszeiten */
.anfahrt{padding:clamp(70px,9vw,120px) 0 clamp(60px,8vw,110px);background:var(--flaeche)}
.anfahrt .kopfzeile{max-width:var(--breite);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.kmap-raster{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr);gap:clamp(18px,2.4vw,34px);align-items:stretch}
.kmap-wrap{position:relative;background:#F1F3F5;border-radius:12px}
.kmap-info{display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:var(--schatten);overflow:hidden;min-height:420px}
.kmap-kopf{margin:0;padding:16px 26px;background:var(--navy);color:#fff;font-size:14px;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.kmap-koerper{flex:1;padding:26px 28px 10px}
.kmap-koerper .typ{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600}
.kmap-koerper h3{font-size:clamp(28px,2.3vw,34px);margin:6px 0 10px}
.kmap-koerper p{margin:0 0 12px;font-size:19px}
.kmap-koerper .weg{color:var(--messing-d);font-weight:600;font-size:20px}
.kmap-liste{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--navy-75)}
.kmap-liste li{position:relative;padding:5px 0 5px 22px;font-size:18px;line-height:1.4}
.kmap-liste li::before{content:"";position:absolute;left:2px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--messing)}
.kmap-liste b{color:var(--navy)}
.kmap-koerper .tipp{font-size:16.5px;color:var(--grau);border-top:1px solid var(--navy-90);padding-top:12px;margin-top:16px}
.kmap-fuss{display:flex;flex-direction:column;gap:10px;padding:18px 28px 26px}
.kmap-fuss .knopf{justify-content:center;font-size:19px;padding:14px 20px}
.kmap-fuss .knopf svg{width:20px;height:20px}
.stern{color:var(--messing);font-weight:700;margin-left:2px}
.karte-fussnote{display:flex;gap:6px;font-size:15px;line-height:1.5;color:var(--grau);margin:22px 0 0;max-width:980px}
.karte-fussnote a{color:var(--grau)}
.anfahrt-text{margin-top:clamp(30px,3.6vw,46px);display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(16px,2.4vw,30px)}
.anfahrt-feld{display:flex;gap:18px;align-items:flex-start;background:var(--navy-90);border-left:4px solid var(--navy);border-radius:0 12px 12px 0;padding:24px 28px}
.anfahrt-feld>svg{width:34px;height:34px;flex:none;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-top:4px}
.anfahrt-text h3{font-size:25px}
.anfahrt-text p{margin:0}
.anfahrt-unten{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(16px,2.4vw,30px);margin-top:clamp(44px,6vw,80px);align-items:stretch}
.zeiten-karte{background:#fff;border-radius:12px;padding:28px 30px;box-shadow:0 1px 0 var(--navy-90)}
.zeiten-karte h3{font-size:27px;margin:0 0 10px}
.zeiten-karte .stat2{color:var(--navy);font-size:19px}
.zeiten-karte .st-zeit{color:var(--grau);font-size:17px;margin-bottom:26px}
table.zeiten{border-collapse:collapse;width:100%;font-size:18px;line-height:1.45}
.zeiten td{padding:6px 14px 6px 0;border-top:1px solid var(--navy-90);white-space:nowrap;font-variant-numeric:tabular-nums}
.zeiten td:first-child{color:var(--grau);width:6.4em}
.zeiten tr.heute td{color:var(--navy);font-weight:600}
.zeiten-karte .hinweis{margin:12px 0 0;font-size:15.5px;color:var(--grau)}
.feiertag{display:none;margin:22px 0 0;padding:12px 16px;border-left:3px solid var(--messing);background:#FBF5EE;color:var(--text);font-size:17px}
.feiertag.an{display:block}
.adresse-block{display:flex;flex-direction:column;gap:4px}
.adresse-block .kontaktzeilen{font-size:20px;color:var(--text)}
.adresse-block .kontaktzeilen a{color:var(--navy);text-decoration:none}
.adresse-block .kontaktzeilen svg.ic{color:var(--navy)}
.adresse-block .knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px}

/* ---------------------------------------------------------------- Unterseiten allgemein */
body.unterseite main{padding-top:var(--band-h)}
.seitenkopf{padding:clamp(40px,6vw,76px) 0 0}
.brotkrumen{font-size:15px;color:var(--grau);margin-bottom:10px}
.brotkrumen a{color:var(--grau);text-decoration:none}
.brotkrumen a:hover{text-decoration:underline}
.seitenkopf h1{font-size:clamp(40px,4.6vw,64px);margin:0}
.inhalt{padding:0 0 clamp(60px,8vw,110px)}
.text>*{max-width:780px}
.text h2{font-size:clamp(26px,2.4vw,32px);margin-top:1.6em}
.text ul{padding-left:1.1em}
.platzhalter-bild{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:linear-gradient(150deg,var(--navy-90),var(--navy-75));display:grid;place-items:center}
.platzhalter-bild .wappen-zeichen{width:34%;opacity:.35}
.platzhalter-bild .hinweis{position:absolute;left:12px;bottom:12px;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.85);padding:4px 10px;border-radius:20px;color:var(--grau)}

/* Team */
.team-kopf{position:relative;overflow:hidden;padding:clamp(50px,7vw,96px) 0 clamp(50px,6vw,80px);background:linear-gradient(180deg,var(--flaeche),#fff)}
.team-flaeche{position:relative;isolation:isolate;clip-path:inset(0);background:linear-gradient(180deg,var(--flaeche) 0,#fff 700px)}
.team-flaeche .team-kopf{background:none}
.team-wappen{position:fixed;z-index:0;right:-10vw;bottom:-16vh;width:min(63vw,900px);height:auto;opacity:.045;pointer-events:none}
.team-wappen ~ section{position:relative;z-index:1}
.kartei-karte,.team-karte,.akten-schmal{position:relative;z-index:1}
body.unterseite main{position:relative;z-index:1}
.notar-block{position:relative;display:grid;grid-template-columns:minmax(300px,580px) 1fr;gap:clamp(24px,4vw,64px);align-items:stretch}
.notar-text{display:flex;flex-direction:column}
.notar-text h1{font-size:clamp(44px,4.8vw,68px);margin:0}
.notar-text h2.klein{font-size:26px;margin:10px 0 10px}
.akten-schmal{grid-column:1/-1;padding:14px 18px;border:1px solid var(--navy-75);border-left:4px solid var(--navy);border-radius:0 8px 8px 0;background:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px}
.akten-schmal p{margin:0;font-size:18.5px}
.akten-schmal b{color:var(--navy)}
.variante-titel{margin-top:clamp(60px,8vw,100px)}
.kartei{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,26px)}
.kartei-karte{background:#fff;border:1px solid var(--navy-90);border-top:4px solid var(--navy);border-radius:10px;padding:24px 26px;box-shadow:0 10px 28px rgba(19,42,66,.07);display:flex;flex-direction:column;gap:16px}
.kartei-kopf{display:flex;gap:16px;align-items:center}
.kartei-kopf .mono{width:56px;height:56px;flex:none;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:600;letter-spacing:.04em}
.kartei-kopf h3{margin:0;font-size:26px}
.kartei-kopf p{margin:0;color:var(--grau);font-size:17px}
.kartei-feld .etikett{display:block;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600;margin-bottom:6px}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{padding:4px 12px;border-radius:20px;background:var(--navy-90);color:var(--navy);font-size:16px}
.kartei-feld.kontakt{display:flex;flex-wrap:wrap;gap:6px 26px;padding-top:14px;border-top:1px solid var(--navy-90)}
.kartei-feld.kontakt a{display:inline-flex;align-items:center;gap:8px;color:var(--navy);text-decoration:none;font-weight:600;font-size:18px}
.kartei-feld.kontakt svg.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.notar-block .foto{width:100%;height:100%;border-radius:10px;object-fit:cover}
.unterzeile{font-size:15px;letter-spacing:.38em;text-transform:uppercase;color:var(--grau);margin:-4px 0 18px}
.team-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,30px)}
.person h3{font-size:23px;margin:14px 0 2px}
.person p{margin:0;color:var(--grau);font-size:17px}

/* Ratgeber (FAQ, Aktenverwahrung) */
.ratgeber{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,80px);align-items:start}
.ratgeber-haupt>p.lead{font-size:21px;color:var(--text)}
.ratgeber-haupt h2{font-size:clamp(28px,2.6vw,36px);margin:1.4em 0 .5em}
.ratgeber-haupt ul.punkte{padding-left:1.1em}
.ratgeber-haupt ul.punkte li{margin-bottom:8px}
.ratgeber-haupt ol.schritte{list-style:none;padding:0;counter-reset:s}
.ratgeber-haupt ol.schritte li{position:relative;padding:0 0 14px 46px;counter-increment:s}
.ratgeber-haupt ol.schritte li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:16px}
.ratgeber-seite{position:sticky;top:calc(var(--band-h) + 24px);display:flex;flex-direction:column;gap:18px}
.ratgeber-seite nav{display:flex;flex-direction:column;border-left:2px solid var(--navy-90)}
.ratgeber-seite nav .etikett{padding-left:16px;margin-bottom:8px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600}
.ratgeber-seite nav a{padding:6px 16px;font-size:17px;color:var(--grau);text-decoration:none;border-left:2px solid transparent;margin-left:-2px;transition:color .2s,border-color .2s}
.ratgeber-seite nav a:hover{color:var(--navy);border-left-color:var(--navy)}
.ratgeber-kontakt{background:var(--flaeche);border-radius:10px;padding:20px 22px;font-size:17px}
.ratgeber-kontakt .etikett{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600}
.ratgeber-kontakt p{margin:6px 0 12px}
.ratgeber-kontakt a{color:var(--navy);font-weight:600;text-decoration:none}
.ratgeber-kontakt .knopf{width:100%;justify-content:center}
.faq-block{scroll-margin-top:20px;margin-bottom:clamp(36px,4vw,56px)}
.faq-block .etikett{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--messing-d);font-weight:600}
.faq-block h2{margin:4px 0 12px!important}
.faq{border-top:1.5px solid var(--navy)}
.faq-item{border-bottom:1px solid var(--navy-75)}
.faq-f{margin:0}
.faq-f button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 4px;text-align:left;font:600 20px/1.35 var(--serif);color:var(--navy);background:none;border:0;cursor:pointer}
.faq-plus{position:relative;width:18px;height:18px;flex:none;color:var(--messing)}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor;transition:transform .3s}
.faq-plus::after{transform:rotate(90deg)}
.faq-f button[aria-expanded="true"] .faq-plus::after{transform:none}
.faq-a{padding:0 4px 18px}
.faq-a[hidden]{display:none}
.faq-a p{margin:0}
.akten-gross{display:block;text-align:center;margin:10px 0 8px;padding:26px 24px;border:1px solid var(--navy-90);border-top:4px solid var(--navy);border-radius:10px;background:var(--flaeche)}
.akten-gross b{display:block;font-size:clamp(30px,3vw,42px);color:var(--navy);font-weight:600;line-height:1.15}
.akten-gross span{display:block;margin-top:6px;color:var(--grau);font-size:18px}
.akten-karten{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:14px 0 8px}
.akten-karte{border:1px solid var(--navy-90);border-top:3px solid var(--navy);border-radius:8px;padding:14px 18px;background:#fff}
.akten-karte b{display:block;font-size:22px;color:var(--navy);font-weight:600}
.akten-karte span{color:var(--grau);font-size:16.5px}
.hinweis-kasten{margin-top:28px;padding:22px 26px;border-left:3px solid var(--navy);background:var(--flaeche);border-radius:0 8px 8px 0}
.hinweis-kasten p{margin:0}

/* Rechtliches (Impressum, Datenschutz) */
.recht{position:relative;overflow:hidden;overflow:clip;background:var(--flaeche);padding:clamp(40px,7vh,88px) clamp(18px,4vw,40px) clamp(64px,10vh,120px)}
.recht-wappen{position:absolute;left:-12vw;top:6vh;width:min(52vw,760px);height:auto;opacity:.07;pointer-events:none;user-select:none}
.recht-rahmen{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:start}
.recht-leiste-innen{position:sticky;top:calc(var(--band-h) + 28px)}
.recht-leiste .eyebrow{margin-bottom:6px}
.recht-leiste h1{font-size:clamp(40px,3.8vw,56px);line-height:1.05;margin:0 0 12px;hyphens:auto}
.recht-unter{font-size:17px;color:var(--grau);line-height:1.5;padding-bottom:20px;border-bottom:1px solid var(--navy-75);margin:0 0 16px}
.recht-index ol{list-style:none;display:grid;gap:2px;margin:0;padding:0}
.recht-index a{display:flex;align-items:baseline;gap:12px;padding:5px 10px 5px 12px;margin-left:-14px;font-size:17px;color:var(--text);text-decoration:none;border-left:2px solid transparent;transition:color .2s,border-color .2s,background .2s}
.recht-index a .nr{font-size:15px;color:var(--messing);min-width:22px}
.recht-index a:hover{color:var(--navy);background:rgba(255,255,255,.7)}
.recht-index a[aria-current]{color:var(--navy);font-weight:600;border-left-color:var(--messing);background:#fff}
.recht-wechsel{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.recht-wechsel svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s}
.recht-wechsel:hover svg{transform:translateX(4px)}
.recht-blatt{position:relative;background:#fff;border-top:4px solid var(--navy);box-shadow:0 1px 0 var(--navy-90),0 24px 60px -30px rgba(19,42,66,.3);padding:clamp(28px,4vw,64px) clamp(24px,4.4vw,72px) clamp(32px,4vw,56px)}
.recht-blatt::before{content:"";position:absolute;inset:10px;border:1px solid var(--navy-90);pointer-events:none}
.recht-abschnitt{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:8px;padding:clamp(22px,3.2vh,34px) 0;border-bottom:1px solid var(--navy-90);scroll-margin-top:20px}
.recht-abschnitt:first-of-type{padding-top:8px}
.recht-nr{grid-row:1/span 2;font-size:32px;line-height:1;color:var(--messing);opacity:.85;padding-top:2px}
.recht-abschnitt h2{font-size:clamp(26px,2.2vw,32px);margin:0 0 12px}
.recht-abschnitt h3{font-size:22px;margin:14px 0 6px}
.recht-text p{margin:0 0 .75em}
.recht-text p:last-child{margin-bottom:0}
.recht-text ul{padding-left:1.1em;margin:0}
.recht-siegel{display:flex;align-items:center;gap:14px;margin-top:30px;color:var(--grau);font-size:16px;line-height:1.35}
.recht-siegel img{width:40px;height:auto}
.recht-download{margin-top:30px;background:var(--navy);color:#fff;border-radius:10px;padding:24px 28px}
.recht-download h2{color:#fff;font-size:26px;margin:0 0 12px}
.recht-download .liste{display:flex;flex-wrap:wrap;gap:12px}
.recht-download a{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;background:#fff;color:var(--navy);border-radius:4px;text-decoration:none;font-weight:600}
.recht-download a svg{width:20px;height:20px;fill:none;stroke:var(--messing);stroke-width:1.6}
.nn-marke{display:inline-flex;flex-direction:column;gap:8px;margin-top:10px;text-decoration:none}
.nn-marke img{width:220px;height:auto}
.nn-marke span{font-size:15px;color:var(--grau)}

/* Stellenangebote */
.stellen-seite{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(22px,3vw,48px);align-items:start;padding:clamp(40px,5vw,70px) 0 clamp(60px,8vw,110px);max-width:1180px;margin:0 auto}
.stellen-titel{position:sticky;top:calc(var(--band-h) + 30px);align-self:start}
.stellen-titel h1{writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(56px,5.4vw,84px);line-height:1;margin:0;white-space:nowrap}
.wir-suchen{position:sticky;top:calc(var(--band-h) + 30px);background:var(--navy);color:#fff;border-radius:12px;padding:26px 24px}
.wir-suchen h2{color:#fff;font-size:30px;margin:0 0 14px}
.wir-suchen ul{list-style:none;margin:0;padding:0}
.wir-suchen li+li{border-top:1px solid rgba(255,255,255,.2)}
.wir-suchen a{display:flex;align-items:flex-start;gap:14px;padding:14px 0;color:#fff;text-decoration:none;font-size:19px;line-height:1.3;font-weight:600}
.wir-suchen a .plus{width:28px;height:28px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;font-size:20px;line-height:1;margin-top:-2px}
.wir-suchen a:hover .plus{background:#fff;color:var(--navy)}
.wir-suchen p{margin:14px 0 0;font-size:16px;opacity:.85}
.funnel{background:#fff;border:1px solid var(--navy-90);border-radius:12px;padding:clamp(24px,2.8vw,42px);box-shadow:var(--schatten)}
.funnel-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--grau);margin-bottom:14px}
.progress{height:3px;background:var(--navy-90);margin-bottom:clamp(24px,3vw,36px);overflow:hidden;border-radius:3px}
.progress span{display:block;height:100%;background:var(--navy);width:0;transition:width .4s ease}
.funnel-step{display:none}
.funnel-step.active{display:block;animation:auf .35s ease}
@keyframes auf{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.funnel-step h2{font-size:clamp(30px,2.8vw,40px);margin-bottom:6px}
.funnel-step h2 em{font-style:italic;color:var(--messing-d)}
.funnel-step .hint{font-size:17px;color:var(--grau);margin-bottom:20px}
.options{display:flex;flex-direction:column;gap:9px}
.options.grid-2{display:grid;grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:center;gap:13px;text-align:left;width:100%;border:1px solid var(--navy-75);border-radius:6px;background:#fff;padding:13px 16px;font:600 18.5px/1.3 var(--serif);color:var(--navy);cursor:pointer;transition:border-color .2s,background .2s}
.opt:hover{border-color:var(--navy);background:var(--navy-96)}
.opt.sel{border-color:var(--navy);background:var(--navy-90)}
.opt .check{width:22px;height:22px;flex:none;border:1.5px solid var(--navy-75);border-radius:4px;display:grid;place-items:center;transition:all .2s}
.opt.sel .check{background:var(--navy);border-color:var(--navy)}
.opt .check svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.opt.sel .check svg{opacity:1}
.opt small{display:block;font-weight:500;color:var(--grau);font-size:15.5px}
.dropzone{border:1.5px dashed var(--navy-50);border-radius:8px;background:#fff;padding:24px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.dropzone:hover,.dropzone.drag,.dropzone:focus-visible{border-color:var(--navy);background:var(--navy-96)}
.dropzone svg{width:28px;height:28px;margin:0 auto 10px;stroke:var(--messing);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dropzone p{margin:0;font-size:16.5px;color:var(--grau)}
.dropzone b{display:block;font-size:18px;color:var(--navy);margin-bottom:4px}
.file-list{list-style:none;margin:10px 0 0;padding:0;font-size:16.5px}
.file-list li{display:flex;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--navy-90)}
.file-list .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-weight:600}
.file-list .fsize{color:var(--grau)}
.file-list .frm{border:0;background:none;color:var(--grau);cursor:pointer;font-size:16px}
.funnel-nav{display:flex;justify-content:space-between;gap:14px;margin-top:clamp(24px,3vw,36px);padding-top:22px;border-top:1px solid var(--navy-90)}
.funnel-nav .spacer{flex:1}
.form-status{display:none;margin-top:14px;font-size:17px}
.form-status.show{display:block}
.form-status.err{color:#A23B2A}
.summary-list{display:grid;grid-template-columns:auto 1fr;gap:9px 22px;font-size:18px;margin:20px 0}
.summary-list dt{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grau);padding-top:4px}
.summary-list dd{margin:0}
.success-view{display:none;text-align:center;padding:20px 0}
.success-view.show{display:block}
.success-view .tick{width:66px;height:66px;margin:0 auto 22px;border-radius:50%;background:var(--navy);display:grid;place-items:center}
.success-view .tick svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.stellen-liste{margin-top:clamp(30px,4vw,48px)}
.stellen-liste>h2{margin-bottom:18px}
.stelle{border:1px solid var(--navy);border-radius:10px;margin-bottom:16px;background:#fff;overflow:hidden;scroll-margin-top:20px}
.stelle-kopf{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;background:var(--navy);border:0;cursor:pointer;text-align:left;color:#fff;transition:background .25s}
.stelle-kopf[aria-expanded="false"] .titel{color:#fff}
.stelle-kopf[aria-expanded="false"] .meta{color:var(--navy-75)}
.stelle-kopf[aria-expanded="false"] .plus{border-color:rgba(255,255,255,.55);color:#fff}
.stelle-kopf[aria-expanded="true"]{background:#fff}
.stelle-kopf .titel{display:block;font:600 clamp(24px,2.2vw,30px)/1.2 var(--serif);color:var(--navy)}
.stelle-kopf .meta{display:block;color:var(--grau);font-size:17px;margin-top:4px}
.stelle-kopf .plus{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--navy-75);display:grid;place-items:center;font-size:24px;color:var(--navy);transition:transform .3s,background .2s}
.stelle-kopf[aria-expanded="true"]:hover .plus{background:var(--navy-90)}
.stelle-kopf[aria-expanded="false"]:hover{background:var(--navy-d)}
.stelle-kopf[aria-expanded="true"] .plus{transform:rotate(45deg)}
.stelle-inhalt{padding:0 26px 24px}
.stelle-inhalt[hidden]{display:none}
.stelle-inhalt .spalten{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stelle-inhalt h3{font-size:22px;margin:.3em 0 .3em}
.stelle-inhalt ul{padding-left:1.1em;margin:0}

/* Formulare allgemein */
.formular{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.formular .ganz,.form-grid .ganz{grid-column:1/-1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:14px}
.feld label,.feld .feld-titel{display:block;font-weight:600;color:var(--navy);font-size:17px;margin-bottom:4px}
.feld input,.feld textarea,.feld select{width:100%;font:500 18px/1.4 var(--serif);color:var(--text);padding:10px 12px;border:1px solid var(--navy-75);border-radius:4px;background:#fff}
.feld input:focus-visible,.feld textarea:focus-visible,.feld select:focus-visible{outline:2px solid var(--messing);outline-offset:1px;border-color:var(--navy)}
.feld textarea{min-height:120px;resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-size:16.5px;line-height:1.45}
.check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--navy)}
.radio-reihe{display:flex;gap:22px;font-size:17px}
.radio-reihe input{accent-color:var(--navy);margin-right:6px}
fieldset.radio-feld{border:0;padding:0;margin:0}
fieldset.radio-feld legend{font-weight:600;color:var(--navy);font-size:17px;margin-bottom:4px;padding:0}
.honigtopf{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.meldung{grid-column:1/-1;margin:0;font-size:17px;min-height:1.4em}
.meldung.ok{color:var(--gruen)}.meldung.fehler{color:#A23B2A}
.hinweis-klein{font-size:15px;color:var(--grau)}

/* ---------------------------------------------------------------- Kontakt-Dialog mit Bild */
.dialog{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(12,28,46,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dialog.offen{display:flex}
.dialog-box{position:relative;width:min(1040px,100%);max-height:calc(100vh - 36px);overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.3);
  display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr)}
.dialog-bild{position:relative;overflow:hidden;background:var(--navy)}
.dialog-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 50%}
.dialog-bild .bild-text{position:absolute;left:0;right:0;bottom:0;padding:28px 26px;color:#fff;background:linear-gradient(to top,rgba(19,42,66,.92),rgba(19,42,66,0))}
.dialog-bild .bild-text small{display:block;font-size:13px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.dialog-bild .bild-text span{font-size:24px;line-height:1.25;display:block;font-weight:600}
.dialog-form{padding:clamp(24px,3vw,42px);overflow-y:auto;max-height:calc(100vh - 36px)}
.dialog-form h2{font-size:clamp(30px,2.8vw,40px);margin:0 60px 18px 0}
.dialog-box>.schliessen{position:absolute;right:16px;top:16px;z-index:2}
.dialog-meta{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:18px;padding-top:16px;border-top:1px solid var(--navy-90);font-size:19px;color:var(--grau)}
.dialog-meta a{color:var(--navy);font-weight:700;text-decoration:none}
.dialog-meta a:hover{text-decoration:underline}

/* ---------------------------------------------------------------- Menü (Vollbild, marineblau) */
.menue{position:fixed;inset:0;z-index:150;background:var(--navy);color:#fff;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.menue.offen{opacity:1;visibility:visible}
.menue-kopf{flex:none;height:var(--band-h);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,44px)}
.menue-kopf .marke{display:flex;align-items:center;gap:12px}
.menue-kopf .marke .wappen{height:54px;width:auto}
.menue-kopf .marke .name{width:200px;height:auto}
.menue-koerper{flex:1;overflow:auto;padding:clamp(24px,5vw,60px) clamp(22px,6vw,90px);display:grid;grid-template-columns:1.3fr 1fr;gap:40px}
.menue-links{list-style:none;margin:0;padding:0}
.menue-links a,.menue-links button{display:block;color:#fff;text-decoration:none;font:600 clamp(30px,4vw,48px)/1.25 var(--serif);padding:4px 0;background:none;border:0;cursor:pointer;text-align:left}
.menue-links a:hover,.menue-links button:hover{color:#EACB94}
.menue-fuss{font-size:18px;line-height:1.7}
.menue-fuss a{color:#fff}
.a11y-sec{margin-top:26px}
.a11y-sec h3{color:#fff;font-size:20px;margin:16px 0 8px}
.segmente{display:flex;flex-wrap:wrap;gap:8px}
.segmente button{padding:8px 14px;border-radius:4px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font:600 16px var(--serif);cursor:pointer}
.segmente button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.a11y-panel{position:fixed;z-index:120;right:16px;top:calc(var(--band-h) + 8px);width:min(330px,calc(100vw - 32px));background:#fff;border-radius:10px;box-shadow:var(--schatten);padding:18px 20px;display:none}
.a11y-panel.offen{display:block}
.a11y-panel h3{font-size:20px;margin:10px 0 6px}
.a11y-panel h3:first-of-type{margin-top:0}
.a11y-panel .segmente button{border-color:var(--navy-75);color:var(--navy)}
.a11y-panel .segmente button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------------------------------------------------------------- Fuß */
.fuss{border-top:4px solid var(--navy);background:linear-gradient(180deg,#fff 0%,var(--grau-92) 60%,var(--navy-90) 100%);padding:clamp(44px,5.5vw,72px) 0 0;font-size:17.5px}
.fuss-raster{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(28px,4vw,64px);padding-bottom:44px;border-bottom:1.5px solid var(--navy-75)}
.fuss h4{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600;margin:0 0 12px}
.fuss nav a,.fuss nav button,.fuss nav span{display:block;color:var(--navy);text-decoration:none;padding:3px 0;background:none;border:0;font:inherit;cursor:pointer;text-align:left}
.fuss nav a:hover,.fuss nav button:hover{text-decoration:underline}
.fuss .logo-fuss{display:block;width:207px}
.fuss .logo-fuss img{display:block;width:100%;height:auto}
.fuss-unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:18px 0 26px;font-size:15.5px;color:var(--grau)}
.fuss-credit{display:inline-flex;align-items:center;gap:6px}
.fuss-credit .herz{width:14px;height:14px;fill:var(--navy)}
.fuss-credit a{color:var(--navy);font-weight:600;text-decoration:none}
.fuss-credit a:hover{text-decoration:underline}

/* ---------------------------------------------------------------- Barrierefreiheit */
html[data-text-size="large"]{font-size:18px}
html[data-text-size="large"] body{zoom:1.12}
html[data-text-size="xlarge"]{font-size:20px}
html[data-text-size="xlarge"] body{zoom:1.25}
html[data-contrast="high"]{--navy:#0B1E33;--grau:#2F3A46;--text:#000;--linie:#000;--navy-75:#000}
html[data-contrast="high"] a:not(.knopf):not(.tb-alle):not(.weg-kachel){text-decoration:underline!important;text-underline-offset:3px}
html[data-contrast="high"] .glas{background:rgba(0,0,0,.82)}
html[data-contrast="high"] .fuss{background:#fff}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation-duration:.001s!important;transition-duration:.001s!important;scroll-behavior:auto!important}
html[data-focus-mode="on"] p:hover,html[data-focus-mode="on"] p:focus-within,html[data-focus-mode="on"] li:hover{background:#FFF8E1;outline:2px solid #E3C9A6}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important;scroll-behavior:auto!important}}

/* ---------------------------------------------------------------- Responsiv */
@media (max-width:1280px){
  .band nav a:not(.knopf),.band nav button.link{font-size:17.5px}
  .kopf nav a,.kopf nav button.link{font-size:17.5px}
}
@media (max-width:1120px){
  .kopf nav.links,.kopf nav.rechts>:not(.hamburger):not(.a11y-knopf){display:none}
  .kopf .logo-hero{grid-column:2}
  .kopf nav.rechts{grid-column:3;padding-top:6px;flex-wrap:nowrap;gap:8px}
  .hamburger{display:block}
  .band nav>:not(.hamburger):not(.a11y-knopf):not(.knopf){display:none}
  .fuss-raster{grid-template-columns:1fr 1fr}
  .anfahrt-unten{grid-template-columns:1fr 1fr}
  .kmap-raster{grid-template-columns:1fr}
  .tb-raster{grid-template-columns:repeat(2,1fr)}
  .team-raster{grid-template-columns:repeat(2,1fr)}
  .infoleiste{grid-template-columns:1fr 1fr}
  .infoleiste>*{border-left:0;border-top:1px solid rgba(255,255,255,.22)}
  .menue-koerper{grid-template-columns:1fr}
  .notar-raster{grid-template-columns:1fr 1fr}
  .notar-inhalt{grid-template-columns:1fr}
  .ratgeber{grid-template-columns:1fr}
  .ratgeber-seite{position:static;order:-1}
  .ratgeber-seite nav{display:none}
  .recht-rahmen{grid-template-columns:1fr}
  .recht-leiste-innen{position:static}
  .recht-index{display:none}
  .stellen-seite{grid-template-columns:1fr}
  .stellen-titel,.wir-suchen{position:static}
  .stellen-titel h1{writing-mode:horizontal-tb;transform:none;font-size:clamp(40px,6vw,60px)}
}
@media (max-width:760px){
  :root{--band-h:74px}
  body{font-size:18px}
  .band .marke .wappen{height:48px}
  .band .marke .name{width:170px}
  .band nav a.knopf{padding:9px 13px 10px;font-size:16px}
  .band nav a.knopf svg{display:none}
  .kopf-innen{padding-top:14px;gap:10px}
  .kopf .logo-hero{width:190px;justify-self:center}
  .infokarte{left:14px;right:14px;width:auto;bottom:16px;padding:18px 20px}
  .kontaktzeilen{font-size:18px}
  .infoleiste{grid-template-columns:1fr;font-size:17px}
  .infoleiste>*{padding:12px 18px}
  .zeitstreifen .huelle{grid-template-columns:1fr}
  .notar-raster{grid-template-columns:1fr;grid-template-areas:"kopf" "bild" "links" "team" "stellen";row-gap:28px}
  .kartei{grid-template-columns:1fr}
  .kontakt-rand{top:auto;bottom:70px;transform:translateX(110%)}
  .kontakt-rand.an{transform:none}
  .stellen-seite{grid-template-columns:1fr}
  .notar-bild picture,.notar-bild .foto{min-height:0;aspect-ratio:3/4}
  .notar-bild .siegel{top:auto;right:14px;bottom:14px;transform:none;width:180px;padding:14px 16px}
  .notar-inhalt{grid-template-columns:1fr}
  .tb{min-height:0;height:auto;display:block}
  .tb-buehne{height:auto;min-height:0;aspect-ratio:1916/821}
  .tb-intro{grid-template-columns:1fr;gap:10px}
  .tb-intro{padding-top:48px}
  .entwurf{top:auto;right:auto;left:12px;bottom:10px;transform:none;flex-direction:row;width:auto;padding:5px 8px}
  .tb-alle,.tb-karten,.tb-bereich{display:none}
  .tb-liste{display:block;padding:24px 18px 10px}
  .tb-liste .tb-gruppe{margin-bottom:20px}
  .anfahrt-text{grid-template-columns:1fr}
  .anfahrt-unten{grid-template-columns:1fr}
  .kmap-info{min-height:0}
  .dialog-box{grid-template-columns:1fr}
  .dialog-bild{display:none}
  .notar-block{grid-template-columns:1fr}
  .team-raster{grid-template-columns:1fr 1fr}
  .stelle-inhalt .spalten{grid-template-columns:1fr}
  .formular,.form-grid,.options.grid-2{grid-template-columns:1fr}
  .fuss-raster{grid-template-columns:1fr}
  .akten-gross{display:block;text-align:center;margin:10px 0 8px;padding:26px 24px;border:1px solid var(--navy-90);border-top:4px solid var(--navy);border-radius:10px;background:var(--flaeche)}
.akten-gross b{display:block;font-size:clamp(30px,3vw,42px);color:var(--navy);font-weight:600;line-height:1.15}
.akten-gross span{display:block;margin-top:6px;color:var(--grau);font-size:18px}
.akten-karten{grid-template-columns:1fr}
  .recht-abschnitt{grid-template-columns:1fr}
  .recht-nr{grid-row:auto;font-size:24px;margin-bottom:6px}
  body.hero-v3 .hero{height:78svh}
}
@media (max-width:480px){.band nav a.knopf{display:none}}
@media (max-width:760px){.kontakt-rand{bottom:18px;padding:14px;border-radius:10px 0 0 10px}.kontakt-rand span{display:none}.kontakt-rand svg{width:22px;height:22px}}

/* Tätigkeitsbereiche füllen auf Querformat-Bildschirmen genau eine Bildschirmhöhe */
/* Formulare-Sektion (Querformat): eine Bildschirmhöhe; das Bild wird immer vollständig gezeigt –
   es passt sich der verfügbaren Höhe an und wird dafür bei Bedarf schmaler (mit Rand und Rundung) */
@media (min-width:1000px) and (orientation:landscape){
  .tb{--tb-rand:clamp(16px,2.6vw,44px);height:calc(100svh - var(--band-h));min-height:620px}
  .tb-intro{flex:none;padding-top:clamp(36px,6.5vh,84px);padding-bottom:clamp(22px,3.6vh,40px)}
  .tb-buehne{flex:1 1 0;min-height:260px;container-type:size;display:flex;justify-content:center;align-items:flex-start}
  .tb-leinwand{width:min(calc(100cqw - 2 * var(--tb-rand)),calc((100cqh - var(--tb-rand)) * 1916 / 821));border-radius:14px;box-shadow:0 18px 44px rgba(19,42,66,.16)}
}
.kmap-koerper .kmap-parken{display:flex;align-items:center;gap:14px;margin:26px 0 8px;padding:18px 0 0;border-top:1px solid var(--navy-75);font-size:18px;line-height:1.4}
.kmap-parken b{color:var(--navy)}
.p-zeichen{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:#1F5AA6;color:#fff;font:700 24px/1 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #1F5AA6}
.kmap-zeilen{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--navy-75)}
.kmap-zeilen li{display:flex;gap:14px;align-items:flex-start;padding:8px 0;font-size:18.5px;line-height:1.4}
.kmap-zeilen li+li{border-top:1px solid var(--navy-90)}
.kmap-zeilen b{color:var(--navy);font-weight:600}
.kmap-zeilen .sym{flex:none;width:34px;height:34px;border-radius:50%;background:var(--flaeche);display:grid;place-items:center;margin-top:-4px}
.kmap-zeilen .sym svg{width:19px;height:19px;fill:none;stroke:var(--messing-d);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Formular-Panel: Abstände wachsen mit der verfügbaren Höhe */
.tb-panel{container-type:size}
.tb-panel .tb-panel-innen{padding-top:clamp(16px,4cqh,42px);padding-bottom:clamp(16px,4cqh,42px)}
.tb-panel .tb-panel-kopf{margin-bottom:clamp(10px,3cqh,34px)}
.tb-panel .tb-panel-kopf h2{font-size:clamp(30px,6cqh,48px)}
.tb-panel .tb-gruppe h3{font-size:clamp(21px,3.4cqh,28px)}
.tb-panel .tb-spalte{gap:clamp(12px,3.6cqh,42px)}
.tb-panel .tb-gruppe .formlink{padding:clamp(4px,1.3cqh,14px) 0;font-size:clamp(17px,2.5cqh,20px)}
@container (max-height:470px){.tb-panel .tb-panel-kopf p{display:none}}
.notar-raster>.weg-kachel h3{font-size:clamp(26px,2.3vw,34px);padding-right:12px}
.notar-raster>.weg-kachel .wappen-zeichen{top:20px;right:24px;width:46px;height:auto}

/* Titelbild: Infokarte zweigeteilt (links Anschrift, rechts Öffnungs- und Telefonzeiten) */
.infokarte{width:min(900px,calc(100% - 36px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:28px 0 26px}
.infokarte .ik-links{padding:0 32px;align-self:center}
.infokarte .ik-rechts{margin-top:0;padding:0 32px;border-top:0;border-left:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;justify-content:center}
.infokarte .ik-rechts .mehr{align-self:flex-start}
.hero-weiter{position:absolute;z-index:3;right:clamp(18px,4vw,64px);bottom:clamp(22px,7vh,70px);display:inline-flex;align-items:center;gap:14px;
  padding:14px 16px 14px 24px;border-radius:40px;font-weight:600;font-size:21px;letter-spacing:.01em}
.hero-weiter:hover{background:rgba(19,42,66,.55)}
.hero-weiter .hw-pfeil{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--navy);animation:hw-hopp 1.8s ease-in-out infinite}
.hero-weiter .hw-pfeil svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes hw-hopp{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
html[data-motion="off"] .hero-weiter .hw-pfeil{animation:none}
@media (prefers-reduced-motion:reduce){.hero-weiter .hw-pfeil{animation:none}}
@media (max-width:1180px){.infokarte{width:min(760px,calc(100% - 36px))}.infokarte .ik-links,.infokarte .ik-rechts{padding:0 24px}}
@media (max-width:1180px){.hero-weiter{display:none}}
@media (max-width:760px){.infokarte{display:block;width:auto;padding:18px 20px}.infokarte .ik-links,.infokarte .ik-rechts{padding:0}
  .infokarte .ik-rechts{margin-top:14px;padding-top:14px;border-left:0;border-top:1px solid rgba(255,255,255,.25)}}
/* Lebenslauf: Zusatzzeile */
.werdegang td small{display:block;margin-top:4px;font-size:.86em;line-height:1.45;color:var(--grau)}
a.hero-weiter{text-decoration:none;color:#fff}
.tb-intro{transition:opacity .35s ease}
/* Titelbild-Kopf: links der Leitsatz, rechts das Menü (darf bis an das Wappen heranreichen) */
.kopf-claim{margin:0;padding-top:18px;font:600 clamp(17px,1.35vw,21px)/1.2 var(--serif);letter-spacing:.06em;color:#fff;white-space:nowrap;text-shadow:0 1px 12px rgba(10,30,50,.35)}
.kopf nav.rechts{flex-wrap:nowrap;white-space:nowrap;gap:clamp(12px,1.2vw,26px);min-width:0}
.kopf nav.rechts>*{flex:none}
.kopf nav.rechts a{font-size:clamp(15px,1.12vw,19px)}
@media (max-width:1120px){
  .kopf-claim{grid-column:1/-1;grid-row:2;justify-self:center;padding-top:6px;font-size:16px;letter-spacing:.08em}
}
@media (max-width:1120px){.kopf nav.rechts>:not(.hamburger):not(.a11y-knopf){display:none}.kopf .hamburger{display:block}}
/* Intro (Startseite, einmal pro Sitzung) */
.intro{display:none}
html.intro-an .intro{display:block;position:fixed;inset:0;z-index:300;background:#fff;transition:background-color .9s ease .15s,opacity .4s ease}
html.intro-an body{overflow:hidden}
.intro-wappen{position:absolute;left:50%;top:50%;width:min(30vw,26vh,260px);height:auto;transform-origin:0 0;
  margin-left:calc(min(30vw,26vh,260px) / -2);margin-top:calc(min(30vw,26vh,260px) * 423 / 354 / -2);
  filter:drop-shadow(0 18px 40px rgba(8,24,40,.25));animation:intro-ein .7s ease both;transition:transform 1.05s cubic-bezier(.65,0,.25,1),filter 1s ease}
@keyframes intro-ein{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
html.intro-an .intro.faehrt{background-color:rgba(255,255,255,0)}
html.intro-an .intro.faehrt .intro-wappen{filter:drop-shadow(0 2px 16px rgba(10,30,50,.28))}
html.intro-an .kopf .logo-hero{opacity:0;transition:opacity .35s ease}
html.intro-an.intro-aus .kopf .logo-hero{opacity:1}
html.intro-an.intro-aus .intro{opacity:0}
html.intro-an .band{visibility:hidden}
/* Formulare-Bild in Farbe: beim Überfahren leuchtet der Hausumriss, das Schild wird größer */
.tb-buehne svg.treffer .umriss{fill:rgba(255,246,228,.10);stroke:#fff;stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .3s ease;
  filter:drop-shadow(0 0 5px rgba(255,219,150,.95)) drop-shadow(0 0 14px rgba(255,196,110,.75))}
.tb-buehne svg.treffer .umriss.on{opacity:1}
.tb-bereich{position:absolute;inset:0;pointer-events:none}
.tb-buehne .schild{position:absolute;z-index:2;border-radius:3px;transform-origin:50% 50%;pointer-events:none;
  transition:transform .4s cubic-bezier(.3,1.5,.5,1),box-shadow .4s ease}
.tb-bereich.einladen .schild{transform:scale(1.12);box-shadow:0 6px 16px rgba(8,24,40,.3)}
.tb-bereich.on .schild{transform:scale(1.4);box-shadow:0 12px 28px rgba(8,24,40,.45);z-index:3}
/* ---------------------------------------------------------------- Aktuelles */
.ak-sektion{position:relative;padding:clamp(70px,9vw,120px) 0;color:#fff;background:linear-gradient(160deg,#16304D 0%,var(--navy) 55%,#28496C 100%);overflow:hidden}
.ak-sektion::after{content:"";position:absolute;right:-6vw;bottom:-10vh;width:min(40vw,560px);aspect-ratio:157/188;background:url(../bilder/wappen-strich-weiss.svg) no-repeat center/contain;opacity:.08;pointer-events:none}
.ak-sektion .huelle{position:relative;z-index:1}
.ak-sektion-kopf{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,50px)}
.ak-sektion .etikett{display:block;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:600;margin-bottom:12px}
.ak-sektion h2{color:#fff;margin:0;font-size:clamp(40px,4.2vw,60px);line-height:1.05}
.ak-sektion .strich{background:rgba(255,255,255,.45);margin-bottom:0}
.knopf.hell{background:#fff;color:var(--navy);border-color:#fff}
.knopf.hell:hover{background:var(--navy-90);border-color:var(--navy-90)}
.ak-gitter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.ak-karte{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.2vw,30px);border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.06);
  color:#fff;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.ak-karte:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);transform:translateY(-2px)}
.ak-karte h3{color:#fff;margin:0;font-size:clamp(22px,1.7vw,26px);line-height:1.2}
.ak-karte.gross{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(30px,4vw,70px);align-items:center;padding:clamp(28px,3vw,44px)}
.ak-karte.gross .ak-kopf{grid-column:1}.ak-karte.gross h3{grid-column:1;font-size:clamp(30px,2.8vw,42px)}
.ak-karte.gross .anriss{grid-column:2;grid-row:1/span 2;margin:0;font-size:19px;line-height:1.55;color:rgba(255,255,255,.85)}
.ak-karte.gross .ak-mehr{grid-column:2}
.ak-kopf{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:600}
.neu-fahne{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 9px;border-radius:20px;background:#fff;color:var(--navy);letter-spacing:.14em}
.neu-fahne svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
.ak-mehr{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:17px;letter-spacing:.04em}
.ak-karte:hover .ak-mehr .pfeil{transform:translateX(4px)}
/* Archiv und Beitrag (Aufbau wie die FAQ-Seite: links breit der Text, rechts die Infospalte) */
.ak-raster{grid-template-columns:minmax(0,1fr) 340px}
.ak-liste{display:flex;flex-direction:column;border-top:1.5px solid var(--navy)}
.ak-streifen{display:grid;grid-template-columns:190px minmax(0,1fr) 24px;gap:24px;align-items:center;padding:20px 6px;border-bottom:1px solid var(--navy-75);
  color:var(--navy);text-decoration:none;transition:background .2s,padding .2s}
.ak-streifen:hover{background:var(--navy-96);padding-left:14px}
.ak-streifen time{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--messing-d);font-weight:600}
.ak-streifen-titel{font-size:clamp(20px,1.6vw,24px);font-weight:600;line-height:1.3}
.ak-streifen .pfeil{color:var(--messing)}
.ak-streifen:hover .pfeil{transform:translateX(4px)}
.ak-blaettern{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}
.ak-info{border-left:3px solid var(--navy);padding:4px 0 4px 20px}
.ak-info .etikett{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600}
.ak-info-titel{font:600 clamp(26px,2vw,32px)/1.15 var(--serif);color:var(--navy);margin:8px 0 12px}
.ak-info p{font-size:17px;color:var(--grau);margin:0 0 12px}
.ak-zaehler{font-size:15px!important}
.ak-quelle a{color:var(--navy);font-weight:600}
.ak-info .chips{margin:4px 0 18px}.ak-info .chips li{font-size:14.5px}
.ak-alle .pfeil{order:-1}
.ak-alle:hover svg{transform:translateX(-3px)}
.ak-beitrag-kopf h1{font-size:clamp(34px,3.6vw,52px);line-height:1.12;max-width:980px}
.ak-beitrag-kopf .etikett{display:block;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--messing-d);font-weight:600;margin:6px 0 10px}
.ak-text p{font-size:19.5px;line-height:1.7}
.ak-text p.lead{font-size:22px;color:var(--navy)}
.ak-text h2{font-size:clamp(26px,2.2vw,32px)}
.ak-abschluss{display:grid;grid-template-columns:170px minmax(0,1fr);gap:30px;align-items:center;margin-top:50px;padding:30px 32px;border:1.5px solid var(--navy);border-radius:10px;background:var(--navy-96)}
.ak-abschluss img{width:100%;height:auto}
.ak-abschluss .etikett{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--grau);font-weight:600}
.ak-abschluss h2{margin:6px 0 10px!important;font-size:clamp(24px,2vw,30px)!important}
.ak-abschluss p{font-size:18px!important;margin:0 0 16px}
.ak-abschluss .knoepfe{display:flex;gap:12px;flex-wrap:wrap}
.seitenkopf h1 small{font-size:.45em;color:var(--grau);margin-left:.4em}
@media (max-width:1120px){.ak-gitter{grid-template-columns:1fr 1fr}.ak-raster{grid-template-columns:1fr}}
@media (max-width:760px){
  .ak-gitter{grid-template-columns:1fr}
  .ak-karte.gross{display:flex}
  .ak-streifen{grid-template-columns:1fr 20px;gap:6px 14px}.ak-streifen time{grid-column:1}.ak-streifen-titel{grid-column:1}.ak-streifen .pfeil{grid-row:1/span 2;grid-column:2}
  .ak-abschluss{grid-template-columns:1fr}.ak-abschluss img{width:150px}
}
.ak-sektion .huelle.breit{max-width:1280px}
.ak-info p.ak-info-titel{font:600 clamp(26px,2vw,32px)/1.15 var(--serif);color:var(--navy);margin:8px 0 14px}
.ak-info p.ak-datum{color:var(--messing-d);font-weight:600;letter-spacing:.06em}
@media (max-width:760px){.ak-karte.gross{align-items:flex-start}}
@media (max-width:1120px){.ratgeber-seite.ak-seite{order:1;position:static}}

/* Hover im Formulare-Bild: nur weicher, heller Farbschein – keine Umrisslinie */
.tb-buehne svg.treffer .umriss{display:none}
.tb-buehne .farbe{position:absolute;z-index:1;opacity:0;transition:opacity .45s ease;pointer-events:none}
.tb-bereich.einladen .farbe{opacity:.45}
.tb-bereich.on .farbe{opacity:1}
/* Aktenverwahrung unter dem Foto */
.notar-bild .akten-zeile{margin-top:26px}
/* Kopf Titelbild: nur Notar & Team und Anfahrt – wieder bis 1120 px sichtbar */
/* Unschärfe beim offenen Panel bleibt im Bildrahmen */
.tb.offen .tb-leinwand{filter:none;transform:none}
.tb-leinwand picture,.tb-leinwand .tb-bereich{transition:filter .5s ease,transform .6s ease}
.tb.offen .tb-leinwand picture,.tb.offen .tb-leinwand .tb-bereich{filter:blur(9px) saturate(.9);transform:scale(1.04)}
.kopf nav.rechts a{font-size:clamp(18px,1.35vw,21px)}
/* Leitsatz links auf gleicher Höhe wie das Menü rechts */
.kopf-claim{min-height:60px;display:flex;align-items:center}
.kopf nav.rechts{align-items:center}
/* Aktenverwahrung unter dem Foto: leicht bläulicher Kasten */
.notar-bild .akten-zeile{margin-top:24px;padding:22px 26px 20px;border:0;border-left:3px solid var(--navy);border-radius:10px;background:#E9EFF6}
.notar-bild .akten-zeile p{margin-bottom:8px}
/* Kacheln unter der Notar-Sektion: etwas höher, mehr Abstand nach oben */
.notar-raster>.weg-kachel{min-height:210px;margin-top:clamp(16px,2.4vw,34px)}
.kopf .logo-hero img{display:block;width:100%;height:auto}
/* ohne Kacheln (Team-Seite ausgeklammert): keine leere Rasterzeile */
.notar-raster:not(:has(.weg-kachel)){grid-template-areas:"kopf bild" "links bild"}
@media (max-width:760px){.notar-raster:not(:has(.weg-kachel)){grid-template-areas:"kopf" "bild" "links"}}
/* Bundesnotarkammer-Logo (Quelle der Aktuelles-Beiträge) */
.bnotk-logo{display:block;height:auto;max-width:100%}
.ak-sektion h2 .nur-sr,.nur-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ak-bnotk{display:block;width:min(460px,80vw);margin:16px 0 4px}
.ak-original{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:20px 0 0}
.ak-original span{font:500 clamp(22px,2vw,28px)/1 var(--serif);color:var(--grau);white-space:nowrap}
.ak-original a{display:block;width:clamp(240px,24vw,330px)}
.bnotk-impressum{max-width:360px;margin:18px 0 8px}
.a11y-reset{display:block;width:100%;margin-top:16px;padding:10px 14px;border:1px solid var(--navy-75);border-radius:6px;background:#fff;color:var(--navy);font:600 16px var(--serif);cursor:pointer}
.a11y-reset:hover{border-color:var(--navy);background:var(--navy-96)}
.formular-hinweis{margin:-4px 0 16px;padding:12px 16px;border-left:3px solid var(--messing);background:#FBF5EE;border-radius:0 6px 6px 0;font-size:17px;color:var(--text)}
/* Kontaktfenster links: Marineblau mit weißem Linien-Adler statt Foto */
.dialog-bild{background:var(--navy)}
.dialog-marke{position:absolute;left:34px;top:40px;right:34px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.dialog-bild .dialog-marke img{position:static;inset:auto;object-fit:contain;height:auto}
.dialog-marke .adler{width:min(150px,60%)}
.dialog-marke .name{width:100%;max-width:290px}
.dialog-bild .bild-text{background:none}
/* Wunsch Herr Blenk 01.10.2026: Schild nicht vergrößern – nur der Leuchteffekt */
.tb-bereich.einladen .schild,.tb-bereich.on .schild{transform:none;box-shadow:none}
/* Platzhalter statt Porträtfoto (PORTRAITS_AN=False) */
.foto-platzhalter{display:grid;place-items:center;width:100%;border-radius:10px;background:linear-gradient(160deg,#16304D,var(--navy) 60%,#28496C)}
.foto-platzhalter img{width:38%;max-width:220px;height:auto;opacity:.9}
.foto-platzhalter.stehend{aspect-ratio:1/1.35}
.foto-platzhalter.portraet{height:100%;min-height:420px}
@media (max-width:760px){.foto-platzhalter.portraet{min-height:0;aspect-ratio:3/4}}

/* ---------------------------------------------------------------- 05.10.2026 – Willkommen */
/* Titelbild: „Herzlich willkommen!“ mittig unter dem Logo (auch am Rechner) */
.kopf-leer{display:block}
.kopf-claim{grid-column:1/-1;grid-row:2;justify-self:center;min-height:0;display:block;padding-top:clamp(4px,1.2vh,14px);
  font:500 italic clamp(30px,3.1vw,50px)/1.1 var(--serif);letter-spacing:.01em;white-space:normal;text-align:center;text-shadow:0 2px 18px rgba(10,30,50,.45)}
@media (max-width:1120px){.kopf-claim{font-size:clamp(26px,6.4vw,36px);padding-top:4px;letter-spacing:.01em}}
/* Infokarte rechts: statische Zeiten */
.zeiten-heute{margin:0;display:grid;gap:12px}
.zeiten-heute div{margin:0}
.zeiten-heute dt{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.82;font-weight:600;margin-bottom:2px}
.zeiten-heute dd{margin:0;font-size:21px;font-weight:600;line-height:1.3}
/* Willkommens-Sektion */
.willkommen-raster{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"bild text" "team stellen";column-gap:clamp(40px,6vw,110px);row-gap:clamp(34px,4vw,56px);align-items:center}
.willkommen-raster .notar-bild{grid-area:bild}
.willkommen-text{grid-area:text}
.willkommen-text h2{margin:0;font-size:clamp(44px,4.6vw,74px);line-height:1.04;color:var(--navy)}
.willkommen-text h2 span{display:block}
.willkommen-text h2 .mitte{font-style:italic;font-weight:500;color:var(--messing-d)}
.willkommen-text .strich{margin:22px 0 26px}
.willkommen-text p{font-size:clamp(19px,1.45vw,22px);line-height:1.65;margin:0 0 16px;color:var(--text)}
.willkommen-wege{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.willkommen-wege .knopf svg.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.willkommen-wege .knopf:hover svg{transform:none}
.willkommen-raster>.weg-kachel{align-self:stretch;min-height:190px;padding-top:22px;padding-bottom:24px}
.willkommen-raster>.weg-kachel h3{font-size:clamp(26px,2.3vw,34px);padding-right:12px}
.willkommen-raster>.weg-kachel .wappen-zeichen{top:20px;right:24px;width:46px;height:auto}
.willkommen-raster .wk-team{grid-area:team}.willkommen-raster .wk-stellen{grid-area:stellen}
@media (max-width:760px){
  .willkommen-raster{grid-template-columns:1fr;grid-template-areas:"text" "bild" "team" "stellen";row-gap:28px}
  .willkommen-text h2{font-size:clamp(38px,10vw,52px)}
}
/* Teamseite: Arbeitssprachen */
.sprachen{margin-top:26px;padding:20px 22px;border-radius:10px;background:#E9EFF6;border-left:3px solid var(--navy)}
.sprachen h3{margin:0 0 12px;font-size:22px;color:var(--navy)}
.sprachen ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.sprachen li{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:30px;background:#fff;font-size:18px;font-weight:600;color:var(--navy);box-shadow:0 2px 8px rgba(19,42,66,.08)}
.sprachen .kuerzel{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;letter-spacing:.06em}
/* Teamseite: Karten beim Überfahren invertieren */
.kartei{grid-auto-rows:1fr}
.kartei-karte{transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.kartei-karte:hover,.kartei-karte:focus-within{background:var(--navy);border-color:var(--navy);box-shadow:0 22px 48px rgba(8,24,40,.32);transform:translateY(-3px)}
.kartei-karte:hover h3,.kartei-karte:focus-within h3,.kartei-karte:hover .kartei-feld.kontakt a,.kartei-karte:focus-within .kartei-feld.kontakt a{color:#fff}
.kartei-karte:hover .kartei-kopf p,.kartei-karte:focus-within .kartei-kopf p{color:rgba(255,255,255,.78)}
.kartei-karte:hover .mono,.kartei-karte:focus-within .mono{background:#fff;color:var(--navy)}
.kartei-karte:hover .kartei-feld.kontakt,.kartei-karte:focus-within .kartei-feld.kontakt{border-top-color:rgba(255,255,255,.25)}
/* Teamseite: Kachel „Wir suchen Verstärkung“ */
.kartei-stellen{grid-column:1/-1;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 34px;border-radius:10px;
  background:#E3EAF3;border:1px solid #C9D6E4;border-top:4px solid var(--navy);color:var(--navy);text-decoration:none;box-shadow:0 10px 28px rgba(19,42,66,.07);
  transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}
.kartei-stellen span{display:block;font-size:clamp(19px,1.5vw,22px);line-height:1.45}
.kartei-stellen b{display:block;font:600 clamp(30px,2.6vw,40px)/1.1 var(--serif);margin-bottom:6px}
.kartei-stellen .pfeil{width:34px;height:34px;flex:none;transition:transform .25s ease}
.kartei-stellen:hover,.kartei-stellen:focus-visible{background:var(--navy);color:#fff;box-shadow:0 22px 48px rgba(8,24,40,.32);transform:translateY(-3px)}
.kartei-stellen:hover .pfeil{transform:translateX(6px)}
@media (max-width:760px){.kartei{grid-auto-rows:auto}.kartei-stellen{padding:22px}}

/* 05.10.2026 (2): Kopf Titelbild – links Formulare · Anfahrt · Aktuelles, rechts Notar & Team · Stellenangebote · Barrierefrei */
.kopf-leer{display:none}
.kopf nav.links{grid-column:1;grid-row:1;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;gap:clamp(12px,1.6vw,30px);padding-top:18px;min-height:60px;align-items:center}
.kopf nav.links a{font-size:clamp(18px,1.35vw,21px)}
.kopf .logo-hero{grid-column:2;grid-row:1}
.kopf nav.rechts{grid-column:3;grid-row:1}
.kopf-claim{padding-top:clamp(22px,5vh,60px)}
@media (max-width:1120px){.kopf nav.links{display:none}.kopf-claim{padding-top:clamp(10px,2.4vh,22px)}}
/* Überschrift Willkommen: drei Zeilen, enger gesetzt, „Herzlich willkommen“ bricht nie um */
.willkommen-text h2{font-size:clamp(40px,4.2vw,68px);line-height:1}
.willkommen-text h2 span{white-space:nowrap}
.willkommen-text h2 .mitte{margin:.04em 0}
@media (max-width:760px){.willkommen-text h2{font-size:clamp(30px,9.4vw,52px)}}
/* 05.10.2026 (3): Name kursiv in Messing, „im Notarbüro“ normal */
.willkommen-text h2 .name{font-style:italic;font-weight:500;color:var(--messing-d)}
/* 05.10.2026: OSM-Quellenangabe unter der Karte (Fußnote **), Link ohne Unterstreichung */
.kmap-quelle{position:absolute;right:12px;bottom:8px;font-size:15px;line-height:1;pointer-events:none}
.karte-fussnote + .karte-fussnote{margin-top:8px}
.karte-fussnote a.still{color:inherit;text-decoration:none;transition:color .2s}
.karte-fussnote a.still:hover,.karte-fussnote a.still:focus-visible{color:var(--navy)}
html[data-contrast="high"] .karte-fussnote a.still{text-decoration:none!important}
.karte-fussnote > .stern{flex:none;min-width:1.1em;margin-left:0}
/* 05.10.2026: Rechtsseiten enden mit dem letzten Abschnitt – keine Abschlusslinie, kein Siegel */
.recht-blatt .recht-abschnitt:last-of-type{border-bottom:0;padding-bottom:0}

/* Impressum/Datenschutz: linke Gliederung fährt beim Scrollen mit (05.10.2026).
   overflow:clip statt hidden – hidden macht .recht zum Scroll-Container, dann greift sticky nicht. */
/* Titel scrollt weg, Gliederung + Wechsel-Link fahren mit (passt so auch mit 13 Abschnitten in 720 px Höhe) */
@media (min-width:1121px){
  .recht-leiste{align-self:stretch}
  .recht-leiste-innen{position:static;display:contents}
  .recht-mit{position:sticky;top:calc(var(--band-h) + 28px)}
}

/* Urheberhinweis am Porträt (05.10.2026): beim Überfahren einblenden */
.foto-rahmen{position:relative;min-width:0}
.notar-block > .foto-rahmen picture{display:block;height:100%}
.foto-credit{position:absolute;right:12px;bottom:12px;z-index:3;padding:5px 11px;border-radius:4px;background:rgba(255,255,255,.92);color:var(--navy);font-size:14px;line-height:1.3;letter-spacing:.03em;box-shadow:0 4px 14px rgba(8,24,40,.25);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;pointer-events:none}
.notar-foto:hover .foto-credit,.foto-rahmen:hover .foto-credit{opacity:1;transform:none}
@media (hover:none){.foto-credit{opacity:.92;transform:none;font-size:12.5px;padding:4px 9px;right:8px;bottom:8px}}
html[data-motion="off"] .foto-credit{transition:none}

/* KI-Kennzeichnung (06.10.2026): klein, links unter dem Bild (im Bild selbst nur als Metadaten) */
.tb-ki-hinweis{margin:6px 14px 0;font-size:13px;line-height:1.3;color:var(--grau);letter-spacing:.02em;text-align:left}
@media (max-width:760px){.tb-buehne{aspect-ratio:auto}}
@media (min-width:1000px) and (orientation:landscape){
  .tb-buehne{flex-direction:column;align-items:center;justify-content:flex-start}
  .tb-leinwand{flex:none;width:min(calc(100cqw - 2 * var(--tb-rand)),calc((100cqh - var(--tb-rand) - 26px) * 1916 / 821))}
  .tb-ki-hinweis{flex:none;width:min(calc(100cqw - 2 * var(--tb-rand)),calc((100cqh - var(--tb-rand) - 26px) * 1916 / 821));margin:8px 0 0;padding-left:2px}
}
/* Kontaktformular: Hinweis statt Einwilligung */
.ds-hinweis{margin:0;font-size:15.5px;line-height:1.45;color:var(--grau)}
.ds-hinweis a{color:inherit}

/* ---------------------------------------------------------------- Anfahrtskarte */
.kmap-svg{display:block;width:100%;height:auto;overflow:hidden;border-radius:10px}
.kmap-svg .grund{fill:#F1F3F5}
.kmap-svg .gruen{fill:#DCE6D6;stroke:#C5D4BD;stroke-width:1.2}
.kmap-svg .gruen.hell{fill:#E3EBDF}
.kmap-svg .friedhof{fill:#D5E0CF;stroke:#B9C9B0;stroke-width:1.2;stroke-dasharray:4 3}
.kmap-svg .fluss-ufer{fill:none;stroke:#BFD3E2;stroke-width:22;stroke-linecap:round;stroke-linejoin:round}
.kmap-svg .fluss{fill:none;stroke:#D6E5EF;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.kmap-svg .wasser{fill:#D6E5EF;stroke:#B3CADB;stroke-width:1}
.kmap-svg .graben{fill:none;stroke:#B3CADB;stroke-width:3;stroke-linecap:round}
.kmap-svg .str-k{fill:none;stroke:#D9DEE3;stroke-linecap:round;stroke-linejoin:round}
.kmap-svg .str{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}
.kmap-svg .str-k.k1{stroke-width:12}.kmap-svg .str.k1{stroke-width:9}
.kmap-svg .str-k.k2{stroke-width:10}.kmap-svg .str.k2{stroke-width:7}
.kmap-svg .str-k.k3{stroke-width:6}.kmap-svg .str.k3{stroke-width:4}
.kmap-svg .str.ring{stroke:#FFFFFF}
.kmap-svg .str-k.k1,.kmap-svg .str-k.k2{stroke:#C6CED6}
.kmap-svg .str-name{font:600 13px var(--serif,serif);fill:#5E6E80;letter-spacing:.06em;paint-order:stroke;stroke:#F1F3F5;stroke-width:3px}
.kmap-svg .fluss-name{font:italic 500 15px var(--serif,serif);fill:#5C7F99;letter-spacing:.08em;paint-order:stroke;stroke:#F1F3F5;stroke-width:3px}
.kmap-svg .stamm{stroke:#8D9A86;stroke-width:2;stroke-linecap:round}
.kmap-svg .krone{fill:#A9BFA0}
.kmap-svg .krone-l{fill:#fff;opacity:.22}
.kmap-svg .baum.dunkel .krone{fill:#93AB8A}
.kmap-svg .grab{fill:#C3C9CF;stroke:#9EA7B0;stroke-width:.6}
.kmap-svg .grab-s{fill:#A9B1B9}
.kmap-svg .kreuz{stroke:#8D96A0;stroke-width:2.4;fill:none;stroke-linecap:round}
.kmap-svg .bank{stroke:#9C7A55;stroke-width:1.8;fill:none;stroke-linecap:round}
.kmap-svg .schatten{fill:rgba(27,58,92,.12)}
/* Gebäude */
.kmap-svg .fr{fill:#E8EBEF}.kmap-svg .sd{fill:#C6CED6}.kmap-svg .tp{fill:#F6F7F8}
.kmap-svg .b-fr{fill:#1B3A5C}.kmap-svg .b-sd{fill:#132A42}.kmap-svg .b-dach{fill:#546B85}
.kmap-svg .b-fe{fill:#EACB94}.kmap-svg .b-tuer{fill:#B1722F}
.kmap-svg .b-par{font:600 15px var(--serif,serif);fill:#fff}
.kmap-svg .g-fr{fill:#E8EBEF}.kmap-svg .g-sd{fill:#BFC5CC}.kmap-svg .g-tp{fill:#F2F3F5}
.kmap-svg .g-saeule{fill:#fff;stroke:#C6CED6;stroke-width:.6}.kmap-svg .g-giebel{fill:#DFE2E6;stroke:#BFC5CC;stroke-width:.8}.kmap-svg .g-scheibe{fill:#B1722F}
.kmap-svg .t-fr{fill:#DFE2E6}.kmap-svg .t-fr2{fill:#C6CED6}.kmap-svg .t-sd{fill:#96A1AC}.kmap-svg .t-tp{fill:#F2F3F5}.kmap-svg .t-glas{fill:#8D9CAE}
.kmap-svg .t-rund{fill:#fff;stroke:#1B3A5C;stroke-width:1.6}
.kmap-svg .m-froh{fill:#F6F7F8;stroke:#1B3A5C;stroke-width:1.4}.kmap-svg .m-traurig{fill:#1B3A5C;stroke:#1B3A5C;stroke-width:1.4}
.kmap-svg .m-augen{stroke:#1B3A5C;stroke-width:1.3;fill:none;stroke-linecap:round}.kmap-svg .m-augen2{stroke:#fff;stroke-width:1.3;fill:none;stroke-linecap:round}
.kmap-svg .s-fr{fill:#E8EBEF}.kmap-svg .s-sd{fill:#BFC5CC}.kmap-svg .s-dach{fill:#8D9CAE}.kmap-svg .s-fe{fill:#96A1AC}
.kmap-svg .s-uhr{fill:#fff;stroke:#5E6E80;stroke-width:1.2}.kmap-svg .s-zeiger{stroke:#5E6E80;stroke-width:1;fill:none}
.kmap-svg .sl-fr{fill:#EFE7DA}.kmap-svg .sl-sd{fill:#D8CCB9}.kmap-svg .sl-tp{fill:#F6F1E9}.kmap-svg .sl-fe{fill:#8D9CAE}
.kmap-svg .sl-turm{fill:#E6DCCB}.kmap-svg .sl-turm-o{fill:#F6F1E9}.kmap-svg .sl-kegel{fill:#8D9CAE}
/* Orte */
.kmap-svg .kort{cursor:pointer;outline:none}
.kmap-svg .kort .halo{fill:rgba(27,58,92,0);stroke:none;transition:fill .3s}
.kmap-svg .kort:hover .halo,.kmap-svg .kort.aktiv .halo{fill:rgba(27,58,92,.12)}
.kmap-svg .kort:focus-visible .halo{fill:rgba(177,114,47,.18);stroke:#B1722F;stroke-width:2}
.kmap-svg .klabel rect{fill:#fff;stroke:#C6CED6;stroke-width:1}
.kmap-svg .klabel text{font:600 13.5px var(--serif,serif);fill:#1B3A5C}
.kmap-svg .kbuero .klabel rect{fill:#1B3A5C;stroke:#1B3A5C}
.kmap-svg .kbuero .klabel text{fill:#fff;font-size:15px}
.kmap-svg .kort.aktiv .klabel rect{stroke:#B1722F;stroke-width:1.6}
.kmap-svg .puls{fill:none;stroke:#B1722F;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:kpuls 2.6s ease-out infinite}
@keyframes kpuls{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}
.kmap-svg .kweg{fill:none;stroke:#B1722F;stroke-width:2.4;stroke-dasharray:6 7;stroke-linecap:round;opacity:0;transition:opacity .3s}
.kmap-svg .kweg.an{opacity:1;animation:kfluss 1.4s linear infinite}
@keyframes kfluss{to{stroke-dashoffset:-26}}
@media (prefers-reduced-motion:reduce){.kmap-svg .puls,.kmap-svg .kweg.an{animation:none}}
html[data-motion="off"] .kmap-svg .puls,html[data-motion="off"] .kmap-svg .kweg.an{animation:none}
