/*
  CSS-Optimierung 2026-11-03
  Alle numerischen vw/vh-Angaben ausser den Fallback-Definitionen und
  @supports-Tests nutzen --1vw/--100vw/--1vh/--100vh.
  Erforderliche responsive @-Regeln bleiben funktional erhalten.
  Zwei Desktop-@media-Bloecke sind zusammengefasst.
*/
/* ==========================================================================
   URG – zentrale Website-Styles
   Grundlage: urg_css_aufgeraeumt.css

   INHALT
   1. Designvariablen und Schriftarten
   2. Seitenrahmen, Header und Navigation
   3. Artikeltypografie und rechtliche Seiten
   4. Videowahl / Startseite / Karriere
   5. Rettungswachen
   6. Kontakt

   Positionsregeln:
   - Karriere ist die Referenz fuer Intro-Abstaende.
   - Impressum / Datenschutz: Desktop wie im Original, Mobil wie Karriere.
   - Die Reihenfolge der verbleibenden Selektoren bleibt bewusst erhalten.
   - Schriftformate: WOFF2 mit WOFF-Fallback; kein Legacy-IE/EOT/TTF/SVG.
   ========================================================================== */

:root{
  --designLogoUmW:        url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20176%22%3E%3Cpath%20fill=%22%23ffffff%22%20d=%22M197.274%2056.141l0.405%200.005%201.998%200.008%200.081%200%2010.82%200.086c0,0%200,13.145%200,13.145%200,0%20-185.02,0.045%20-185.02,0.045%200,0%203.944,80.236%203.944,80.236%200,0%20460.885,-10.054%20460.885,-10.054%200,0%200,-62.642%200,-62.642%200,0%202.261,-0.652%206.883,-2.496%204.482,-1.795%206.73,-2.937%206.73,-2.937%200,0%20-1.953,78.315%20-1.953,78.315%200,0%20-487.638,16.782%20-487.638,16.782l-6.409%20-111.314%20189.274%200.821zm249.264%207.748c-41.101,-3.027%20-93.516,-21.241%20-141.143,-25.098%207.789,-5.885%2022.089,-14.05%2040.787,-15.753%2051.213,-4.682%2096.391,23.09%20140.02,35.418%20-10.911,4.156%20-23.711,6.607%20-39.665,5.433l0.001%200zm-97.329%20-54.477c-32.453,0.779%20-61.877,21.073%20-73.176,29.221%20-11.35,0%20-39.37,4.84%20-55.358,15.953%200,0%200,13.612%200,13.612%208.825,-5.541%2035.107,-15.967%2073.151,-14.001%2053.372,2.746%20121.789,18.809%20152.869,20.48%2025.928,1.405%2043.189,-5.981%2057.284,-11.943%200,0%200,-15.092%200,-15.092%20-30.992,-3.01%20-94.828,-38.534%20-152.054,-38.275l-2.715%200.045%20-0.001%200zm-265.728%20105.506c0,9.849%20-7.57,16.33%20-17.108,16.33%20-9.539,0%20-17.105,-6.481%20-17.105,-16.33%200,0%200,-22.478%200,-22.478%200,0%20-4.483,0%20-4.483,0%200,0%200,-8.103%200,-8.103%200,0%2013.568,0.019%2013.568,0.019%200,0%200,30.235%200,30.235%200,5.356%203.123,8.556%208.02,8.556%204.903,0%208.099,-3.2%208.099,-8.556%200,0%200,-30.235%200,-30.235%200,0%209.008,0%209.008,0%200,0%200,30.562%200,30.562l0.001%200zm340.329%2015.922c0,0%20-10.503,0%20-10.503,0%200,0%20-9.085,-18.542%20-9.085,-18.542%200,0%20-6.526,0%20-6.526,0%200,0%200,18.542%200,18.542%200,0%20-9.085,0%20-9.085,0%200,0%200,-38.4%200,-38.4%200,0%20-4.512,0%20-4.512,0%200,0%200,-8.084%200,-8.084%200,0%204.512,0%204.512,0%200,0%2018.23,0%2018.23,0%209.461,0%2015.078,6.448%2015.078,14.219%200,6.542%20-3.978,10.583%20-8.49,12.225%200,0%2010.381,20.04%2010.381,20.04l0%200zm-10.977%20-32.265c0,-3.589%20-2.604,-6.135%20-6.581,-6.135%200,0%20-8.556,0%20-8.556,0%200,0%200,12.287%200,12.287%200,0%208.556,0%208.556,0%203.977,0%206.581,-2.547%206.581,-6.152zm61.538%2032.265c0,0%20-16.516,-28.019%20-16.516,-28.019%200,0%2015.404,-18.465%2015.404,-18.465%200,0%20-11.03,0%20-11.03,0%200,0%20-16.396,20.245%20-16.396,20.245%200,0%200,-20.245%200,-20.245%200,0%20-9.064,0%20-9.064,0%200,0%200,46.484%200,46.484%200,0%209.064,0%209.064,0%200,0%200,-13.969%200,-13.969%200,0%206.015,-7.183%206.015,-7.183%200,0%2011.955,21.152%2011.955,21.152%200,0%2010.568,0%2010.568,0l0%200zm-96.939%200c0,0%20-17.001,-46.484%20-17.001,-46.484%200,0%20-7.131,0%20-7.131,0%200,0%20-16.903,46.484%20-16.903,46.484%200,0%209.453,0%209.453,0%200,0%202.815,-8.225%202.815,-8.225%200,0%2016.544,0%2016.544,0%200,0%202.751,8.225%202.751,8.225%200,0%209.472,0%209.472,0l0%200zm-14.655%20-15.858c0,0%20-11.567,0%20-11.567,0%200,0%205.883,-16.92%205.883,-16.92%200,0%205.684,16.92%205.684,16.92l0%200zm-37.574%2015.858c0,0%200,-46.484%200,-46.484%200,0%20-8.942,0%20-8.942,0%200,0%20-12.086,25.129%20-12.086,25.129%200,0%20-12.144,-25.129%20-12.144,-25.129%200,0%20-8.943,0%20-8.943,0%200,0%200,46.484%200,46.484%200,0%209.067,0%209.067,0%200,0%200,-27.096%200,-27.096%200,0%208.961,17.639%208.961,17.639%200,0%206.135,0%206.135,0%200,0%208.88,-17.639%208.88,-17.639%200,0%200,27.096%200,27.096%200,0%209.072,0%209.072,0zm-55.072%200c0,0%20-10.381,-20.04%20-10.381,-20.04%204.513,-1.642%208.488,-5.683%208.488,-12.225%200,-7.771%20-5.619,-14.219%20-15.079,-14.219%200,0%20-18.212,0%20-18.212,0%200,0%200,46.484%200,46.484%200,0%209.068,0%209.068,0%200,0%200,-18.542%200,-18.542%200,0%206.541,0%206.541,0%200,0%209.072,18.542%209.072,18.542%200,0%2010.503,0%2010.503,0l0%200zm-10.976%20-32.265c0,3.605%20-2.605,6.152%20-6.582,6.152%200,0%20-8.558,0%20-8.558,0%200,0%200,-12.287%200,-12.287%200,0%208.558,0%208.558,0%203.977,0%206.582,2.546%206.582,6.135zm-38.556%2032.265c0,0%200,-8.084%200,-8.084%200,0%20-21.538,0%20-21.538,0%200,0%200,-11.305%200,-11.305%200,0%2018.354,0%2018.354,0%200,0%200,-8.097%200,-8.097%200,0%20-18.354,0%20-18.354,0%200,0%200,-10.914%200,-10.914%200,0%2021.538,0%2021.538,0%200,0%200,-8.084%200,-8.084%200,0%20-30.61,0%20-30.61,0%200,0%200,46.484%200,46.484%200,0%2030.61,0%2030.61,0zm-41.865%200c0,0%20-16.515,-28.019%20-16.515,-28.019%200,0%2015.408,-18.465%2015.408,-18.465%200,0%20-11.038,0%20-11.038,0%200,0%20-16.388,20.245%20-16.388,20.245%200,0%200,-20.245%200,-20.245%200,0%20-9.07,0%20-9.07,0%200,0%200,46.484%200,46.484%200,0%209.07,0%209.07,0%200,0%200,-13.969%200,-13.969%200,0%206.008,-7.183%206.008,-7.183%200,0%2011.958,21.152%2011.958,21.152%200,0%2010.567,0%2010.567,0l0%200zm-49.152%20-14.296c0,0%20-9.214,0%20-9.214,0%20-0.904,3.729%20-3.263,6.603%20-7.818,6.603%20-2.497,0%20-4.516,-0.921%20-5.825,-2.421%20-1.761,-1.953%20-2.28,-4.182%20-2.28,-13.126%200,-8.945%200.519,-11.164%202.28,-13.13%201.309,-1.501%203.328,-2.421%205.825,-2.421%204.556,0%206.914,2.873%207.818,6.606%200,0%209.214,0%209.214,0%20-1.63,-9.742%20-8.414,-14.707%20-17.111,-14.707%20-5.089,0%20-9.277,1.825%20-12.538,5.106%20-4.699,4.698%20-4.569,10.502%20-4.569,18.545%200,8.04%20-0.13,13.842%204.569,18.542%203.261,3.279%207.449,5.106%2012.538,5.106%208.62,0%2015.481,-4.98%2017.111,-14.703l0%200z%22/%3E%3C/svg%3E");

    --1vh: 1vh;
    --1vw: 1vw;
    --100vh: 100vh;
    --100vw: 100vw;

    --simple-material2-heigth: calc(147 * var(--100vw) / 1080);
    --simple-material2-margin: calc(42 * var(--100vw) / 1080);
    --floating-button-size: min(calc(var(--100vw)/9), calc((500 / 9)*1px));

--header-heigth: min(calc(147 * var(--100vw) / 1080), 4.9rem);
--designFarbe-0: #ffffff;
  --designFarbe-1: #e31e24;
  --designFarbe-2: blue;

    /* Mobile-Menü: rechter Freiraum schrumpft automatisch bis auf 0. */
    --mobile-menu-min-width: 13.125rem;
    --mobile-menu-gap: clamp(
        0px,
        calc(var(--100vw) - var(--mobile-menu-min-width)),
        var(--min-margin-side)
    );

}
@supports (height: 100dvh) {:root {--1vh: 1dvh; --100vh: 100dvh;}}
@supports (width: 100dvw) {:root {--1vw: 1dvw; --100vw: 100dvw;}}

/* montserrat-100 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-100.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-100.woff') format('woff');
}
/* montserrat-100italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-100italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-100italic.woff') format('woff');
}
/* montserrat-200 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-200.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-200.woff') format('woff');
}
/* montserrat-200italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-200italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-200italic.woff') format('woff');
}
/* montserrat-300 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-300.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-300.woff') format('woff');
}
/* montserrat-300italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-300italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-300italic.woff') format('woff');
}
/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-regular.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-regular.woff') format('woff');
}
/* montserrat-italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-italic.woff') format('woff');
}
/* montserrat-500 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-500.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-500.woff') format('woff');
}
/* montserrat-500italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-500italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-500italic.woff') format('woff');
}
/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-600.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-600.woff') format('woff');
}
/* montserrat-600italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-600italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-600italic.woff') format('woff');
}
/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-700.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-700.woff') format('woff');
}
/* montserrat-700italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-700italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-700italic.woff') format('woff');
}
/* montserrat-800 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-800.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-800.woff') format('woff');
}
/* montserrat-800italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-800italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-800italic.woff') format('woff');
}
/* montserrat-900 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-900.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-900.woff') format('woff');
}
/* montserrat-900italic - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/montserrat/montserrat-v25-latin-900italic.woff2') format('woff2'),
       url('fonts/montserrat/montserrat-v25-latin-900italic.woff') format('woff');
}

/* saira-extra-condensed-100 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-100.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-100.woff') format('woff');
}
/* saira-extra-condensed-200 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-200.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-200.woff') format('woff');
}
/* saira-extra-condensed-300 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-300.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-300.woff') format('woff');
}
/* saira-extra-condensed-regular - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-regular.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-regular.woff') format('woff');
}
/* saira-extra-condensed-500 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-500.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-500.woff') format('woff');
}
/* saira-extra-condensed-600 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-600.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-600.woff') format('woff');
}
/* saira-extra-condensed-700 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-700.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-700.woff') format('woff');
}
/* saira-extra-condensed-800 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-800.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-800.woff') format('woff');
}
/* saira-extra-condensed-900 - latin */
@font-face {
  font-family: 'Saira Extra Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('fonts/saira/saira-extra-condensed-v11-latin-900.woff2') format('woff2'),
       url('fonts/saira/saira-extra-condensed-v11-latin-900.woff') format('woff');
}

/* bebas-neue-regular - latin */
@font-face {
  font-family: 'BebasNeue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/bebas/bebas-neue-v9-latin-regular.woff2') format('woff2'),
       url('fonts/bebas/bebas-neue-v9-latin-regular.woff') format('woff');
}

body {
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: minmax(0, 1fr);
    min-height: var(--100vh);
    overflow-x: clip;
    font-family: arial;
    background-color: black;
}

#header {
    /* gemeinsame Geometrie für Menü-Hintergrund und Outside-Click-Ebene */
    --mainmenu-width: min(22rem, var(--100vw));

    --mainmenu-bg-clip: polygon(
        0 0,
        100% 0,
        100% var(--header-heigth),
        var(--mainmenu-width) var(--header-heigth),
        var(--mainmenu-width) 100%,
        0 100%
    );

    position: sticky;
    top: 0;
    margin: 0;

    display: flex;
    align-items: center;

    width: var(--100vw);
    height: var(--header-heigth);

    z-index: 999999;
}

#URG {
    margin-top: -7px;
    margin-left: 7.125rem;

    aspect-ratio: 350 / 180;
    width: 128px;
    background-image: url('data:image/svg+xml,<svg viewBox="0 0 350 180" xmlns="http://www.w3.org/2000/svg"><path style="fill:%23ce0000" d="m 297.26585,149.75854 c 18.401,0 34.162,-6.067 45.971,-13.941 1.684,-11.875 3.369,-23.75 5.053,-35.627 0.217,-3.048 -1.36,-4.795 -4.717,-5.033 l -41.368,0 -2.533,18.33 19.993,0 -1.517,10.972 c -4.539,2.452 -9.934,3.743 -16.743,3.743 -16.082,0 -26.082,-10.456 -24.066,-25.042 l 0.035,-0.258 c 1.909,-13.812 14.726,-24.784 29.359,-24.784 9.997,0 16.813,3.099 23.307,8.52 l 18.96,-17.684 c -9.579,-8.26 -21.506,-13.166 -39.326,-13.166 -31.439,0 -57.474,20.653 -61.113,46.986 l -0.036,0.258 c -3.781,27.364 17.158,46.726 48.741,46.726 z m -110.986,-29.172 8.446,0 0.289,0 16.647,27.365 32.453,0 -19.842,-31.495 c 19.565,-4.617 34.892,-32.557 18.658,-49.051 -4.926,-5.005 -12.587,-8.373 -23.665,-9.443 -0.182,0.296 -0.365,0.548 -0.565,0.779 0.207,0.314 0.422,0.67 0.643,0.93 0.376,0.366 1.139,0.814 1.582,1.09 0.803,0.501 1.658,1.001 2.401,1.585 l 5.001,3.928 c -3.752,0.032 -6.161,0.097 -9.908,-0.504 l -2.955,3.975 -2.326,-2.814 -0.125,-0.477 c -0.291,-1.114 -0.178,-2.225 -0.251,-3.344 -0.162,-0.356 -0.589,-1.013 -0.949,-1.473 -4.794,-0.201 -8.106,-1.977 -12.308,-4.041 l -7.405,0 c 0.968,0.934 1.839,1.97 2.583,3.114 2.179,3.346 3.008,7.296 2.283,11.223 -0.5,2.705 -1.679,5.18 -3.3,7.347 l 13.142,0 c 9.418,0 14.714,3.615 13.732,10.714 l -0.036,0.259 c -0.911,6.582 -6.986,10.713 -16.548,10.713 l -27.321,0 -0.236,1.585 c 1.46,0.74 2.907,1.538 4.254,2.441 4.306,2.887 6.137,8.065 5.942,13.077 -0.034,0.886 -0.143,1.723 -0.316,2.517 z m -155.410001,-30.531 -20,0 c -1.173,0 -2.263,0.896 -2.421,1.991 -0.159,1.095 0.672,1.991 1.845,1.991 l 20,0 c 1.173,0 2.262,-0.896 2.421,-1.991 0.158,-1.095 -0.672,-1.991 -1.845,-1.991 z m 23.636,-15.926 -5.733,0 c -1.173,0 -2.262,0.896 -2.421,1.991 -0.158,1.095 0.672,1.99 1.845,1.99 l 5.733,0 c 1.174,0 2.263,-0.895 2.422,-1.99 0.158,-1.095 -0.672,-1.991 -1.846,-1.991 z m -7.18,-7.963 -7.533,0 c -1.173,0 -2.263,0.896 -2.421,1.991 -0.158,1.095 0.672,1.99 1.845,1.99 l 7.533,0 c 1.174,0 2.262,-0.895 2.421,-1.99 0.158,-1.095 -0.672,-1.991 -1.845,-1.991 z m -15.132,0 c -3.11,0 -3.687,3.981 -0.576,3.981 1.173,0 2.262,-0.895 2.421,-1.99 0.158,-1.095 -0.672,-1.991 -1.845,-1.991 z m -28.553,23.64 c -1.556,0 -2.477,0.995 -2.621,1.991 -0.144,0.995 0.49,1.991 2.045,1.991 1.173,0 2.262,-0.896 2.421,-1.991 0.158,-1.095 -0.672,-1.991 -1.845,-1.991 z m 42.478,22.479 c -3.11,0 -3.686,3.982 -0.575,3.982 1.172,0 2.262,-0.896 2.42,-1.991 0.159,-1.095 -0.671,-1.991 -1.845,-1.991 z m -35.113,-7.963 c -3.11,0 -3.686,3.982 -0.576,3.982 1.174,0 2.263,-0.897 2.421,-1.992 0.159,-1.094 -0.671,-1.99 -1.845,-1.99 z m 14.786,-6.565 c -1.555,0 -2.477,0.995 -2.621,1.991 -0.144,0.995 0.49,1.991 2.045,1.991 1.173,0 2.262,-0.896 2.421,-1.991 0.158,-1.095 -0.672,-1.991 -1.845,-1.991 z m 79.062001,52.225 c 15.882,0 29.218,-3.881 38.671,-12.24 0.425,-2.113 1.614,-4.125 3.307,-5.974 1.048,-1.142 2.675,-2.239 4.386,-3.212 3.165,-5.157 5.421,-11.298 6.637,-18.485 -0.864,-0.423 -1.73,-0.839 -2.598,-1.252 -3.872,-1.842 -7.192,-5.062 -9.029,-8.949 -1.828,-3.867 -2.095,-8.267 -0.005,-12.088 1.528,-2.793 4.366,-4.913 7.072,-6.481 l 0.044,-0.026 0.046,-0.023 c 0.875,-0.456 1.89,-0.815 2.82,-1.146 1.319,-0.469 2.649,-0.91 3.975,-1.357 0.378,-0.128 0.756,-0.256 1.135,-0.384 l 0.128,-1.648 c 0.414,-5.317 0.844,-10.633 1.292,-15.947 l -1.097,-0.465 c -0.855,-0.362 -1.708,-0.729 -2.558,-1.104 -0.838,-0.37 -1.665,-0.789 -2.475,-1.252 l -16.337,0 c -2.308,0.17 -3.804,1.166 -4.172,3.308 l -6.572,47.549 c -1.748,12.65 -9.957,18.588 -21.258,18.588 -10.324001,0 -16.937001,-5.501 -16.233001,-15.915 l 7.322,-50.573 c 0.237,-1.641 -1.009,-2.986 -2.768,-2.986 l -22.984,-0.011 c -1.759,0 -3.394,1.344 -3.632,2.986 l -0.799,4.971 -14.98,0.3 c -1.173,0 -2.262,0.896 -2.421,1.991 -0.158,1.095 0.673,1.99 1.845,1.99 l 15.813,0 c 1.172,0 2.003,0.896 1.845,1.991 -0.159,1.095 -1.248,1.991 -2.422,1.991 l -7.679,0 c -1.174,0 -2.263,0.896 -2.422,1.991 -0.158,1.095 0.672,1.99 1.846,1.99 l 15.865,0 c 1.174,0 2.004,0.896 1.845,1.991 -0.158,1.095 -1.247,1.99 -2.421,1.99 -15.244,0 -30.487,0 -45.731,0 -1.174,0 -2.263,0.897 -2.422,1.992 -0.158,1.095 0.672,1.99 1.845,1.99 6.756,0 9.991,0 16.747,0 1.173,0 2.003,0.896 1.845,1.991 -0.158,1.096 -1.248,1.991 -2.421,1.991 l -6.613,0 c -1.173,0 -2.263,0.896 -2.422,1.991 -0.158,1.095 0.672,1.991 1.845,1.991 l 13.6,0 c 1.173,0 2.003,0.895 1.845,1.99 -0.148,1.023 -1.108,1.872 -2.189,1.979 l -18.794,0 c -1.173,0 -2.263,0.896 -2.421,1.992 -0.158,1.094 0.672,1.99 1.845,1.99 l 7.186,0 -0.338,2.334 -21.82,0 c -1.174,0 -2.263,0.896 -2.422,1.99 -0.158,1.095 0.672,1.992 1.845,1.992 l 52.041,0 c 1.174,0 2.004,0.895 1.846,1.99 -0.159,1.095 -1.248,1.991 -2.422,1.991 l -12.999,0 c -1.174,0 -2.263,0.896 -2.421,1.991 -0.158,1.095 0.672,1.991 1.845,1.991 l 8.013,0 c 1.173,0 2.004,0.896 1.845,1.991 -0.158,1.095 -1.248,1.99 -2.422,1.99 -8.933,0 -12.746,0 -21.678,0 -1.174,0 -2.263,0.896 -2.422,1.991 -0.158,1.095 0.672,1.991 1.846,1.991 l 24.859,-0.114 c -0.233,8.167 3.666,13.545 10.091,18.161 7.235,5.197 17.355,7.705 29.936001,7.705 z"/><path style="fill:%239d9e9e" d="m 198.55285,47.57254 c 1.813,0.92 3.495,3.164 1.43,4.153 -1.912,0.447 -3.882,-2.107 -3.702,-3.082 0.162,-0.873 0.507,-1.707 2.272,-1.071 z m -14.364,-13.041 c -0.008,0.046 -0.015,0.092 -0.022,0.138 2.426,1.136 6.934,3.828 7.08,6.332 -2.408,-1.271 -4.964,-2.276 -7.6,-3.012 l -1.062,6.789 -0.036,-0.002 c -0.42,3.068 -0.844,6.123 -1.272,9.168 0.617,0.227 1.235,0.459 1.857,0.699 18.16,6.995 15.113,27.192 -6.693,32.519 l -2.485,16.666 c 1.997,0.969 3.9,1.971 5.457,3.016 3.741,2.507 5.116,7.026 4.956,11.138 -0.304,7.815 -7.467,11.399 -14.541,14.034 -0.741,5.181 -1.472,10.4 -2.193,15.667 0.87,0.465 1.724,0.959 2.536,1.493 6.34,4.165 5.766,11.168 0.405,15.603 -1.56,1.29 -3.538,2.283 -5.589,3.023 -0.219,1.737 -0.437,3.482 -0.652,5.234 -0.625,5.091 -2.834,5.752 -5.039,5.854 -2.342,0.109 -4.652,-0.654 -4.024,-6.005 l 0.378,-3.273 c -1,0.014 -1.713,-0.072 -1.988,-0.239 -0.697,-0.425 -0.904,-1.449 -0.071,-2.412 3.631,-0.959 15.034,-2.411 13.509,-7.852 -0.126,-0.448 -0.408,-0.9 -0.816,-1.36 l -0.36,2.763 c -0.801,0.834 -2.219,1.941 -4.55,2.724 -1.479,0.496 -3.493,0.878 -5.149,1.245 1.012,-9.311 1.922,-18.667 2.752,-28.005 l 0.009,-0.107 0.011,-0.109 -0.003,0.005 c -1.536,0.867 -3.42,2.373 -3.129,4.103 l -0.544,10.209 c -7.156,-4.395 -13.687,-9.835 -6.845,-17.303 1.485,-1.62 4.909,-3.45 8.447,-5.111 6.891,-2.537 16.099,-4.31 15.01,-11.897 0,0 -1.441,3.614 -6.036,5.566 -1.569,0.666 -3.811,1.534 -5.876,2.37 0.875,-10.847 1.699,-21.693 2.518,-32.541 -1.618,0.989 -2.521,2.102 -2.511,3.432 l -0.987,13.076 c -0.924,-0.453 -1.868,-0.907 -2.826,-1.363 -7.105,-3.381 -11.473,-11.671 -8.036,-17.954 1.18,-2.156 3.477,-4.024 6.234,-5.622 4.378,-2.277 30.049,-8.278 26.014,-15.627 -0.238,-0.435 -0.548,-0.842 -0.925,-1.232 l 0,-10e-4 c 0,0 -1.902,4.769 -7.965,7.345 -2.099,0.89 -5.115,2.058 -7.871,3.175 0.962,-12.345 2.005,-24.704 3.187,-37.044 -1.934,1.072 -3.208,2.505 -3.233,4.17 l -1.113,14.236 c -0.819,-0.346 -1.661,-0.709 -2.527,-1.091 -11.096,-4.898 -16.941,-17.283 -9.518,-23.495 9.2,-8.714 31.992,-9.069 45.207,-2.605 6.891,2.791 10.604,6.047 11.303,6.338 0.008,0.004 11.639,1.062 11.746,10.171 l -0.026,2.991 c -0.035,1.768 -0.252,4.243 -1.134,5.897 -1.286,2.41 -2.513,0.965 -0.833,3.34 0.271,0.382 0.747,1.152 1.018,1.425 0.849,0.853 3.09,2 4.207,2.877 -0.596,0.005 -1.426,-0.221 -2.222,-0.378 l -2.29,-0.367 -2.066,2.779 -0.201,-0.243 c -0.212,-0.811 -0.12,-2.225 -0.202,-3.171 -0.054,-0.612 -1.4,-2.683 -2.193,-3.294 -5.187,0.013 -8.447,-1.976 -13.15,-4.252 -8.433,-4.081 -8.924,-7.969 -6.113,-13.239 -0.113,-0.82 -1.264,-2.35 -1.971,-3.15 -1.84,-2.082 -4.438,-3.417 -7.353,-4.254 z m -4.099,-33.387 -0.924,-0.043 c -7.405,-0.135 -13.948,4.881 -14.729,11.38 -0.467,3.892 1.237,7.451 4.26,9.801 -0.05,0.445 -0.1,0.89 -0.15,1.336 5.842,-0.73 11.089,-0.537 16.673,0.811 0.058,-0.455 0.115,-0.911 0.173,-1.367 3.544,-2.04 6.076,-5.398 6.543,-9.287 0.781,-6.499 -4.492,-12.07 -11.846,-12.631 z"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100px;
    z-index: 99999;
}

.mainmenubutton > summary {list-style: none;}
.mainmenu summary::-webkit-details-marker {display: none;}

.mainmenu > ul {display: flex; padding: 0 !important;margin:0;}
.mainmenu > ul > li {list-style: none;}
.mainmenu > ul > li > a {
    text-transform: uppercase;
    font-size:1.4rem;
    font-weight:400;
    font-family: 'Montserrat';
    color:white;
    text-decoration: none;
    margin: 3px !important;
}

#footer {
    display: flex;
    justify-content: center;
}
#footer > a {
  color: white;
  font-size: min(calc(3 * var(--1vw)), 1.25rem);
  text-transform: uppercase;
  padding: .6rem .7825rem .3rem .7825rem !important;
  text-decoration: none;
}

.mainmenubutton {
    width: 94px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
    position: relative;
}

.mainmenubutton .mainmenubutton_content {
    width: 100%;
    height: 60px;
    padding: 0 33px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
}
.mainmenubutton::before {
    content: '';
    width: 30px;
    height: 2px;
    position: absolute;
    left: 33px;
    top: calc(50% - 1px);
    background: #fff;
    transform: translateY(-8px);
    transition: 0.5s;
    z-index: 10000;
    pointer-events: none;
}
.mainmenubutton[open]::before {
    transform: translateY(0px) rotate(135deg);
}
.mainmenubutton::after {
    content: '';
    width: 30px;
    height: 2px;
    position: absolute;
    left: 33px;
    top: calc(50% - 1px);
    background: #fff;
    transform: translateY(8px);
    box-shadow: 0 -8px 0 #fff;
    transition: all 0.5s, box-shadow 0.2s;
    transition-delay: 0s, 0.3s;
    z-index: 10000;
    pointer-events: none;
}
.mainmenubutton[open]::after {
    transform: translateY(0px) rotate(-135deg);
    box-shadow: -30px -8px 10px transparent;
    transition: all 0.5s, box-shadow 0s;
    transition-delay: 0s, 0s;
}

.mainmenubutton:hover::before,
.mainmenubutton:hover::after,
.mainmenubutton[open]::before,
.mainmenubutton[open]::after {
  background: var(--designFarbe-1);
}

.mainmenubutton:hover::after {
  box-shadow: 0 -8px 0 var(--designFarbe-1);
}
.mainmenubutton[open]:hover::after {
  box-shadow: 0 -8px 0 transparent;
}

.mainmenubutton .mainmenubutton_content::after {
    content: '';
    display: none;
    width: auto;
    height: auto;
    position: static;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}
.mainmenubutton[open] .mainmenubutton_content::after {
    display: block;
    position: fixed;
    inset: 0;

    width: auto;
    height: auto;

    /* Menü und Header bleiben anklickbar; nur "außerhalb" schließt. */
    clip-path: inset(
       /* var(--header-heigth) */
        0
        0
        0
        var(--mainmenu-width)
    );

    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;

    z-index: 9998;
    cursor: default;
    pointer-events: auto;
}

.mainmenu {
    position: fixed;
    top: var(--header-heigth);
    left: calc(-1 * var(--mainmenu-width));
    width: var(--mainmenu-width);
    height: calc(var(--100vh) - var(--header-heigth));
    z-index: 9999;
    overflow: visible;
    transform: translateX(0);
    transition: transform .5s;
    isolation: isolate;
}

.mainmenubutton[open] + .mainmenu,
.mainmenu:focus-within {
    transform: translateX(100%);
}
.mainmenu::before {
    content: "";
    position: absolute;
    top: calc(-1 * var(--header-heigth));
    left: 0;
    width: calc(var(--100vw) + var(--mainmenu-width));
    height: var(--100vh);
    background-color: #44444466;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(13px);
    clip-path: var(--mainmenu-bg-clip);
    z-index: -1;
    pointer-events: none;
}

.mainmenu > ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-y: auto;
}

.mainmenu > ul > li {
    display: flex;
    flex: 1 1 0;
    min-height: 5.2rem;
    max-height: 8.25rem;
    margin: 0;
    border-bottom: .15rem solid;
}

.mainmenu > ul > li:last-child {
    border-bottom: none;
}

.mainmenu > ul > li > a {
    display: flex;
    flex: 1;
    align-items: center;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .30)) drop-shadow(0 0 3px rgba(0, 0, 0, .24)) drop-shadow(0 0 8px rgba(0, 0, 0, .18));
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15), 0 0 3px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.09);
}

.mainmenu > ul > li.current.active > a,
.mainmenu > ul > li > a:hover {
    color: red;
   /*! font-weight: 500; */
}

.social {
  width: 2.5em;
  height: 2.5em;
  display: flex;
  justify-content: center; /* horizontal mittig */
  transition-duration: 0.6s;
  box-shadow: 0.1em 0em 0 -0.3em var(--designFarbe-1);
  z-index: 9999;
}

.social:hover {
  box-shadow: 0em -0.44rem 0 -0.3rem var(--designFarbe-1);
  transition-property: box-shadow;
  transition-duration: 0.3s;
}

.social a:hover {color: red;}

.social a {
  content: "";
  width: 1.5rem;
  background-color: currentColor;
  -webkit-mask: var(--icon-svg) center / contain no-repeat;
  mask: var(--icon-svg) center / contain no-repeat;
}

.facebook a {
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cstyle%3E.fil0%7Bfill:%23fefefe%7D%3C/style%3E%3Cpath%20class=%22fil0%22%20d=%22M272%20192l0%2072%20-65%200%200%2062%2065%200%200%20146%20-210%200c-13.113,0%20-22,-8.888%20-22,-22l0%20-388c0,-13.112%208.887,-22%2022,-22l388%200c13.112,0%2022,8.888%2022,22l0%20388c0,13.112%20-8.888,22%20-22,22l-116%200%200%20-146%2062%200c3.98,0%202.935,-4.478%203.999,-14%200.603,-5.392%201.515,-10.647%201.973,-16.028l4.028%20-31.972%20-72%200%200%20-63c0,-20.544%2010.885,-34%2032,-34l43%200%200%20-56c0,-4.652%20-9.358,-3.153%20-19.422,-4.578%20-34.035,-4.819%20-65.503,0.749%20-89.833,25.323%20-8.426,8.512%20-13.008,14.843%20-18.414,25.586%20-4.672,9.283%20-9.331,21.224%20-9.331,34.669zm-272%20-137l0%20402c0,16.651%2011.332,33.666%2024.404,43.596%207.521,5.714%2020.619,11.404%2030.596,11.404l402%200c9.625,0%2022.415,-5.512%2030.019,-10.981%206.245,-4.493%209.005,-7.389%2013.573,-13.427%205.711,-7.549%2011.408,-21.005%2011.408,-30.592l0%20-402c0,-10.016%20-5.523,-22.457%20-10.992,-30.009%20-5.825,-8.044%20-13.086,-14.46%20-21.977,-19.023%20-4.347,-2.231%20-15.511,-5.968%20-22.031,-5.968l-402%200c-16.691,0%20-33.525,11.084%20-43.586,24.414%20-5.923,7.848%20-11.414,20.478%20-11.414,30.586z%22/%3E%3C/svg%3E");
}
.instagram a {
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20448%20512%22%3E%3Cstyle%3Epath%7Bfill:%23fefefe%7D%3C/style%3E%3Cpath%20d=%22M224.1%20141c-63.6%200-114.9%2051.3-114.9%20114.9s51.3%20114.9%20114.9%20114.9S339%20319.5%20339%20255.9%20287.7%20141%20224.1%20141zm0%20189.6c-41.1%200-74.7-33.5-74.7-74.7s33.5-74.7%2074.7-74.7%2074.7%2033.5%2074.7%2074.7-33.6%2074.7-74.7%2074.7zm146.4-194.3c0%2014.9-12%2026.8-26.8%2026.8-14.9%200-26.8-12-26.8-26.8s12-26.8%2026.8-26.8%2026.8%2012%2026.8%2026.8zm76.1%2027.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9%200-35.8%201.7-67.6%209.9-93.9%2036.1s-34.4%2058-36.2%2093.9c-2.1%2037-2.1%20147.9%200%20184.9%201.7%2035.9%209.9%2067.7%2036.2%2093.9s58%2034.4%2093.9%2036.2c37%202.1%20147.9%202.1%20184.9%200%2035.9-1.7%2067.7-9.9%2093.9-36.2%2026.2-26.2%2034.4-58%2036.2-93.9%202.1-37%202.1-147.8%200-184.8zM398.8%20388c-7.8%2019.6-22.9%2034.7-42.6%2042.6-29.5%2011.7-99.5%209-132.1%209s-102.7%202.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7%209-132.1c7.8-19.6%2022.9-34.7%2042.6-42.6%2029.5-11.7%2099.5-9%20132.1-9s102.7-2.6%20132.1%209c19.6%207.8%2034.7%2022.9%2042.6%2042.6%2011.7%2029.5%209%2099.5%209%20132.1s2.7%20102.7-9%20132.1z%22/%3E%3C/svg%3E");
}

.icon-envelope-solid::before,
.icon-comments-solid::before,
.icon-file-solid::before,
.icon-circle-up-solid::before,
.icon-plus-solid::before,
.icon-xmark-solid::before,
.icon-forward-solid::before,
.icon-backward-solid::before,
.icon-pause-solid::before,
.icon-play-solid::before,
.icon-minus-solid::before,
.icon-repeat-solid::before,
.mainmenu > ul > .item-101 > a::before,
.mainmenu > ul > .item-104 > a::before,
.mainmenu > ul > .item-103 > a::before,
.mainmenu > ul > .item-105 > a::before,
.mainmenu > ul > .item-108 > a::before,
.mainmenu > ul > .item-109 > a::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1 / 1;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: var(--icon-svg) center / contain no-repeat;
  mask: var(--icon-svg) center / contain no-repeat;
}

.mainmenu > ul > .item-101 > a::before,
.mainmenu > ul > .item-104 > a::before,
.mainmenu > ul > .item-103 > a::before,
.mainmenu > ul > .item-105 > a::before,
.mainmenu > ul > .item-108 > a::before,
.mainmenu > ul > .item-109 > a::before {
  height: 2.4rem;
  padding-right: 3.25rem;
}

.mainmenu > ul > .item-101 > a::before { /* Home */
  --icon-width: 1.125;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201125%201000%27%3E%3Cpath%20d%3D%27M1125%20351c0-35-30-63-63-63h-62l1-313c0-5%200-10-1-15v-32c0-43-35-78-78-78h-31c-2%200-5%200-7%200-3%200-5%200-8%200h-63-47c-43%200-78%2035-78%2078v47%20125c0%2035-28%2063-63%2063h-125c-35%200-62-28-62-63v-125-47c0-43-35-78-79-78h-46-63c-3%200-6%200-9%200-2%200-4%200-7%200h-31c-43%200-78%2035-78%2078v219c0%202%200%204%200%205v136h-62c-36%200-63%2028-63%2063%200%2018%206%2033%2020%2047l500%20436c14%2014%2030%2016%2043%2016s30-4%2041-14l499-438c16-14%2024-29%2022-47z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.mainmenu > ul > .item-104 > a::before { /* Rettungswachen */
  --icon-width: 1.25;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201250%201000%27%3E%3Cpath%20d%3D%27M141%20678a109%20109%200%201%200%20218%200%20109%20109%200%201%200-218%200z%20m-16-308c-19-22-31-51-31-82s12-61%2031-83v165z%20m282%2096c-58-51-94-126-94-210%200-67%2023-128%2062-176v-42c0-35-28-63-62-63h-125c-35%200-63%2028-63%2063v52c-74%2035-125%20110-125%20198%200%20120%2098%20218%20219%20218h62c47%200%2091-14%20126-39z%20m468-428v42c39%2048%2063%20109%2063%20176%200%2084-37%20159-95%20211%2036%2025%2079%2039%20126%2039h62c121%200%20219-98%20219-218%200-88-51-163-125-198v-52c0-35-28-63-62-63h-125c-35%200-63%2028-63%2063z%20m16%20640a109%20109%200%201%200%20218%200%20109%20109%200%201%200-218%200z%20m234-308v-165c20%2022%2031%2051%2031%2082s-11%2061-31%2083z%20m-500%20418a125%20125%200%201%200%200-250%20125%20125%200%201%200%200%20250z%20m-156-532c0-31%2012-60%2031-82v165c-19-22-31-51-31-83z%20m281%2083v-166c20%2023%2031%2051%2031%2083s-11%2061-31%2083z%20m125-83c0-87-51-162-125-197v-84c0-35-28-63-62-63h-125c-35%200-63%2028-63%2063v84c-74%2035-125%20110-125%20197%200%20121%2098%20219%20219%20219h62c121%200%20219-98%20219-219z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.mainmenu > ul > .item-103 > a::before { /* Karriere */
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M244-11c-23%200-49-29-49-54l0-40c0-6-1-14%208-14l40%200c0%200%20554%200%20554%200%205%200%208%202%208%2011l0%2037c0%209%200%2014-2%2022-5%2018-30%2038-47%2038%200%200-504%200-512%200z%20m442%20493c-48%2055-115%2085-184%2085-102%200-229-99-250-222-14-86-3-197-4-288%200-24%202-32%2026-31%20145%202%20290-2%20435%200%208%200%2019-1%2027%200%208%201%2013%204%2015%2013%202%208%201%2020%201%2028%200%2081%206%20185-2%20262-7%2062-31%20114-64%20153%200%200-56-45-56-45%2050-55%2078-137%2058-210-34%20115-102%20213-217%20278%2059%207%20117-22%20159-68%200%200%2056%2045%2056%2045z%20m-488-186c0-14-12-25-22-25%200%200-140%200-140%200-10%200-20%2013-20%2025%200%2013%208%2027%2020%2027%200%200%20140%200%20140%200%2010%200%2022-15%2022-27z%20m88%20236c-10-10-27-10-34-3%200%200-99%20100-99%20100-7%206-4%2023%204%2031%2010%2010%2025%2014%2033%206%200%200%20100-99%20100-99%207-8%204-27-4-35z%20m215%20280c14%200%2025-12%2025-22%200%200%200-140%200-140%200-10-13-20-25-20-13%200-27%208-27%2020%200%200%200%20140%200%20140%200%2010%2015%2022%2027%2022z%20m342-151c10-10%2010-27%202-34%200%200-99-99-99-99-7-7-23-4-31%204-10%209-14%2025-6%2033%200%200%2099%2099%2099%2099%207%207%2026%205%2035-3z%20m141-365c0-14-11-26-22-26%200%200-140%200-140%200-9%200-19%2014-19%2025%200%2014%208%2028%2020%2028%200%200%20140%200%20140%200%2010%200%2021-15%2021-27z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.mainmenu > ul > .item-105 > a::before { /* Kontakt */
  --icon-width: 1.25;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201250%201000%27%3E%3Cpath%20d%3D%27M406%20163c225%200%20407%20153%20407%20343s-182%20344-407%20344-406-154-406-344c0-75%2029-145%2077-202-6-18-17-34-27-48-10-12-19-21-26-28-4-3-7-5-9-7-1-1-1-1-2-2l0%200%200%200%200%200c-11-8-16-22-11-35s16-21%2029-21c43%200%2086%2010%20122%2024%2018%207%2034%2014%2049%2022%2060-29%20130-46%20204-46z%20m469%20343c0-219-194-384-423-404%2048-145%20205-252%20392-252%2074%200%20144%2017%20204%2047%2015-8%2032-16%2050-23%2035-13%2078-24%20121-24%2013%200%2025%209%2029%2022%205%2013%200%2027-11%2035l0%200%200%200%200%200c-1%200-1%201-2%202-2%201-5%203-9%207-7%206-16%2016-26%2028-10%2013-21%2030-27%2048%2048%2057%2077%20126%2077%20202%200%20181-166%20330-376%20343%200-10%201-20%201-31z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.mainmenu > ul > .item-108 > a::before { /* Impressum */
  --icon-width: 1.125;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201125%201000%27%3E%3Cpath%20d%3D%27M563%20788c-158%200-285-72-377-158-91-85-152-186-181-256-7-15-7-33%200-48%2029-70%2090-171%20181-256%2092-86%20219-158%20377-158s284%2072%20376%20158c91%2085%20152%20186%20181%20256%207%2015%207%2033%200%2048-29%2070-90%20171-181%20256-92%2086-219%20158-376%20158z%20m-282-438a281%20281%200%201%200%20563%200%20281%20281%200%201%200-563%200z%20m282%20125c0-69-57-125-125-125-14%200-28%202-40%206-11%204-23-3-23-14%201-13%203-27%206-40%2027-100%20130-160%20230-133s159%20130%20133%20230c-22%2081-94%20135-173%20139-12%200-18-12-15-23%204-13%207-26%207-40z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.mainmenu > ul > .item-109 > a::before { /* Datenschutz */
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M500%20850c9%200%2018-2%2026-6l368-156c43-18%2075-60%2075-111-1-194-81-549-417-710-33-15-71-15-104%200-336%20161-416%20516-417%20710%200%2051%2032%2093%2075%20111l368%20156c8%204%2017%206%2026%206z%20m0-130v-739c270%20131%20342%20420%20344%20593l-344%20146%200%200z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}

.icon-envelope-solid::before {
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M94%20725c-52%200-94-42-94-94%200-29%2014-57%2038-75l425-318c22-17%2052-17%2075%200l425%20318c23%2018%2037%2046%2037%2075%200%2052-42%2094-94%2094h-812z%20m-94-219v-406c0-69%2056-125%20125-125h750c69%200%20125%2056%20125%20125v406l-425-318c-44-34-105-34-150%200l-425%20318z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-file-solid::before {
  --icon-width: 0.75;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20750%201000%27%3E%3Cpath%20d%3D%27M0%20725c0%2069%2056%20125%20125%20125h313v-250c0-35%2027-62%2062-62h250v-563c0-69-56-125-125-125h-500c-69%200-125%2056-125%20125v750z%20m750-125h-250v250l250-250z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-circle-up-solid::before {
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M500-150a500%20500%200%201%201%200%201000%20500%20500%200%201%201%200-1000z%20m-236%20575l209%20196c8%206%2017%2010%2027%2010s20-4%2027-10l209-196c9-8%2014-19%2014-31%200-24-19-44-44-44h-112v-187c0-35-28-63-63-63h-62c-35%200-63%2028-63%2063v187h-112c-24%200-44%2020-44%2044%200%2012%205%2023%2014%2031z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-plus-solid::before {
  --icon-width: 0.875;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20875%201000%27%3E%3Cpath%20d%3D%27M500%20694c0%2034-28%2062-62%2062s-63-28-63-62v-281h-281c-35%200-63-28-63-63s28-62%2063-62h281v-282c0-34%2028-62%2063-62s62%2028%2062%2062v282h281c35%200%2063%2027%2063%2062s-28%2063-63%2063h-281v281z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-xmark-solid::before {
  --icon-width: 0.75;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20750%201000%27%3E%3Cpath%20d%3D%27M669%20556c25%2024%2025%2064%200%2088s-64%2025-88%200l-206-205-206%20205c-24%2025-64%2025-88%200s-25-64%200-88l206-206-206-206c-25-24-25-64%200-88s64-25%2088%200l206%20206%20206-206c24-25%2064-25%2088%200s25%2064%200%2088l-205%20206%20205%20206z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-forward-solid::before {
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M103-11c-19-15-45-19-67-8s-36%2032-36%2057v625c0%2024%2014%2046%2036%2056s48%207%2067-8l335-280v-81-81l-335-280z%20m397%20174v187%20250%2063c0%2024%2014%2046%2036%2056s48%207%2067-8l375-313c14-12%2022-29%2022-48s-8-36-22-48l-375-313c-19-15-45-19-67-8s-36%2032-36%2057v125z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-backward-solid::before {
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M898-11c18-15%2044-19%2066-8s36%2032%2036%2057v625c0%2024-14%2046-36%2056s-48%207-66-8l-335-280v-81-81l335-280z%20m-398%20174v187%20250%2063c0%2024-14%2046-36%2056s-48%207-66-8l-375-313c-15-12-23-29-23-48s8-36%2023-48l375-313c18-15%2044-19%2066-8s36%2032%2036%2057v125z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-pause-solid::before {
  --icon-width: 0.625;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20625%201000%27%3E%3Cpath%20d%3D%27M94%20725c-52%200-94-42-94-94v-562c0-52%2042-94%2094-94h62c52%200%2094%2042%2094%2094v562c0%2052-42%2094-94%2094h-62z%20m375%200c-52%200-94-42-94-94v-562c0-52%2042-94%2094-94h62c52%200%2094%2042%2094%2094v562c0%2052-42%2094-94%2094h-62z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-play-solid::before {
  --icon-width: 0.75;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20750%201000%27%3E%3Cpath%20d%3D%27M143%20774c-29%2018-66%2018-95%202s-48-48-48-82v-688c0-34%2018-65%2048-82s66-15%2095%202l562%20344c28%2017%2045%2047%2045%2080s-17%2063-45%2080l-562%20344z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-minus-solid::before {
  --icon-width: 0.875;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20875%201000%27%3E%3Cpath%20d%3D%27M844%20350c0-35-28-62-63-62l-687%200c-35%200-63%2027-63%2062s28%2063%2063%2063l687%200c35%200%2063-28%2063-63z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}
.icon-repeat-solid::before {
  --icon-width: 1;
  --icon-svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201000%201000%27%3E%3Cpath%20d%3D%27M0%20413c0-35%2028-63%2063-63s62%2028%2062%2063c0%20103%2084%20187%20188%20187h312v-62c0-26%2015-48%2039-58s50-5%2068%2013l125%20125c24%2025%2024%2064%200%2089l-125%20125c-18%2018-45%2023-68%2013s-39-32-39-57v-63h-312c-173%200-313-140-313-312z%20m1000-125c0%2034-28%2062-62%2062s-63-28-63-62c0-104-84-188-187-188h-313v63c0%2025-15%2048-39%2057s-50%205-68-13l-125-125c-24-25-24-64%200-89l125-125c18-18%2045-23%2068-13s39%2032%2039%2058v62h313c172%200%20312%20140%20312%20313z%27%20transform%3D%27translate%280%20850%29%20scale%281%20-1%29%27%2F%3E%3C%2Fsvg%3E");
}

:root {

  --designIconPlay: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cstyle%3E.fil0%7Bfill:%23ffffff66%7D.fil1%7Bfill:%23e31e24;fill-rule:nonzero%7D%3C/style%3E%3Ccircle%20class=%22fil0%22%20cx=%22256%22%20cy=%22256%22%20r=%22192%22/%3E%3Cpath%20class=%22fil1%22%20d=%22M240.35%20191.62c-21.304,-12.302%20-38.735,-2.232%20-38.735,22.371%200,24.608%200,64.86%200,89.466%200,24.608%2017.431,34.665%2038.735,22.36%2021.312,-12.299%2056.18,-32.43%2077.495,-44.728%2021.316,-12.305%2021.316,-32.43%200,-44.735%20-21.315,-12.306%20-56.183,-32.437%20-77.495,-44.734z%22/%3E%3C/svg%3E");
  --designIconPlayHover: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cstyle%3E.fil0%7Bfill:%23ffffffff%7D.fil1%7Bfill:%23e31e24;fill-rule:nonzero%7D%3C/style%3E%3Ccircle%20class=%22fil0%22%20cx=%22256%22%20cy=%22256%22%20r=%22192%22/%3E%3Cpath%20class=%22fil1%22%20d=%22M240.35%20191.62c-21.304,-12.302%20-38.735,-2.232%20-38.735,22.371%200,24.608%200,64.86%200,89.466%200,24.608%2017.431,34.665%2038.735,22.36%2021.312,-12.299%2056.18,-32.43%2077.495,-44.728%2021.316,-12.305%2021.316,-32.43%200,-44.735%20-21.315,-12.306%20-56.183,-32.437%20-77.495,-44.734z%22/%3E%3C/svg%3E");

  --header-heigth: min(calc(147 * var(--100vw) / 1080), 4.9rem);
  --min-margin-side: min(calc(6.7*var(--1vw)), 3.5rem);
  /* 3. Artikeltypografie: gemeinsame Intro-Werte (Referenz Karriere) */
  --intro-links: calc(5 * var(--1vw));
  --intro-oben: calc(calc(25 * var(--1vh)) - var(--header-heigth));
  --intro-links-mobil: var(--min-margin-side);
  --intro-oben-mobil: 1.5rem;
  --body-line-height: 1.5;
  --bg-dark: black;
}

.com-content-article__body {
  padding: calc(min(calc(3.5 * var(--1vw)), 5rem) + 24px) 0;
  max-width: 64rem;
  width: calc(var(--100vw) - var(--min-margin-side) - var(--min-margin-side));
  margin-inline: auto;

  line-height: var(--body-line-height);
}
.com-content-article__body * {font-family: 'Montserrat';}

h1, .h1 {font-size: min(calc(1.375rem + (var(--1vw)*1.5)), 2.5rem);}
h2, .h2 {font-size: min(calc(1.325rem + (var(--1vw)*.9)), 2rem);}
h3, .h3 {font-size: min(calc(1.3rem + (var(--1vw)*.6)), 1.75rem);}
h4, .h4 {font-size: min(calc(1.275rem + (var(--1vw)*.3)), 1.5rem);}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  color: var(--heading-color);
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 700;
  line-height: 1.2;
}

body.itemid-108 div > h3 {
  margin-top: 5rem;
}

/* Impressum und Datenschutz: nur auf Mobilgeräten an Karriere ausrichten.
   Ab 50rem bleibt das ursprüngliche Desktop-Layout unverändert. */
@media (max-width: 49.999rem) {
  body:is(.itemid-108, .itemid-109) .com-content-article__body {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: var(--intro-oben-mobil) var(--intro-links-mobil) 4rem;
  }

  /* Die erste Impressum-Überschrift soll nicht zusätzlich 5rem abrücken. */
  body.itemid-108 .com-content-article__body > h3:first-child,
  body.itemid-108 .com-content-article__body > div:first-child > h3:first-child {
    margin-top: 0;
  }
}

@media (prefers-color-scheme: dark) {                                                                    /* Dark Mode */
        :root {
          --input-border: #444;
          --designIconLupeKw:            url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cstyle%3E.fil0%20%7Bfill:%23999999%7D%3C/style%3E%3Cpath%20class=%22fil0%22%20d=%22M216.824%20387.31c47.085,0%2089.696,-19.071%20120.535,-49.905%2030.842,-30.837%2049.914,-73.447%2049.914,-120.522%200,-47.139%20-19.074,-89.799%20-49.921,-120.655%20-30.792,-30.803%20-73.398,-49.858%20-120.528,-49.858%20-47.122,0%20-89.729,19.057%20-120.526,49.863%20-30.845,30.855%20-49.923,73.513%20-49.923,120.65%200,47.072%2019.076,89.68%2049.917,120.517%2030.841,30.837%2073.455,49.91%20120.532,49.91zm147.669%20-22.775c-37.786,37.779%20-89.99,61.145%20-147.669,61.145%20-57.672,0%20-109.879,-23.368%20-147.666,-61.15%20-37.787,-37.782%20-61.158,-89.982%20-61.158,-147.647%200,-57.626%2023.373,-109.826%2061.164,-147.629%2037.832,-37.844%2090.041,-61.254%20147.66,-61.254%2057.628,0%20109.834,23.408%20147.662,61.249%2037.792,37.804%2061.162,90.006%2061.162,147.634%200,57.667%20-23.367,109.869%20-61.155,147.652z%22/%3E%3Cpolygon%20class=%22fil0%22%20points=%22365.77,338.68%20504,476.87%20476.867,504%20338.637,365.81%20%22/%3E%3C/svg%3E");
          --ec-gradient: linear-gradient(0deg, #000000BB 0%, #00000033 100%);
        }
        body * {color: white;}
        html, body, button, textarea, select {color-scheme: dark;background: var(--bg-dark);border-color: var(--input-border);}
        #textsuche {background-image: var(--designIconLupeKw);}
        .ec::before {background-color: #555;}
        .ec .favorite-star > .star-outline {opacity: .3;}
        .um.eventdetails .evovc .evv::before {background-image: var(--designLogoUmW);}
        .ec:not([open]):hover, .we:hover {box-shadow: 0 0 0 0px #1b1b1b, 0 0 10px 0 #fff;}
        .weitere-termine-liste a {background-color: var(--designFarbe-4);color: var(--bg-light);}
        .weitere-termine-liste a:hover, .weitere-termine-liste a:focus-visible {background-color: var(--primary-color);}
        input, .bild-overlay-close {background-color: var(--bg-input-dark);}
    html:has(.access-contrast) {
        body {color: white;background: black;}
        #nav, .mainmenu {background: #181818;}
        #nav {outline: 4px solid #FFEE32;}
        .recon-t_logo > svg > #logo {fill: white!important;}
        .mainmenubutton_content > span {background: white;}
        .mainmenu, #footer {color: #aaa;}
            /* First Level */      .mainmenu > ul > li {border-bottom-color: #FFEE32;}
        .mainmenu > ul > li > details > ul {background-color: #202020;}
        .mainmenu > ul > li > details > ul > li:has(> ul) > span {&, &:hover {color: white;}}
        a {color: #8080FF!important;}
        a:visited {color: #CC66CC!important;}
        #facebook_logo, #facebook_logo_mobile {fill: #0000FF!important;}
        .mainmenu > ul > li > a, .mainmenu > ul > li > details > ul > li > span, .mainmenu > ul > li > details > summary {color: #FFEE32!important;}
        .mainmenubutton_content > span {background: #FFEE32;}
        @container (min-width: 48.0625rem) {#nav {.mainmenu > ul > li > details > ul {border: 1px solid #FFEE32;border-bottom: none;}}}
        @container (min-width: 0.0625rem) and (max-width: 48.0625rem) {.mainmenu {box-shadow: 0 0 0 .0625rem #FFEE32!important;}}
    }
    html:has(.access-bigcursor) * {
        cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='none' stroke='%23000000' stroke-width='2' d='M7 2.5 L26 21.5 L17 21.5 L20 28.5 L17 29.75 L14 22.75 L7 29.5 L7 2.5 Z'/%3E%3Cpath fill='%23ffffff' d='M7 2.5 L26 21.5 L17 21.5 L20 28.5 L17 29.75 L14 22.75 L7 29.5 L7 2.5 Z'/%3E%3C/svg%3E") 7 2.5, auto !important;
    }
}

/* ================== 4. Videowahl / Startseite / Karriere ================== */

/* =====================================================================
   Gemeinsames CSS der Module mod_urgfilme (Startseite) und mod_urgkarriere
   (Karriere). Beide geben dasselbe HTML mit den Klassen .videowahl-… aus.
   Unterschiede kommen aus dem Modul (Flyer-Position als --flyer-x/--flyer-y)
   oder aus dem Editor-HTML der Einträge (z. B. <div class="schlicht">).

   .videowahl > .videowahl-wrap
     ├─ .videowahl-text      links: Text des gewählten Films
     └─ .videowahl-liste     rechts: Titelspalte + Kachelspalte
   .videowahl-player         nur bei ?abspielen=1 (PHP)

   Auswahl: Jeder Film hat ein verstecktes Radio direkt vor seiner <section>.
   Titel und Kacheln sind <label> dafür. Das Modul erzeugt pro Film Regeln für
     --pos    Nummer des gewählten Films (auf .videowahl)
     --aktiv  1 am Titel und an der Kachel des gewählten Films
     und den Seitenhintergrund.
   Breit gleiten beide Spalten per Transition so, dass der gewählte Film oben
   („markiert“) steht; Kacheln darüber blenden aus. Pfeiltasten wählen den
   nächsten Film, das Mausrad über das kleine Skript liste.js genauso.

   Maße wie das Original, gemessen bei 1600 px Breite und in vw umgerechnet.
   Schmal (Handy): Text oben, darunter Kacheln ohne Titelspalte.
   ===================================================================== */

/* Beitrag mit dem Modul ohne Begrenzung (Startseite: Seite 101) */
body.itemid-101 .com-content-article__body,
.com-content-article__body:has(.videowahl) { padding: 0; max-width: none; width: auto; }
/* Der loadmodule-Platzhalter steht im Editor in einem <p>; der Browser macht daraus leere <p> vor/nach dem Modul,
   deren Abstand das Modul 1rem nach unten schiebt */
p:empty:has(+ * .videowahl), :has(> .videowahl) + p:empty { display: none; }

/* Seitenhintergrund – eine Ebene pro Film (Bild setzt das Modul).
   Die neue Ebene blendet in 0,6 s über die alte, die alte verschwindet erst danach. */
html:has(.videowahl) { background-color: #000; }
body:has(.videowahl-player) .videowahl-bilder { display: none; }   /* Player offen: Hintergrund schwarz */
body:has(.videowahl) { background: transparent; }   /* sonst deckt der Body die Bildebene ab */
.videowahl-bilder {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.videowahl-bild {
  position: absolute;
  inset: 0;
  background: center / cover no-repeat;
  opacity: 0;
  transition: opacity 0s .6s;
}
.videowahl-bilder::after {                      /* Abdunklung für die Lesbarkeit */
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, #000c, #0008 40%, #0005 65%, #000a);
}

.videowahl {
  --rot: var(--designFarbe-1, #e31e24);

  /* Maße breit */
  --oben: var(--intro-oben);                       /* Oberkante wie auf Karriere */
  --kachel-b: calc(12 * var(--1vw));
  --kachel-h: calc(6.75 * var(--1vw));
  --kachel-spalt: 1rem;
  --schritt: calc(calc(6.75 * var(--1vw)) + 1rem);                   /* Kachel + Abstand */
  --zeile: calc(2 * var(--1vw));                                     /* Zeilenhöhe Titelspalte */
  --titel-b: calc(17 * var(--1vw));                                  /* Breite Titelspalte */
  --pos: 0;                                         /* gewählter Film – setzt das Modul */
  --hoehe: calc(var(--100vh) - var(--header-heigth));

  container: videowahl / inline-size;
  color: #fff;
}
.videowahl-wrap {
  box-sizing: border-box;
  min-height: calc(var(--100vh) - var(--header-heigth));
  padding: var(--intro-oben-mobil) var(--intro-links-mobil) 4rem;
}
.videowahl * { font-family: 'Montserrat', sans-serif; }
/* Auszeichnungen im Text übernehmen die Schrift ihres Absatzes/ihrer Überschrift */
.videowahl-eintrag :is(strong, b, em, i, a, span, small) { font-family: inherit; }

/* ===== Text ===== */

.videowahl-text { position: relative; }

/* Radios: unsichtbar, oben im Textbereich.
   Klick auf eine Kachel fokussiert das Radio → schmal scrollt der Browser zum Text. */
.videowahl-radio {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  scroll-margin-top: calc(var(--header-heigth) + 1.5rem);
}

.videowahl-eintrag { display: none; }
.videowahl-radio:checked + .videowahl-eintrag { display: flex; flex-direction: column; }   /* schmal: Flyer (steht im HTML vorn) per order unter den Text */
/* Text und Flyer gleiten gemeinsam herein. Die Animation sitzt auf den beiden
   Teilen selbst (nicht auf der Section), sonst springt der absolut gesetzte Flyer. */
.videowahl-radio:checked + .videowahl-eintrag :is(.videowahl-inhalt, .videowahl-flyer) { animation: videowahlEin .5s ease-out; }
@keyframes videowahlEin { from { opacity: 0; translate: 0 .75rem; } }

/* Text aus dem Editor – Aufbau wie die alte Seite:
   h2 = kleine Zeile, h3 = großer Titel, p = Text.
   Sonderlayout (Antrittsbonus): alles in <div class="praemie">. */
.videowahl-eintrag h2 {
  margin: 0;
  font: 300 max(1.1rem, calc(2 * var(--1vw)))/1.2 'Montserrat', sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}
.videowahl-eintrag h3 {
  margin: 0;
  font: 700 max(3.25rem, calc(7.5 * var(--1vw)))/1 'Saira Extra Condensed', sans-serif;
  letter-spacing: -.025em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  color: #fff;
}
.videowahl-eintrag h3 + h2 { margin-top: -.25em; }
.videowahl-eintrag h2 em   { font-size: .55em; font-style: normal; }
.videowahl-eintrag h2 img  { height: 1.3em; width: auto; margin-left: 1.1em; vertical-align: top; }   /* z. B. Interreg-Logo */
.videowahl-eintrag :is(h2, h3) + p { margin-top: calc(1.5 * var(--1vw)); }

.videowahl-eintrag p {
  margin: 0 0 var(--1vw);
  font-size: max(.9rem, calc(.9 * var(--1vw)));
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 1px;
  color: #fff;
}
.videowahl-eintrag strong { font-weight: 500; }
.videowahl-eintrag a { color: #fff; text-underline-offset: .2em; }
.videowahl-eintrag a:hover, .videowahl-eintrag a:focus-visible { color: var(--rot); }
.videowahl-eintrag a *:not(.videowahl-nr) { color: inherit; }          /* user.css setzt „body * { color: white }“ – im Link die Linkfarbe erben */

/* Schlichter Text: <div class="schlicht">…</div> um den Text eines Eintrags
   (Karriere): Links ohne Unterstrich, (m|w|d) gerade, normaler Abstand nach dem Titel */
.videowahl-eintrag .schlicht a { text-decoration: none; }
.videowahl-eintrag .schlicht em { font-style: normal; font-weight: 300; }
.videowahl-eintrag .schlicht strong { font-weight: 400; }
.videowahl-eintrag .schlicht strong a { font-weight: 500; }
.videowahl-eintrag .schlicht h3 { margin-bottom: .5rem; }
.videowahl-eintrag .schlicht h3 + p { margin-top: 1rem; }

/* Zwischenüberschrift (z. B. „Offene Stellen“) */
.videowahl-eintrag h4 { margin: max(1.2rem, calc(1.6 * var(--1vw))) 0 .5rem; font: 400 max(1.2rem, calc(1.7 * var(--1vw)))/1.2 system-ui, sans-serif; color: #fff; }
.videowahl-eintrag h3 + h4 { margin-top: .5rem; }

/* Dokument-Link als eigene Zeile: <p class="dokument"><a href="…pdf">Name <em>(m/w/d)</em></a></p> */
.videowahl-eintrag .dokument { margin: 0; font: 400 max(1.1rem, calc(1.55 * var(--1vw)))/1.5 'Montserrat', sans-serif; }
.videowahl-eintrag .dokument a { text-decoration: none; }
.videowahl-eintrag .einzug { padding-left: .5em; }        /* <p class="dokument einzug"> = leicht eingerückt */
.videowahl-eintrag .dokument em { font-size: .55em; font-style: normal; }

/* Sonderlayout Antrittsbonus */
.videowahl-eintrag .praemie h2 { font: 200 max(1.1rem, calc(2 * var(--1vw)))/1.2 'Saira Extra Condensed', sans-serif; letter-spacing: 0; }
.videowahl-eintrag .praemie h4 { margin: 0 0 calc(.5 * var(--1vw)); font: 700 max(1.8rem, calc(4 * var(--1vw)))/1.2 'Saira Extra Condensed', sans-serif; color: #fff; }
.videowahl-eintrag .praemie h3 { margin-bottom: .5rem; font-size: max(4rem, calc(9.5 * var(--1vw))); text-transform: none; }
.videowahl-eintrag .praemie h3 em { display: inline-block; font-size: max(1.8rem, calc(4 * var(--1vw))); line-height: 1.2; font-style: normal; letter-spacing: 1px; }
.videowahl-eintrag .praemie h3 + p { margin-top: 0; }
.videowahl-eintrag .praemie p { font: 300 max(1.2rem, calc(1.7 * var(--1vw)))/1.4 'Saira Extra Condensed', sans-serif; letter-spacing: 0; }
.videowahl-eintrag .praemie strong { font-weight: 700; }
.videowahl-eintrag .praemie a { font: 700 max(.95rem, calc(1.2 * var(--1vw))) 'Saira Extra Condensed', sans-serif; text-decoration: none; }
.videowahl-eintrag .praemie .uckermark { font: 300 max(.6rem, calc(.7 * var(--1vw)))/1.2 'Montserrat', sans-serif; letter-spacing: 1px; }
.videowahl-eintrag .praemie .uckermark :is(em, strong) { font-style: normal; font-weight: 400; }

/* Mitwirkende – wie normaler Text, etwas kräftiger */
.videowahl-eintrag .videowahl-team { font-weight: 500; }
.videowahl-team span { display: block; }                                  /* bis 4 Personen: je eine Zeile */
.videowahl-team-lang span { display: inline; }                            /* mehr: fortlaufend mit Komma */
.videowahl-team-lang span:not(:last-child)::after { content: ','; }

/* Start-Zeile: „START ///“ bzw. „01 ///“ rot, Laufzeit, runder Play-Knopf */
.videowahl-eintrag .videowahl-start { margin-top: var(--1vw); }
.videowahl-eintrag .videowahl-ab {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  color: #fff;
  font-size: max(1rem, var(--1vw));
  font-weight: 300;
  text-decoration: none;
}
.videowahl-nr     { color: var(--rot); }
.videowahl-dauer  { font-size: .9em; }
.videowahl-ab::after {
  content: '';
  width: 1.5em;
  aspect-ratio: 1;
  background: var(--designIconPlay) center / contain no-repeat;
  transition: scale .25s;
}
.videowahl-eintrag .videowahl-ab:hover { color: #fff; }
.videowahl-ab:hover::after, .videowahl-ab:focus-visible::after { background-image: var(--designIconPlayHover); scale: 1.15; }

/* Flyer (öffnet groß als Popover, ohne JS) */
.videowahl-flyer {
  display: block;
  width: max(6rem, calc(8.4 * var(--1vw)));
  order: 1;                               /* schmal (Handy): unter dem Text … */
  margin: 1.5rem auto 0;                  /* … und waagerecht mittig */
  padding: 0;
  border: 0;                              /* wie Original: ohne Rahmen und Schatten */
  background: none !important;
  cursor: zoom-in;
}
.videowahl-flyer img { display: block; width: 100%; transform-origin: 0 0; transition: .5s; }
/* Hover wie im Original: Bild wird größer, hebt sich nach links oben ab, mit Schatten */
.videowahl-flyer:is(:hover, :focus-visible) img {
  filter: brightness(1) grayscale(0) drop-shadow(6px 7px 10px black);
  transform: translate(-5.5%, -11%) scale(1.1);   /* = Original „width: 110%; translate(-5%, -10%)“, aber ohne dass der Text daneben springt */
  box-shadow: 0 0 0 1px #fff;
}
.videowahl-flyer-gross {
  max-width: min(calc(92 * var(--1vw)), 40rem);
  max-height: calc(88 * var(--1vh));
  padding: 0;
  border: 0;
  background: none;
}
.videowahl-flyer-gross::backdrop { background: #000c; backdrop-filter: blur(4px); }
.videowahl-flyer-gross img { display: block; max-height: calc(88 * var(--1vh)); width: auto; }

/* ===== Liste ===== */

.videowahl-liste { margin-top: 2.5rem; }
.videowahl-titelliste { display: none; }

/* --aktiv / --fokus (0 oder 1) setzt das Modul für den gewählten Film */
.videowahl-titel,
.videowahl-kachel { --aktiv: 0; --fokus: 0; cursor: pointer; }
.videowahl-kachel { text-decoration: none; }   /* Kachel ist ein Link (Film abspielen) */

.videowahl-kacheln {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 13.5rem), 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.videowahl-kachel {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  outline: 2px solid rgb(255 255 255 / var(--fokus));
  outline-offset: 3px;
  box-shadow: 0 0 0 calc(2px * var(--aktiv)) var(--rot), 2px 2px 10px #000a;
}
.videowahl-kachel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale .4s;
}
.videowahl-kachel::before {                    /* Abdunklung unten für den Titel */
  content: '';
  position: absolute;
  inset: 40% 0 0;
  z-index: 1;
  background: linear-gradient(transparent, #000c);
}
.videowahl-kachel::after {                     /* Play-Symbol */
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--designIconPlay) center / 3.5rem no-repeat;
  opacity: .85;
  transition: opacity .25s;
}
.videowahl-kachel span {
  position: absolute;
  left: .6rem;
  right: .6rem;
  bottom: .35rem;
  z-index: 2;
  font: 700 1.35rem/1.05 'Saira Extra Condensed', sans-serif;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--rot) calc(var(--aktiv) * 100%), #fff);
  text-shadow: 0 1px 3px #000;
}
.videowahl-kachel:hover img { scale: 1.06; }
.videowahl-kachel:hover::after { background-image: var(--designIconPlayHover); opacity: 1; }

/* ===== Breit: Aufbau wie das Original =====
   Links der Text (5 vw Rand), rechts Titelspalte + Kachelspalte (7,5 vw Rand).
   Die gewählte Kachel steht bei 25 vh. */
@container videowahl (min-width: 50rem) {

  .videowahl-wrap {
    position: relative;
    display: flex;
    padding: 0;
    height: calc(var(--100vh) - var(--header-heigth));
    overflow: hidden;
  }

  /* Text */
  .videowahl-text {
    flex: 1;
    padding: var(--oben) calc(2 * var(--1vw)) 0 var(--intro-links);
  }
  .videowahl-eintrag { max-width: calc(51 * var(--1vw)); }                  /* Textbreite wie Original */
  .videowahl-eintrag h3 { margin-left: -.015em; }
  .videowahl-eintrag .praemie { margin: calc(-3 * var(--1vh)) 0 0 calc(5 * var(--1vw)); }    /* Antrittsbonus: wie Original bei 22 vh / 10 vw */
  .videowahl-eintrag p { font-size: max(.75rem, calc(.9 * var(--1vw))); margin-bottom: 1rem; }
  .videowahl-eintrag .videowahl-ab { font-size: max(.8rem, var(--1vw)); }
  /* Flyer: schwebt rechts im Textbereich (float) – wie im Original links bei --flyer-x,
     oben bei Titel-Oberkante + --flyer-y (setzt das Modul, Einstellung „Flyer“).
     Ein unsichtbarer Abstandhalter (::before) schiebt ihn auf die Höhe. Weil er ein
     float ist, weicht der Text ihm aus: beim Verkleinern liegt er nie über dem Text. */
  .videowahl-radio:checked + .videowahl-eintrag { display: block; }
  .videowahl-eintrag:has(.videowahl-flyer)::before {
    content: '';
    float: right;
    width: 0;
    height: var(--flyer-y, calc(21 * var(--1vw)));
  }
  .videowahl-flyer {
    float: right;
    clear: right;
    margin: 0 calc(calc(47.6 * var(--1vw)) - var(--flyer-x, calc(45.6 * var(--1vw)))) 1rem 1.5rem;   /* 47,6 vw = rechter Textrand (56 vw) − Flyerbreite */
  }

  /* Liste */
  .videowahl-liste {
    flex: none;
    display: flex;
    gap: var(--kachel-spalt);
    margin: 0 calc(7.5 * var(--1vw)) 0 0;
  }

  /* Titelspalte: Titel des gewählten Films mittig neben der markierten Kachel */
  .videowahl-titelliste {
    display: block;
    width: var(--titel-b);
    margin: 0;
    padding: calc(var(--oben) + calc(3.45 * var(--1vw))) 0 0;        /* Titel wie im Original etwas unter Kachelmitte */
    list-style: none;
  }
  .videowahl .videowahl-titel {                 /* .videowahl davor: user.css setzt „.com-content-article__body * { Montserrat }“ */
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .25em;
    height: var(--zeile);
    padding-right: calc(var(--1vw) - var(--1vw) * var(--aktiv));  /* gewählter Titel rückt zur Kachel */
    font: 500 calc(calc(1.1 * var(--1vw)) + calc(.6 * var(--1vw)) * var(--aktiv)) / 1 'Saira Extra Condensed', sans-serif;
    text-transform: uppercase;
    white-space: nowrap;
    color: #fff;
    opacity: calc(.5 + .5 * var(--aktiv));
    text-decoration: underline rgb(255 255 255 / var(--fokus));
    text-underline-offset: .2em;
    transition: font-size .35s, opacity .35s, padding-right .35s;
  }
  .videowahl-titel:hover { opacity: 1; }
  .videowahl-titel small {
    font: inherit;
    font-size: .6em;
    color: color-mix(in srgb, var(--rot) calc(var(--aktiv) * 100%), #fff);
  }

  /* Kachelspalte: gleitet so, dass der gewählte Film oben steht */
  .videowahl-kacheln {
    align-content: start;               /* wenige Filme: Zeilen nicht auf die Höhe strecken */
    width: var(--kachel-b);
    grid-template-columns: 1fr;
    gap: var(--kachel-spalt);
    padding-top: calc(var(--oben) + calc(.35 * var(--1vw)));
  }

  /* Mit Skript (liste.js setzt .videowahl-js): beide Spalten gleiten zum gewählten
     Film, Kacheln darüber blenden aus (--i = Nummer der Kachel). */
  .videowahl-js .videowahl-titelliste {
    translate: 0 calc(var(--pos) * var(--zeile) * -1);
    transition: translate .07s ease;
  }
  .videowahl-js .videowahl-kacheln {
    translate: 0 calc(var(--pos) * var(--schritt) * -1);
    transition: translate .07s ease;
  }
  .videowahl-js .videowahl-kacheln li {
    opacity: clamp(0, var(--i) - var(--pos) + 1, 1);
    transition: opacity .35s;
  }

  /* Ohne Skript: die Liste ist eine normale Scrollfläche mit Scrollbalken
     (Mausrad, Balken anklicken und ziehen); Auswahl per Klick wie gewohnt. */
  .videowahl:not(.videowahl-js) .videowahl-liste {
    align-self: stretch;
    padding: 0 var(--1vw) 2rem 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #ffffff66 transparent;
  }

  /* Kachel wie im Original: markiert (oder Maus drüber) = größer, Bild
     zoomt etwas, dunkles Band unten, Schlagschatten nach rechts unten */
  .videowahl-kachel:is(:hover, :focus-visible) { --aktiv: 1; }
  .videowahl-kachel {
    outline-offset: 2px;
    box-shadow: 10px 10px 10px -7px rgb(0 0 0 / var(--aktiv));
    scale: calc(1 + .05 * var(--aktiv));
    transition: scale .5s, box-shadow .5s;
  }
  .videowahl-kachel img { scale: calc(1 + .1 * var(--aktiv)); transition: scale .5s; }
  .videowahl-kachel:hover img { scale: 1.1; }
  .videowahl-kachel::before {                  /* dunkles Titelband */
    inset: auto 0 0;
    height: 2.1rem;
    background: rgb(38 38 38 / .6);
    opacity: var(--aktiv);
    transition: opacity .5s;
  }
  .videowahl-kachel::after  { background-size: 25%; opacity: var(--aktiv); }
  .videowahl-kachel span {
    left: calc(.6 * var(--1vw));
    right: calc(.6 * var(--1vw));
    bottom: 0;
    font-size: calc(1.25 * var(--1vw));
    line-height: 2.1rem;
    letter-spacing: 0;
    text-shadow: none;
  }
}

/* ===== Player (nur bei ?abspielen=1) ===== */

html:has(.videowahl-player) { overflow: hidden; }

.videowahl-player {
  --rot: var(--designFarbe-1, #e31e24);
  position: fixed;
  inset: var(--header-heigth) 0 0;
  z-index: 99998;
  overflow: hidden;
  background: #000;
  color: #fff;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
}
body .videowahl-player * { font-family: Roboto, Arial, sans-serif; }
.videowahl-player.ruhig { cursor: none; }

.videowahl-player video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 101%;
  margin-top: -4px;
  object-fit: contain;
  background: #000;
}

/* Schließen – schwebt oben rechts */
.videowahl-zu {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: .55rem;
  box-sizing: border-box;
  border-radius: 50%;
  background: #0008;
  color: #fff;
  transition: background-color .2s, opacity .3s;
}
.videowahl-zu:hover, .videowahl-zu:focus-visible { background: var(--rot); color: #fff; }
.videowahl-zu svg { width: 100%; height: 100%; fill: currentColor; }

/* Steuerleiste */
.videowahl-steuer {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: 3rem .75rem 0;
  background: linear-gradient(transparent, #000b);
  transition: opacity .3s;
}
.videowahl-steuer[hidden] { display: none; }
.videowahl-player.ruhig :is(.videowahl-steuer, .videowahl-zu) { opacity: 0; pointer-events: none; }

.videowahl-fortschritt {
  --gespielt: 0%;
  --puffer: 0%;
  --hover: 0%;
  position: relative;
  display: flex;
  align-items: center;
  height: 1rem;
  margin: 0 .25rem;
  cursor: pointer;
  touch-action: none;
  outline: none;
}
.videowahl-schiene {
  position: relative;
  width: 100%;
  height: 3px;
  background: #ffffff33;
  transition: height .1s;
}
.videowahl-fortschritt:is(:hover, .zieht, :focus-visible) .videowahl-schiene { height: 5px; }
.videowahl-puffer, .videowahl-gespielt, .videowahl-hover { position: absolute; inset: 0 auto 0 0; }
.videowahl-puffer   { width: var(--puffer); background: #ffffff66; }
.videowahl-hover    { width: var(--hover); background: #ffffff44; opacity: 0; }
.videowahl-gespielt { width: var(--gespielt); background: var(--rot); }
.videowahl-fortschritt:hover .videowahl-hover { opacity: 1; }
.videowahl-knopf {
  position: absolute;
  left: var(--gespielt);
  top: 50%;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--rot);
  translate: -50% -50%;
  scale: 0;
  transition: scale .1s;
}
.videowahl-fortschritt:is(:hover, .zieht, :focus-visible) .videowahl-knopf { scale: 1; }
.videowahl-vorschau {
  position: absolute;
  bottom: 1.4rem;
  left: clamp(1.5rem, var(--hover), calc(100% - 1.5rem));
  translate: -50%;
  padding: .2rem .45rem;
  border-radius: .25rem;
  background: #000c;
  font-size: .8rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  opacity: 0;
  pointer-events: none;
}
.videowahl-fortschritt:is(:hover, .zieht) .videowahl-vorschau { opacity: 1; }

.videowahl-knoepfe { display: flex; align-items: center; height: 3rem; }
.videowahl-btn {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  padding: .65rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 50%;
  background: none !important;
  color: #fff;
  cursor: pointer;
  opacity: .9;
  transition: opacity .15s;
}
.videowahl-btn:hover { opacity: 1; color: #fff; }
.videowahl-btn:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.videowahl-btn svg { display: block; width: 100%; height: 100%; fill: currentColor; filter: drop-shadow(0 0 2px #0008); }
.videowahl-btn.videowahl-tempo { width: auto; min-width: 3rem; padding: 0 .5rem; border-radius: 1rem; font-size: .85rem; font-weight: 700; }

.videowahl-zeit {
  padding: 0 .6rem;
  font-size: .85rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-shadow: 0 0 2px #0008;
}
.videowahl-platz { flex: 1; }

.videowahl-ton { display: flex; align-items: center; }
.videowahl-ton input {
  --v: 100%;
  width: 0;
  height: 3px;
  margin: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  background: linear-gradient(90deg, #fff var(--v), #ffffff44 var(--v)) !important;
  border: 0;
  cursor: pointer;
  transition: width .2s, opacity .2s, margin .2s;
}
.videowahl-ton:is(:hover, :focus-within) input { width: 4.5rem; margin-right: .5rem; opacity: 1; }
.videowahl-ton input::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.videowahl-ton input::-moz-range-thumb     { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #fff; }

/* Symbole umschalten */
.videowahl-knoepfe :is(.i-pause, .i-nochmal, .i-stumm, .i-klein) { display: none; }
.videowahl-player.spielt .videowahl-knoepfe .i-play  { display: none; }
.videowahl-player.spielt .videowahl-knoepfe .i-pause { display: block; }
.videowahl-player.ende .videowahl-knoepfe :is(.i-play, .i-pause) { display: none; }
.videowahl-player.ende .videowahl-knoepfe .i-nochmal { display: block; }
.videowahl-player.stumm .videowahl-knoepfe .i-laut   { display: none; }
.videowahl-player.stumm .videowahl-knoepfe .i-stumm  { display: block; }
.videowahl-player.vollbild .videowahl-knoepfe .i-gross { display: none; }
.videowahl-player.vollbild .videowahl-knoepfe .i-klein { display: block; }

/* kurzes Symbol in der Mitte */
.videowahl-blitz {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 4.5rem;
  height: 4.5rem;
  padding: 1.1rem;
  box-sizing: border-box;
  border-radius: 50%;
  background: #0008;
  translate: -50% -50%;
  opacity: 0;
  pointer-events: none;
}
.videowahl-blitz svg { display: none; width: 100%; height: 100%; fill: #fff; }
.videowahl-blitz[data-icon="play"] .i-play,
.videowahl-blitz[data-icon="pause"] .i-pause,
.videowahl-blitz[data-icon="vor"] .i-vor,
.videowahl-blitz[data-icon="zurueck"] .i-zurueck { display: block; }
.videowahl-blitz.an { animation: videowahlBlitz .55s ease-out; }
@keyframes videowahlBlitz { from { opacity: 1; scale: 1; } to { opacity: 0; scale: 1.6; } }

/* Ladekreis */
.videowahl-laden {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3.5rem;
  height: 3.5rem;
  margin: -1.75rem 0 0 -1.75rem;
  box-sizing: border-box;
  border: 4px solid #ffffff33;
  border-top-color: #fff;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s .3s;
  animation: videowahlDrehen .9s linear infinite;
}
.videowahl-player.laedt .videowahl-laden { opacity: 1; }
@keyframes videowahlDrehen { to { rotate: 1turn; } }

/* End Videowahl */

/* ================== 5. Rettungswachen ================== */

/* ===== Allgemein ===== */

/* --rw-bereit: 0 beim Laden, nach 1,5 s 1. Die Übergänge der Kacheln sind damit multipliziert:
   Während die Seite lädt (Schrift wird nachgeladen, Spalten springen um), wechseln die Kacheln
   ohne Animation – sonst klappen sie beim Laden sichtbar auf und wieder zu. */
@property --rw-bereit { syntax: '<number>'; inherits: true; initial-value: 0; }
@keyframes rwBereit { to { --rw-bereit: 1; } }
p   { margin: 0 0 1rem; }
*   { font-family: 'BebasNeue'; }
img { max-width: 100%; height: auto; }

body.itemid-104 {
  background: linear-gradient(#00000080, #00000080),
              url("../../../images/hintergruende/Rettungswachen-in-der-Uckermark.jpg") center / cover no-repeat fixed #000;
}
body.itemid-104 .com-content-article__body { padding: 0; max-width: none; width: auto; }

/* ===== Grundlayout: links Intro + Karte, rechts Kacheln =====
   Passen beide nicht nebeneinander, bricht die Liste um (flex-wrap). */
.rw {
  --kachel-min: 1.5rem;                                   /* Mindestgröße Kachel (1em) */
  --min-links: 22rem;                                     /* Mindestbreite links       */
  --min-rechts: calc(var(--kachel-min) * 23.75 + 20px);   /* 2 Kacheln nebeneinander   */
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4rem;
  /* Gleicher Bezugspunkt wie Karriere. Kleine optische Schriftkorrektur,
     damit die sichtbare Oberkante der großen Buchstaben übereinstimmt. */
  --rw-oben: calc(var(--intro-oben-mobil) + .475rem);
  --rw-links: var(--intro-links-mobil);
  /* keine min-height: Der body (Grid) füllt die Höhe schon, eine eigene Mindesthöhe
     plus Abstand oben machte die Seite länger als das Fenster */
  animation: rwBereit 0s 1.5s forwards;                   /* schaltet die Kachel-Übergänge frei, siehe unten */
  margin: var(--rw-oben) var(--intro-links-mobil) 0;
  line-height: 1.5;
}


/* ===== Links: Text, "Film ab!", Karte (liegt im Grid über den Textzeilen) ===== */
.rw-intro {
  --titel: max(7.5cqi, 2.75rem);    /* Schriftgröße "Rettungswachen" */
  flex: 1 1 auto;
  min-width: min(var(--min-links), 100%);
  display: grid;
  grid-template-rows: repeat(4, auto) 1fr;
  justify-items: start;
  /* Oberkante der Großbuchstaben bündig mit der Oberkante der Kacheln:
     bei line-height 1 liegt sie in Saira Extra Condensed 0.145em unter der Zeilenoberkante */
  /* links wie Home/Karriere (--rw-links, siehe .rw); .rw hat schon den Seitenrand */
  margin: calc(var(--titel) * -.16) 0 0 calc(var(--rw-links) - var(--intro-links-mobil));
  color: var(--designFarbe-0);
  letter-spacing: 1px;
}
.rw-intro > * { grid-column: 1; font-family: 'Montserrat'; font-weight: 300; }

/* Ebenen: die Intro-Spalte liegt als Ganzes über den Kacheln (wie vorher die Karte mit 9999),
   darin liegt die Karte unten und der Text oben – die Karte darf den Text überlappen,
   verdeckt ihn aber nicht mehr */
.rw-intro { position: relative; z-index: 9999; }
.rw-intro > :not(.rw-karte) { position: relative; z-index: 1; }

.rw-intro h3 {
  grid-row: 1;
  margin: 0 0 .5rem -.015em;
  font: 700 var(--titel)/1 'Saira Extra Condensed';
  text-transform: uppercase;
}
.rw-intro h2 {
  grid-row: 2;
  margin: -.5em 0 calc(.5rem + .5em);
  font-size: max(2cqi, 1rem);
  text-transform: uppercase;
}
.rw-intro p { grid-row: 3; }
/* Text und „Film ab!“ gleich groß wie im Original (dort beide 0.9vw, „Film ab!“ fett),
   hier etwas größer: 1cqi = 1/7.5 der Überschrift */
.rw-intro :is(p, .rw-film) { font-size: max(1cqi, .8rem); }

.rw-intro .rw-film {   /* Link auf ?abspielen=1, Player + Player-CSS kommen vom Filme-Modul */
  grid-row: 4;
  position: relative;
  color: var(--designFarbe-0);
  font-weight: 700;
  text-decoration: none;
  margin-top: calc(.25em + .5rem);
  cursor: pointer;
  box-shadow: 0 0 0 var(--designFarbe-1);
  transition: .5s;
}
.rw-film:hover { box-shadow: 0 2px 0 var(--designFarbe-1); }
.rw-film::after {
  content: '';
  position: absolute;
  left: 0;
  width: calc(100% + 2em);
  height: 1.5em;
  background: var(--designIconPlay) no-repeat right 50%;
}
.rw-film:hover::after { background-image: var(--designIconPlayHover); }

/* Karte: links 13%, Breite 89% der Intro-Box (100% + 9cqi) */
.rw-karte {
  --box: calc(100% + 9cqi);
  grid-row: 1 / 6;
  position: relative;
  z-index: 0;                       /* unter dem Text, siehe .rw-intro */
  container-type: inline-size;      /* Ortsmarken skalieren mit der Karte */
  width: calc(var(--box) * .89);
  /* Die Uckermark endet bei y = 418 von 512 – der leere Streifen darunter wird abgeschnitten,
     sonst ragt der Kasten der Karte unten aus der Seite und macht sie scrollbar.
     Ortsmarken stehen deshalb mit top in cqi (= % der Kartenbreite) statt in % der Höhe. */
  aspect-ratio: 512 / 430;
  overflow: clip;
  margin: -2.4cqi 0 0 calc(var(--box) * .13 - 5cqi);   /* unten vorher -.14 bei quadratischer Karte – gleiche Unterkante */
  opacity: .66;
  pointer-events: none;             /* "Film ab!" bleibt klickbar */
}
/* quadratisch wie der viewBox; absolut, damit sie nicht in die Breitenberechnung der Intro-Spalte eingeht */
.rw-karte svg { position: absolute; inset: 0 0 auto; display: block; width: 100%; height: auto; aspect-ratio: 1; overflow: visible; }

.rw-flaeche {
  pointer-events: auto;
  fill: #0009;
  stroke: #fff;
  stroke-width: .3px;
  stroke-miterlimit: 22.9256;
  stroke-dasharray: 1650;
  stroke-dashoffset: 1300;
  animation: rwUmriss 4s linear forwards;
  transition: fill .3s;
}
.rw-karte:hover .rw-flaeche,
.rw:has(.kachel:focus) .rw-flaeche { fill: #000000d6; }

@keyframes rwUmriss {
  0%   { stroke-dashoffset: 1300; }
  20%  { stroke-dashoffset: 1000; }
  75%  { stroke-dashoffset: 0; stroke: #fff; }
  100% { stroke-dashoffset: 0; stroke: #fff0; }
}

/* ===== Ortsmarken: Link = Pin + Kreis + Ortsname =====
   Kommen aus dem Modul mod_urgrettungswachen (aus GPS-Koordinaten berechnet):
     <a class="pin" href="#id" style="left: x%; top: y%; --d: 0.9s">          Name rechts vom Pin
     <a class="pin text-links" href="#id" style="…">                          Name links vom Pin
   Pin links vom Namen (.pin):            ::before = Pin, ::after  = Kreis
   Pin rechts vom Namen (.pin.text-links): ::after = Pin, ::before = Kreis
   left/top = Lage der Pin-Spitze: left in %, top in cqi (beides bezogen auf die Kartenbreite).
   Der aktive Zustand (Hover / Kachel hat den Fokus) hängt an den IDs
   und wird vom Modul als <style> im <head> ausgegeben.
   Die Maße hier (Schrift 6u, Pin 10u + 2 × .5u, Text ±3u um die Spitze)
   nutzt das Modul für die Links/Rechts-Entscheidung – bei Änderungen dort
   (RettungswachenHelper, Konstanten oben) mitändern.
   1u = 1/512 Kartenbreite (wie im alten SVG). */
.pin {
  --u: calc(1em / 6);
  --spitze-x: calc(var(--u) * 5.5);          /* x der Pin-Spitze im Link */
  position: absolute;
  display: flex;
  align-items: flex-end;
  translate: calc(var(--spitze-x) * -1) calc(var(--u) * 3 - 100%);
  font: 700 calc(600cqi / 512)/1 'Montserrat';
  letter-spacing: var(--u);
  white-space: nowrap;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  pointer-events: auto;
  opacity: 0;
  transition: color .3s;
  animation: pinEin calc(3s - var(--d, 0s)) linear var(--d, 0s) forwards;   /* --d = Startverzögerung */
}
.pin.text-links {
  --spitze-x: calc(100% - var(--u) * 5.5);
}

/* Pin-Symbol mit Loch */
.pin::before, .pin::after {
  content: '';
  z-index: 1;
  flex-shrink: 0;
  width: calc(var(--u) * 10);
  height: calc(var(--u) * 15.2);
  margin: 0 calc(var(--u) * .5) calc(var(--u) * 2.5);
  background-color: var(--pin-farbe, #fff);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 15.2'%3E%3Cpath fill-rule='evenodd' d='M5 0a5 5 0 0 1 5 5c0 2.76-5 10.2-5 10.2S0 7.76 0 5a5 5 0 0 1 5-5zm0 3.27a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E") 0 0 / 100% 100%;
  animation: var(--pin-anim, none);
  transition: background-color .3s;
}

/* Kreis an der Pin-Spitze (wie um 45° gekippt) */
.pin:not(.text-links)::after,
.pin.text-links::before {
  position: absolute;
  z-index: 0;
  left: var(--spitze-x);
  top: calc(var(--u) * 14.7);
  translate: -50% -50%;
  box-sizing: border-box;
  width: calc(var(--u) * 6.6);               /* r = 3 + Strich */
  height: calc(var(--u) * 6.6);
  margin: 0;
  border: calc(var(--u) * .6) solid var(--ring-rand, #fff);
  border-radius: 50%;
  background: #f000;
  mask: none;
  transform: rotateX(45deg);
  animation: var(--ring-anim, none);
  transition: border-color .3s;
}

@keyframes pinEin   { 0%, 25% { opacity: 0; } 100% { opacity: 1; } }
@keyframes pinPath  {
  0%   { transform: rotateY(0);     background-color: #f00a; }
  100% { transform: rotateY(85deg); background-color: #f003; }
}
@keyframes pinKreis {   /* wie live: r 3 -> 4, Strich .6 -> .9, Rand rot -> dunkel, Füllung blendet rot ein */
  0%   { width: calc(var(--u) * 6.6); height: calc(var(--u) * 6.6); border-width: calc(var(--u) * .6);
         border-color: #e31e24; background-color: #f000; }
  100% { width: calc(var(--u) * 8.9); height: calc(var(--u) * 8.9); border-width: calc(var(--u) * .9);
         border-color: #0006;   background-color: #f005; }
}

/* ===== Rechts: Kacheln =====
   Spalten à 11em. Eine Spalte (max. --kachel-max), wenn keine 2 Kacheln passen
   oder Intro und Kacheln untereinander stehen (Liste ≈ Section-Breite).
   --offen: 1, wenn die Kachel breiter ist als eine Rasterspalte (11em) -> dauerhaft aufgeklappt.
   --e: Maßeinheit innerhalb der Kachel = 1/11 ihrer Breite. */

.rw-kacheln {
  --kachel-max: 30rem;
  flex: 9999 1 var(--min-rechts);
  display: grid;
  grid-template-columns: repeat(auto-fill,
    max(11em, min(100%, var(--kachel-max), max(23.75em - 100%, 100% - 100cqi + 10rem) * 999)));
  justify-content: center;
  gap: 0 1.75em;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: max(1cqi, var(--kachel-min));
}
.rw-kacheln li {
  container-type: inline-size;      /* Kachel skaliert mit ihrer Spalte */
  z-index: 0;
  transition: z-index 0s .35s;
}

.kachel {
  scroll-margin-top: calc(var(--100vh) * 1.13 - 15.5em);   /* Sprung von der Ortsmarke: nur scrollen, wenn nötig */
  --e: calc(100cqi / 11);
  --o: max(0, sign(100cqi - 11em - 1px));
  position: relative;
  top: 0;
  display: flex;
  flex-direction: column;
  color: rgb(254 254 254 / var(--o));   /* Text der Kachel: zugeklappt unsichtbar */
  /* Höhe: zugeklappt nur der sichtbare Teil (Bild 5.5 + rote Linie 1), aufgeklappt 11:12.1.
     Früher war die Kachel immer 12.1 hoch – der unsichtbare untere Teil der letzten Reihe
     hat die Seite nach unten scrollbar gemacht. Höhe + margin-bottom bleiben zusammen gleich,
     daher verschiebt das Aufklappen keine anderen Kacheln. */
  height: calc(var(--e) * (6.5 + 5.6 * var(--o)));
  overflow: hidden;
  outline: none;
  /* Teamleiter-Foto: background-image im HTML */
  background: rgb(0 0 0 / calc(.6 * var(--o))) no-repeat calc(150% - 50% * var(--o)) bottom / auto calc(var(--e) * 5.08);   /* 42 % der vollen Höhe */
  /* rote Linie: zugeklappt weit rechts unten versteckt, fährt beim Aufklappen an ihren Platz */
  box-shadow: calc(139px * (1 - var(--o))) calc(139.5px - 137px * var(--o)) 0 calc(139px * var(--o) - 139.5px) red,
              2px 2px 10px rgb(0 0 0 / var(--o));
  backdrop-filter: blur(calc(2px * var(--o)));
  /* Höhe erst ganz am Ende (unsichtbar) wieder einklappen */
  --t: var(--rw-bereit);
  transition-property: top, transform, box-shadow, background, background-position, color, height, margin-bottom;
  transition-duration: calc(.35s * var(--t)), calc(.35s * var(--t)), calc(.35s * var(--t)), calc(.35s * var(--t)),
                       calc(.35s * var(--t)), calc(.3s * var(--t)), 0s, 0s;
  transition-delay:    calc(.35s * var(--t)), 0s, 0s, calc(.15s * var(--t)), 0s, 0s,
                       calc(.7s * var(--t)), calc(.7s * var(--t));
  margin-bottom: calc(1em * var(--o) + 3.8em * (1 - var(--o)));   /* zugeklappt: 6.5 + 3.8 = 12.1 - 1.8 wie vorher */
}
.kachel img {
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 2;
  object-fit: cover;
  object-position: top;
  box-shadow: 0 1px #171717, 0 var(--e) #e31e24;
}
.kachel h4 {
  position: absolute;
  top: calc(var(--e) * 4.84);   /* 40 % der vollen Höhe */
  left: .4em;
  z-index: 1;
  margin: 0;
  padding: 0 .5em;
  background: #171717;
  color: #fff;
  font: 600 calc(var(--e) * .8)/1.5 'Saira Extra Condensed';
  letter-spacing: .5px;
  text-transform: uppercase;
}
.kachel p {
  margin: 0;
  padding: 0 2em;
  color: inherit;
  font-size: calc(var(--e) * .35);
  font-weight: 300;
}
.kachel .name      { margin-top: 2.4em; padding: 0 1em; font-size: calc(var(--e) * .7); font-weight: 500; }
.kachel .rolle     { margin: -.2em 0 1em; padding: 0 1.3em; font-size: calc(var(--e) * .5); font-weight: 200; }
.kachel .fahrzeuge { margin-top: 1em; }

/* aktiv: Hover oder Fokus (Tab, Antippen oder Sprung von der Ortsmarke – die Kachel ist
   das Sprungziel und bekommt dabei den Fokus). Klick daneben nimmt den Fokus weg = inaktiv. */
.rw-kacheln li:is(:hover, :focus-within) {
  z-index: 8;
  & .kachel {
    top: calc(calc(-13 * var(--1vh)) * (1 - var(--o)));            /* aufgeklappt: kein Anheben … */
    transform: scale(calc(1.5 - .5 * var(--o)));  /* … und kein Vergrößern */
    color: #fefefe;
    background-color: #0009;
    background-position: 100% bottom;
    box-shadow: 0 2.5px 0 -.5px red, 2px 2px 10px #000;
    backdrop-filter: blur(2px);
    height: calc(var(--e) * 12.1);
    margin-bottom: calc(1em * var(--o) - 1.8em * (1 - var(--o)));
    transition-delay:    0s, calc(.35s * var(--t)), calc(.35s * var(--t)), calc(.15s * var(--t)), calc(.35s * var(--t)), 0s, 0s, 0s;
    transition-duration: calc(.35s * var(--t)), calc(.35s * var(--t)), calc(.35s * var(--t)), calc(.35s * var(--t)),
                         calc(.35s * var(--t)), calc(.6s * var(--t)), 0s, 0s;
  }
}

/* End Rettungswachen */

/* ================== 6. Kontakt ================== */

/* =====================================================================
   URG Kontakt – wirkt nur auf body.itemid-105

   Aufbau:  .kontakt-seite        (Container für die Container-Query)
              └─ .kontakt         (Grid)
                   ├─ .kontakt-info   (links: Text aus dem Beitrag)
                   └─ .kontakt-team   (rechts: Modul mod_urgkontakt)
            Formular "Lob und Beschwerde": eigenes Modul mod_kontaktformular
            mit eigenem CSS, außerhalb von .kontakt-seite eingebunden.

   Grid mit zwei Spalten. Ist .kontakt-seite schmaler als --umbruch,
   wird es einspaltig (Text oben, Kacheln darunter) und die Karten
   klappen dauerhaft auf. Kein JavaScript.

   --umbruch muss in der @container-Regel unten als fester Wert stehen
   (Variablen gehen dort nicht). Berechnung:
     Spalten-Minimum 22rem + 2 Karten 38.875rem = 60.875rem
     Breite × 0.92 (Padding 2 × 4 %) × 0.96 (Spaltenabstand 4 %) ≥ 60.875rem
     → ab 69rem passen beide Spalten nebeneinander.
   Ändert sich --karte, Padding oder Abstand: 69rem unten mitändern!
   ===================================================================== */

.itemid-105 {

  /* -------------------------------------------------------------------
     Seite
     ------------------------------------------------------------------- */

  .com-content-article__body { padding: 0; max-width: none; width: auto; }

  .kontakt-seite {
    container: kontakt / inline-size;
    position: relative;
    z-index: 2;
  }

  .kontakt {
    --rot: #e31e24;
    --kachel: #172a31cc;
    --kachel-hover: #172a31f2;
    --text: #ffffffbf;

    --karte: 18.8125rem;           /* normale Kartenbreite = Mindestbreite (4 Karten = 79rem) */
    --karte-gap: 1.25rem;          /* Spaltenabstand der Karten */
    --team-min: calc(2 * var(--karte) + var(--karte-gap));   /* rechts mind. 2 Karten */

    display: grid;
    /* links: 22rem + ¼ des freien Platzes, höchstens 38rem (wie vorher flex 1 : 3);
       96% = Breite abzüglich Spaltenabstand, 60.875rem = 22rem + --team-min.
       rechts: der Rest, mindestens 2 Karten */
    grid-template-columns:
      clamp(22rem, 22rem + (96% - 60.875rem) / 4, 38rem)
      minmax(var(--team-min), 1fr);
    align-items: start;
    gap: 3rem 4%;
    padding: var(--intro-oben) 4% 4rem; /* gleiche Startposition wie Karriere */

    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
  }

  /* {loadmoduleid} im Editor oft in <p> gepackt → leere Absätze ausblenden,
     ein eventueller Modul-Rahmen (Modulstil ≠ none) wird "durchsichtig" */
  .kontakt > p:empty { display: none; }
  .kontakt > :has(> .kontakt-team) { display: contents; }

  /* -------------------------------------------------------------------
     Links: Text
     ------------------------------------------------------------------- */

  /* Text an Karriere ausgerichtet; beim Scrollen bleibt er sticky. */
  .kontakt-info {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: calc(25 * var(--1vh));
    min-width: 0;
    max-width: 38rem;
    margin-left: calc(var(--intro-links) - 4cqi); /* 4% Grid-Padding + Ausgleich = wie Karriere */
  }

  .kontakt-info h2 {
    margin: 0 0 1rem;
    font-family: 'Saira Extra Condensed', sans-serif;
    font-weight: 700;
    font-size: calc(7.5 * var(--1vw));
    line-height: 1;
    letter-spacing: -3px;
    text-transform: uppercase;
    color: #fff;
  }

  .kontakt-info p {
    margin: 0 0 16px;
    font-size: max(.75rem, calc(.9 * var(--1vw)));  /* wie Karriere/Home: nie unter 12px */
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 1px;
  }

  .kontakt-info a {
    color: #fff;
    text-decoration: none;
  }
  .kontakt-info a:hover,
  .kontakt-info a:focus-visible {
    text-decoration: underline;
  }

  .kontakt-hotline {
    text-transform: uppercase;
  }

  /* "Lob und Beschwerde" – öffnet mod_kontaktformular (#kontaktformular).
     Maße wie urg-uckermark.de/kontakt: Abstand zur Hotline = 3 Absatzabstände
     (48px; der 16px-Rand der Hotline fällt damit zusammen), Symbol 1em breit, Abstand zum
     Text ein Leerzeichen, Laufweite 1px, halbfett. */
  .kontakt-info .kontakt-link {
    margin-top: 48px;            /* .kontakt-info .kontakt-link, damit .kontakt-info p (margin: 0 …) nicht gewinnt */
  }
  .kontakt-info .kontakt-link a {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-weight: 500;
    letter-spacing: 1px;
    text-decoration: none;
    transition: color 0.5s;
  }
  .kontakt-info .kontakt-link a::before {
    content: '';
    flex: none;
    width: 1em;
    height: 0.75em;              /* Briefumschlag 4:3 */
    background: currentColor;
    /* Briefumschlag (gefüllt) */
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 384'%3E%3Cpath d='M48 0h416a48 48 0 0 1 48 48v10L256 218 0 58V48A48 48 0 0 1 48 0Zm-48 96 256 160L512 96v240a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48Z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .kontakt-info .kontakt-link a:hover,
  .kontakt-info .kontakt-link a:focus-visible {
    color: var(--rot);
    text-decoration: none;
  }

  /* -------------------------------------------------------------------
     Rechts: Kacheln (Ausgabe von mod_urgkontakt)
     ------------------------------------------------------------------- */

  .kontakt-team {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 100%;
    min-width: 0;
    max-width: calc(4 * var(--karte) + 3 * var(--karte-gap));   /* = 79rem */
    display: grid;
    /* Karten nie schmaler als --karte; reicht der Platz nicht, gibt es eine Spalte weniger */
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--karte)), 1fr));
    row-gap: 106px;              /* nebeneinander: 106px ab der roten Linie (wie live) */
    column-gap: var(--karte-gap);
    isolation: isolate;          /* eigener Stapelkontext: geöffnete Karte liegt über der nächsten Reihe */
    z-index: 99;
  }

  /* .person = Rahmen (Grid-Zelle). Nebeneinander nur so hoch wie der
     geschlossen sichtbare Kartenkopf (--zu) → Reihenabstand hängt nicht
     von der Kartenlänge ab. Die Karte ragt nach unten heraus und wird per
     clip-path abgeschnitten. Die Karte gleitet darin hoch und zeigt dabei
     mehr von sich; erst am höchsten Punkt (nach 0,35s) fällt der Schnitt
     weg und der Rahmen kommt vor die nächste Reihe. Beim Verlassen umgekehrt. */
  .person {
    --zu: 7.5rem;                /* so viel der Karte ist geschlossen sichtbar */
    position: relative;
    z-index: 0;
    max-height: var(--zu);
    clip-path: inset(calc(-1 * var(--100vh)) -1rem 0 -1rem);
    transition: z-index 0s 0.35s, clip-path 0s 0.35s;
  }
  .person:hover,
  .person:focus-within {
    z-index: 3;
    clip-path: inset(calc(-1 * var(--100vh)) -1rem calc(-1 * var(--100vh)) -1rem);
  }

  /* rote Linie pro Reihe an der Schnittkante (läuft durch die Spaltenabstände) */
  .person::after {
    content: '';
    position: absolute;
    z-index: 1;
    top: calc(var(--zu) - 1px);
    left: -0.625rem;             /* halber Spaltenabstand */
    right: -0.625rem;
    height: 1px;
    background: #ff000055;
    pointer-events: none;
  }

  /* .person-karte = die eigentliche Karte (Originalstil) */
  .person-karte {
    --bild: 7.5rem;              /* Platz rechts für das Mitarbeiterbild */
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 100%;
    padding: 1rem var(--bild) 1rem 1rem;
    outline: none;
    background: #172a31aa;
    box-shadow: -1px -1px 5px 0px white;
    transition: translate 0.35s, z-index 0s, transform 0.35s, box-shadow 0.35s;
    transition-delay: 0.35s, 0.35s, 0s, 0s;
  }

  /* Leuchten unter der Karte. Eigenes Element mit fester Höhe am Kartenboden:
     Die Schatten schrumpfen per Spread um 100px nach allen Seiten – direkt an
     der Karte verschwanden sie bei Karten unter ca. 200px Höhe (kurzer Text). */
  .person-karte::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 250px;
    box-shadow: 0px 100px 26px -100px white,
                0px 105px 8px -103px #000fff;
    pointer-events: none;
  }

  /* erst hoch (translate), am höchsten Punkt Schnitt weg + nach vorn,
     dann zurücksacken (transform) – wie Original */
  .person:hover .person-karte,
  .person:focus-within .person-karte {
    /* Höchster Punkt: mind. 80px wie Original, bei längeren Karten so hoch,
       dass die Unterkante samt Leuchten (1rem) über die rote Linie springt.
       100% = Kartenhöhe. Endlage danach: insgesamt -30px wie Original. */
    --peak: min(-80px, var(--zu) - 100% - 1rem);
    translate: 0 var(--peak);
    transform: translateY(calc(-30px - var(--peak)));
    z-index: 3;                  /* vor die rote Linie */
    background-color: #0f1c21;   /* = #172a31aa auf Schwarz, aber deckend → nächste Reihe scheint nicht durch */
    transition-delay: 0s, 0.35s, 0.35s, 0.35s;
  }

  .person-karte h3 {
    margin: 0 0 1rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    color: #ffffffdd;
    box-shadow: -8em 1.5em 0 -0.7em #bd1313d6;   /* roter Strich unter dem Namen */
    /* Strich an der linken Kartenkante abschneiden (vorher overflow: hidden der Karte,
       das aber auch das Leuchten abgeschnitten hätte) */
    clip-path: inset(-1em 0 -2em -1rem);
    /* Kasten wieder so breit wie ohne Bild-Platz (Strich bleibt gleich lang),
       der Name selbst bleibt per padding-right aber links vom Bild */
    margin-right: calc(1rem - var(--bild));
    padding-right: calc(var(--bild) - 1rem);
  }

  .person-karte p,
  .person-karte a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #ffffffaa;
    text-decoration: none;
    transition: 0.5s;
  }
  .person-karte p:first-of-type {
    padding-top: 0.5em;
  }
  .person-karte p:last-of-type {
    margin-bottom: 0;
  }
  .person-karte a {
    font-size: 1em;
    line-height: 1em;
    transition: 0.3s;
  }
  .person-karte a:hover,
  .person-karte a:focus-visible {
    font-weight: 700;
    font-size: 1.1em;
    line-height: 0.9em;
  }

  /* Foto: liegt rechts außerhalb und gleitet bei Hover herein
     (entspricht background-position 160.1% → 100.1%) */
  .person-karte img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: max(4.5rem, calc(6 * var(--1vw)));    /* 6vw wie Original */
    max-width: none;
    object-fit: contain;
    object-position: calc(100.1% + 8rem) 100%;   /* rechts außerhalb */
    pointer-events: none;
    transition: object-position 0.35s 0.35s;
  }
  .person:hover .person-karte img,
  .person:focus-within .person-karte img {
    object-position: 100.1% 100%;
  }

  /* -------------------------------------------------------------------
     Zu wenig Platz: Grid wechselt von Spalten auf Reihen
     (69rem = --umbruch, siehe Kopf)
     ------------------------------------------------------------------- */

  @container kontakt (width < 69rem) {

    /* untereinander wie Karriere/Home (videowahl.css, schmal):
       Text oben links direkt unter dem Kopf, Seitenrand --min-margin-side */
    .kontakt {
      grid-template-columns: minmax(0, 1fr);
      padding: var(--intro-oben-mobil) var(--intro-links-mobil) 4rem;
    }

    .kontakt-info {
      position: static;
      margin-left: 0;
    }
    .kontakt-info h2 {
      font-size: max(3.25rem, calc(7.5 * var(--1vw)));
      letter-spacing: -.025em;
    }
    .kontakt-info p {
      font-size: max(.9rem, calc(.9 * var(--1vw)));
    }

    .kontakt-team {
      grid-column: 1;
      grid-row: 2;
      justify-self: stretch;
      row-gap: 1.5rem;           /* untereinander: 1.5rem zwischen den offenen Karten */
    }

    /* Karten dauerhaft offen: normale Höhe, kein Schnitt, keine Linie */
    .person {
      max-height: none;
      clip-path: none;
    }
    .person::after {
      display: none;
    }

    .person-karte::after {
      display: none;             /* untereinander ohne Leuchten unter der Karte */
    }
    .person:hover .person-karte,
    .person:focus-within .person-karte {
      translate: none;           /* kein Springen */
      transform: none;
    }

    /* Foto groß (90 % der Karte) und immer sichtbar */
    .person-karte img {
      height: 90%;
      object-position: 100.1% 100%;
    }
  }

}

/* End Kontakt */
/* Auch bei einspaltigem Kontakt-Layout ab 50rem die Karriere-Position nutzen. */
/* Desktop-Regeln fuer Rettungswachen und Kontakt zusammengefasst. */
@media (min-width: 50rem) {
  .rw {
    --rw-oben: calc(var(--intro-oben) + calc(1.28 * var(--1vw)));
    --rw-links: var(--intro-links);
  }

  @container kontakt (width < 69rem) {
    .itemid-105 .kontakt {
      padding: var(--intro-oben) 4% 4rem;
    }
    .itemid-105 .kontakt-info {
      margin-left: calc(var(--intro-links) - 4cqi);
    }
  }
}
