/* ============================================================================
   mageso Energieberatung – Website
   Gestaltungsidee: Der Maßstab – als Sinnbild für Genauigkeit, nicht für „messen":
   Ein Gebäude wird vor Ort aufgenommen ODER aus Plänen ausgewertet, beim Neubau
   zählt die Planung. Die Skala (Teilstriche in Zollstock-Gelb) läuft als
   Sektionstrenner und als Marker der Prozessschritte durch die Seite.
   Schrift: Barlow Condensed (Bauplan-Beschriftung) über IBM Plex Sans/Mono.
   Fonts liegen lokal – keine Anfragen an fremde Server, kein Cookie-Banner.
   ========================================================================== */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/BarlowCondensed-500.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/BarlowCondensed-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/IBMPlexSans-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/IBMPlexSans-600.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/IBMPlexMono-500.woff2') format('woff2')}

:root{
  --ink:#14243D;        /* Bau-Anthrazit: dunkle Flächen, Text */
  --navy:#1a3a6b;       /* mageso-Marken-Navy (wie Portal/Verwaltung) */
  --gelb:#E5A826;       /* Zollstock-Gelb: Maßstab, Akzent, Fokus */
  --gelb-h:#c98f14;
  --papier:#F6F4F0;     /* Seitengrund, minimal warm */
  --linie:#D9D5CE;
  --gruen:#2F6B4F;      /* Effizienz – sehr sparsam */
  --grau:#5A6472;
  --display:'Barlow Condensed',"Arial Narrow",system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,"SF Mono",Menlo,monospace;
  /* Wortmarke: Das Firmenlogo ist in einer Helvetica gesetzt – die schmale Display-Schrift
     passt nicht dazu. Bewusst Systemschriften statt Webfont: Apple-Geräte zeigen echtes
     Helvetica, alle anderen die metrisch gleiche Arial/Liberation Sans. Ein Helvetica-Klon
     zum Selbsthosten (Nimbus Sans) steht unter AGPL, deren Ausnahme nur PDFs abdeckt. */
  --marke:'Helvetica Neue',Helvetica,Arial,'Liberation Sans',sans-serif;
  --wrap:1140px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--ink);font-family:var(--body);
     font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* --- Der Maßstab: Signature-Element ------------------------------------- */
.skala,.skala-d{height:26px;position:relative;background:var(--gelb)}
.skala::before,.skala-d::before{content:"";position:absolute;inset:0;background:
   repeating-linear-gradient(90deg, rgba(20,36,61,.85) 0 1.5px, transparent 1.5px 12px) bottom/100% 10px no-repeat,
   repeating-linear-gradient(90deg, rgba(20,36,61,.85) 0 2px, transparent 2px 60px) bottom/100% 20px no-repeat}

/* --- Kundenstimmen -------------------------------------------------------
   Zitate aus der alten WordPress-Seite (Abschnitt „Kundenbewertungen").
   Bewusst ohne Sterne-Grafik: Es sind schriftliche Rueckmeldungen, keine
   Portal-Bewertungen mit Skala. Das Anfuehrungszeichen greift das Gelb auf. */
.stimmen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:26px}
.stimme{position:relative;background:#fff;border:1px solid var(--linie);border-radius:2px;
        padding:30px 26px 24px;display:flex;flex-direction:column}
.stimme::before{content:"\201C";position:absolute;top:2px;left:20px;font-family:var(--display);
        font-size:74px;line-height:1;color:var(--gelb);opacity:.55}
.stimme blockquote{margin:0 0 18px;padding:0;font-size:16.5px;line-height:1.62;color:var(--ink);
        position:relative;z-index:1;flex:1 1 auto}
.stimme figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
        color:var(--grau);display:flex;align-items:center;gap:10px}
.stimme figcaption::before{content:"";width:22px;height:2px;background:var(--gelb);flex:none}
@media(max-width:900px){.stimmen{grid-template-columns:1fr;gap:18px}}

/* --- Kopf ---------------------------------------------------------------- */
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:60}
.top-in{display:flex;align-items:center;gap:22px;min-height:70px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand img{border-radius:4px;background:#fff;padding:3px}
.brand strong{display:block;font-family:var(--display);font-weight:500;font-size:26px;
              letter-spacing:.01em;line-height:1}   /* Marke NIE versal – siehe mg_marke() */
.brand strong b{font-weight:700}
.marke{font-family:var(--marke);font-weight:400;letter-spacing:normal}
.marke b{font-weight:700}
.brand small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
             text-transform:uppercase;color:var(--gelb);margin-top:3px}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav a{color:rgba(255,255,255,.82);text-decoration:none;font-family:var(--display);font-size:18px;
       letter-spacing:.05em;text-transform:uppercase;padding:8px 12px;border-bottom:2px solid transparent}
.nav a:hover{color:#fff;border-bottom-color:rgba(229,168,38,.5)}
.nav a.on{color:#fff;border-bottom-color:var(--gelb)}
.nav-tel{font-family:var(--mono)!important;font-size:14px!important;letter-spacing:0!important;
         text-transform:none!important;background:var(--gelb);color:var(--ink)!important;
         border-radius:3px;font-weight:500;padding:9px 14px!important;border-bottom:0!important}
.nav-tel:hover{background:#fff}

/* --- Hero ---------------------------------------------------------------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(102deg,var(--ink) 8%,rgba(20,36,61,.82) 44%,rgba(20,36,61,.18) 100%)}
.hero-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:96px 24px 84px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
         color:var(--gelb);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.eyebrow::after{content:"";flex:1;height:1px;background:rgba(229,168,38,.35);max-width:180px}
.hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;
         font-size:clamp(40px,7vw,86px);line-height:.94;margin:0 0 22px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--gelb)}
.hero-lead{font-size:clamp(17px,2vw,20px);max-width:52ch;color:rgba(255,255,255,.86);margin:0 0 32px}

/* --- Fakten-Band --------------------------------------------------------- */
.fakten{background:var(--ink);color:rgba(255,255,255,.75);font-family:var(--mono);font-size:12.5px;
        letter-spacing:.06em;text-transform:uppercase;border-top:1px solid rgba(255,255,255,.12)}
.fakten-in{display:flex;flex-wrap:wrap;gap:10px 34px;padding:14px 24px;max-width:var(--wrap);margin:0 auto}
.fakten b{color:var(--gelb);font-weight:500}

/* --- Sektionen ----------------------------------------------------------- */
.sec{padding:76px 0}
.sec-dunkel{background:var(--ink);color:#fff}
.sec-dunkel .lead{color:rgba(255,255,255,.72)}
h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;
   font-size:clamp(28px,4vw,44px);line-height:1.02;margin:0 0 12px}
.lead{color:var(--grau);max-width:62ch;margin:0 0 40px;font-size:18px}

/* Leistungen: Bild/Text-Bänder statt Karten */
.band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;
      border:1px solid var(--linie);background:#fff;margin-bottom:26px;overflow:hidden}
.band img{width:100%;height:100%;min-height:300px;object-fit:cover}
.band-txt{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}
.band:nth-child(even) img{order:2}
.band-nr{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--gelb-h);
         text-transform:uppercase;display:block;margin-bottom:10px}
.band h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:30px;
         line-height:1.05;letter-spacing:.02em;margin:0 0 12px}
.band p{margin:0 0 12px;color:var(--grau)}
.band .mehr{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;
            text-decoration:none;border-bottom:2px solid var(--gelb);padding-bottom:2px;color:var(--ink)}
.band .mehr:hover{background:var(--gelb)}

/* Prozess: echte Abfolge, deshalb nummeriert – Ziffern sitzen auf dem Maßstab */
.schritte{border-top:2px solid var(--gelb);margin-top:6px}
.schritt{display:grid;grid-template-columns:104px 1fr;gap:26px;padding:30px 0;
         border-bottom:1px solid var(--linie);align-items:start}
.schritt-nr{font-family:var(--display);font-weight:700;font-size:58px;line-height:.9;color:var(--gelb);
            position:relative;padding-top:4px}
.schritt-nr::after{content:"";position:absolute;left:0;bottom:-8px;width:46px;height:8px;
  background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 8px)}
.schritt h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:23px;
            letter-spacing:.03em;margin:0 0 6px}
.schritt p{margin:0;color:var(--grau)}
.sec-dunkel .schritt{border-bottom-color:rgba(255,255,255,.14)}
.sec-dunkel .schritt p{color:rgba(255,255,255,.72)}
.sec-dunkel .schritt-nr::after{background:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 8px)}

/* Buttons */
.btn{display:inline-block;font-family:var(--display);font-weight:700;text-transform:uppercase;
     letter-spacing:.06em;font-size:19px;padding:13px 26px;text-decoration:none;border:2px solid var(--gelb);
     background:var(--gelb);color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:transparent;color:var(--gelb)}
.btn-linie{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-linie:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-dunkel{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-dunkel:hover{background:transparent;color:var(--ink)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Fließtext-Seiten */
.prose{background:#fff;border:1px solid var(--linie);padding:48px 52px;max-width:76ch;margin:0 auto}
.prose h3{font-family:var(--display);font-weight:700;font-size:26px;
          letter-spacing:.01em;margin:34px 0 8px;line-height:1.15}
.prose h3:first-child{margin-top:0}
.prose ul{padding-left:20px}
.prose li{margin:6px 0}
.prose p{color:var(--grau)}
.prose strong{color:var(--ink)}

/* Logos */
.logos{display:flex;flex-wrap:wrap;gap:34px;align-items:center;justify-content:center;
       padding:30px;border:1px solid var(--linie);background:#fff}
.logos img{max-height:52px;width:auto;filter:grayscale(1);opacity:.6;transition:opacity .2s,filter .2s}
.logos img:hover{filter:none;opacity:1}

/* Formular */
.form{display:grid;gap:16px;max-width:600px}
.form label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
            color:rgba(255,255,255,.7);display:block;margin-bottom:6px}
.form input,.form textarea{width:100%;padding:13px 14px;font:inherit;font-size:16px;color:#fff;
       background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);border-radius:0}
.form input:focus,.form textarea:focus{outline:2px solid var(--gelb);outline-offset:1px;
       border-color:transparent;background:rgba(255,255,255,.12)}
.form textarea{min-height:150px;resize:vertical}
.form .hp{position:absolute;left:-9999px}
.form .zustimmung{display:flex;gap:10px;align-items:flex-start;font-size:14px;
                  color:rgba(255,255,255,.72);text-transform:none;letter-spacing:0;font-family:var(--body)}
.form .zustimmung input{width:auto;margin-top:4px}
.form .zustimmung a{color:var(--gelb)}
.hinweis{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--grau)}
.sec-dunkel .hinweis{color:rgba(255,255,255,.55)}
.alert{padding:15px 18px;margin:0 0 20px;border-left:4px solid;font-size:15px}
/* Grundfassung für helle Abschnitte; die hellen Schriftfarben gelten nur im Dunklen
   (das Kontaktformular steht in .sec-dunkel, der Förderrechner auf Papier). */
.alert-ok{background:rgba(47,107,79,.12);border-color:var(--gruen);color:#1d4b34}
.alert-err{background:rgba(220,38,38,.09);border-color:#dc2626;color:#8f1d1d}
.sec-dunkel .alert-ok{background:rgba(47,107,79,.15);color:#d7f0e2}
.sec-dunkel .alert-err{background:rgba(220,38,38,.14);color:#fecaca}

/* Kontakt-Split */
.kontakt{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.kontakt-info p{color:rgba(255,255,255,.78)}
.kontakt-info a{color:var(--gelb)}
.kontakt-gross{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,44px);
               text-transform:uppercase;letter-spacing:.02em;line-height:1.05;margin:0 0 10px}

/* Fuß */
.foot{background:var(--ink);color:rgba(255,255,255,.6);font-size:14px;padding:44px 0 20px;
      border-top:1px solid rgba(255,255,255,.12)}
.foot a{color:rgba(255,255,255,.85);text-decoration:none}
.foot a:hover{color:var(--gelb)}
.foot-in{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.foot b{font-family:var(--display);font-size:21px;letter-spacing:.01em;
        color:#fff;font-weight:500;display:block;margin-bottom:6px}
.foot b b{display:inline;font-weight:700}   /* sonst bricht "mageso" auf eine eigene Zeile */
.foot-c{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;
        font-family:var(--mono);font-size:11px;letter-spacing:.06em}
/* Die Copyright-Zeile bleibt einzeilig – .foot b setzt sonst auch hier display:block. */
.foot-c b,.foot-c b b{display:inline;font-family:inherit;font-size:inherit;
        letter-spacing:inherit;font-weight:700;margin:0}

/* Tastaturbedienung sichtbar halten */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gelb);outline-offset:2px}

/* Sanftes Erscheinen beim Scrollen – nur wenn erwünscht */
@media(prefers-reduced-motion:no-preference){
  .auf{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
  .auf.da{opacity:1;transform:none}
}

@media(max-width:900px){
  .band{grid-template-columns:1fr}
  .band:nth-child(even) img{order:0}
  .band img{min-height:220px}
  .band-txt{padding:28px 26px}
  .kontakt{grid-template-columns:1fr;gap:34px}
}
@media(max-width:700px){
  body{font-size:16px}
  .hero-in{padding:64px 24px 56px}
  .sec{padding:52px 0}
  .brand small{display:none}
  /* Die Wortmarke in Helvetica braucht mehr Breite als die schmale Display-Schrift –
     auf dem Telefon sonst zweizeilig neben dem Logo. */
  .brand strong{font-size:21px}
  .nav a{font-size:16px;padding:6px 9px}
  .schritt{grid-template-columns:60px 1fr;gap:16px}
  .schritt-nr{font-size:34px}
  .prose{padding:26px}
}

/* --- Leistungsverzeichnis: trägt alle Leistungen, ohne die Seite zu fluten.
       Die Trennlinien greifen das Teilstrich-Motiv auf. ------------------- */
.verz-gruppe{margin-bottom:34px}
.verz-titel{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;
            font-size:15px;color:var(--gelb-h);margin:0 0 6px;padding-bottom:8px;
            border-bottom:2px solid var(--gelb)}
.verz-liste{list-style:none;margin:0;padding:0}
.verz-liste li{display:grid;grid-template-columns:minmax(240px,.9fr) 1.6fr;gap:8px 32px;
               padding:15px 0;border-bottom:1px solid var(--linie);align-items:baseline}
.verz-name{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.15;color:var(--ink)}
.verz-name a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--gelb)}
.verz-name a:hover{background:var(--gelb)}
.verz-kurz{color:var(--grau);font-size:16px}
@media(max-width:820px){
  .verz-liste li{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .verz-name{font-size:20px}
}

/* --- Querverweise am Ende einer Leistungsseite --------------------------- */
.weiter{max-width:76ch;margin:0 auto}
.weiter-liste{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px}
.weiter-liste a{display:inline-block;font-family:var(--mono);font-size:13px;letter-spacing:.03em;
                text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--linie);
                padding:8px 13px}
.weiter-liste a:hover{border-color:var(--gelb);background:var(--gelb)}

/* Zwei Standorte, zwei Nummern – Ortszusatz klein und ruhig dahinter. */
.tel-block a{font-family:var(--mono);font-size:20px;color:var(--gelb)}
.tel-block small{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
                 color:rgba(255,255,255,.55);margin-left:6px}
.foot small{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
            color:rgba(255,255,255,.45);margin-left:5px}

/* --- Förderrechner ------------------------------------------------------- */
.rechner{background:#fff;border:1px solid var(--linie);padding:32px 34px;max-width:860px}
.r-modus{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
.r-wahl{display:block;border:2px solid var(--linie);padding:16px 18px;cursor:pointer;background:var(--papier)}
.r-wahl:hover{border-color:var(--gelb)}
.r-wahl.an{border-color:var(--gelb);background:#fff}
.r-wahl input{margin-right:8px}
.r-wahl b{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.02em}
.r-wahl span{display:block;font-size:14px;color:var(--grau);margin-top:4px}
.r-feld{margin-bottom:22px}
.r-feld label,.r-block legend,.r-zeile label{font-family:var(--mono);font-size:12px;letter-spacing:.09em;
        text-transform:uppercase;color:var(--grau);display:block;margin-bottom:6px}
.r-block{border:0;border-top:2px solid var(--gelb);padding:20px 0 0;margin:0 0 22px}
.r-block legend{padding:0;color:var(--ink)}
.r-posten{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.r-posten select{flex:1 1 300px}
.r-posten input[type=text]{flex:0 1 190px;text-align:right}
.r-eur{font-family:var(--mono);color:var(--grau)}
.r-inline{flex:1 1 100%;margin-bottom:0!important}
.r-zeile{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:16px}
.r-zeile label{text-transform:none;letter-spacing:0;font-family:var(--body);font-size:14px;color:var(--ink)}
.rechner input[type=text],.rechner input[type=number],.rechner input[type=date],.rechner select{
        width:100%;padding:11px 12px;font:inherit;font-size:16px;border:1px solid var(--linie);
        background:#fff;color:var(--ink);border-radius:0}
.rechner input:focus,.rechner select:focus{outline:2px solid var(--gelb);outline-offset:1px}
.r-check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;color:var(--grau)}
.r-check input{width:auto;margin-top:4px}
.r-ergebnis{margin-top:44px;max-width:960px}
.r-tabelle-wrap{overflow-x:auto;border:1px solid var(--linie);background:#fff}
/* Feste Spaltenbreiten: sonst richtet sich die Breite nach dem längsten Text, und der
   erläuternde Zusatz in einem Spaltenkopf zieht ausgerechnet diese eine Spalte auf. */
.r-tabelle{width:100%;border-collapse:collapse;font-size:15px;min-width:560px;table-layout:fixed}
.r-tabelle th:first-child,.r-tabelle td:first-child{width:34%}
.r-tabelle-1 th:first-child,.r-tabelle-1 td:first-child{width:55%}
.r-tabelle-2 th:first-child,.r-tabelle-2 td:first-child{width:40%}
.r-tabelle-4{min-width:720px}
.r-tabelle th,.r-tabelle td{padding:13px 16px;text-align:right;border-bottom:1px solid var(--linie)}
.r-tabelle th:first-child,.r-tabelle td:first-child{text-align:left}
.r-tabelle thead th{background:var(--ink);color:#fff;font-family:var(--display);font-weight:700;
        font-size:17px;letter-spacing:.02em;
        /* oben statt unten: die Spaltentitel sollen auf einer Linie stehen. Bei „bottom"
           sitzt ein Titel ohne Zusatztext auf Höhe des Zusatzes seines Nachbarn. */
        vertical-align:top}
.r-tabelle thead th small{display:block;font-family:var(--body);font-weight:400;font-size:11px;
        color:rgba(255,255,255,.6);margin-top:4px;text-transform:none;letter-spacing:0}
.r-tabelle tr.hell td{background:#fdf6e6;font-size:19px;font-family:var(--display);letter-spacing:.01em}
.r-tabelle tr.sub td{color:var(--grau);font-size:13px;padding-top:8px;padding-bottom:8px}
@media(max-width:760px){
  .r-modus{grid-template-columns:1fr}
  .rechner{padding:24px 20px}
}


/* --- Bildeinschub im Fließtext (Auszüge aus einem Sanierungsfahrplan u. ä.).
       Bricht bewusst bis an den Rand der Prosa-Karte aus: die Grafiken sind breit,
       im 76ch-Textmaß wären sie nicht mehr lesbar. Klick öffnet die große Fassung. */
.prose-bild{margin:34px -52px}
.prose-bild a{display:block;line-height:0}
.prose-bild img{width:100%;height:auto;display:block;
                border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.prose-bild figcaption{font-size:13px;line-height:1.5;color:var(--grau);padding:10px 52px 0}
/* Hochformat bleibt im Textmaß: über die volle Kartenbreite wäre eine Berichtsseite
   im Portrait fast zwei Bildschirme hoch und würde den Text erschlagen. */
.prose-bild.hoch{margin:34px auto;max-width:440px}
.prose-bild.hoch img{border:1px solid var(--linie)}
.prose-bild.hoch figcaption{padding:10px 0 0}
@media(max-width:700px){
  .prose-bild{margin:26px -26px}
  .prose-bild figcaption{padding:10px 26px 0}
  .prose-bild.hoch{margin:26px auto;max-width:100%}
  .prose-bild.hoch figcaption{padding:10px 0 0}
}
