  /* Inter 4 (variabel, 100–900), selbst gehostet. Lizenz: SIL OFL 1.1, siehe fonts/LICENSE.txt.
     Quelle: @fontsource-variable/inter 5.3.0. Keine Verbindung zu externen Servern. */
  @font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
    src:url(fonts/inter-latin.woff2) format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
    src:url(fonts/inter-latin-ext.woff2) format("woff2");
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

  :root{
    --midnight:#0B0D17; --lavender:#6F6CFF; --bone:#F5F3EE;
    --stone:#D8D6CF; --slate:#3A3F4B;
    --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px; --s12:96px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{background:var(--midnight);color:var(--bone);scrollbar-gutter:stable}
  body{
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    font-size:17px;line-height:1.7;
    max-width:720px;margin:0 auto;padding:0 var(--s3);
    min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  }
  a{color:var(--lavender);text-decoration:none;border-bottom:1px solid transparent}
  a:hover,a:focus-visible{border-bottom-color:var(--lavender)}

  /* Kopf */
  .brand{text-align:center;padding-bottom:var(--s12)}
  /* Logo-Dateien aus assets/decision-radius-logos-regel-b, je Größe optimiert (REGEL-B.md) */
  .brand img{width:min(320px,80vw);height:auto}

  /* Startseite */
  .home .brand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s8) 0}

  /* Unterseiten */
  body > header:not(.brand){position:sticky;top:0;z-index:1;background:var(--midnight);
        padding:var(--s4) 0 var(--s2)}
  .mini{display:inline-flex;align-items:center;gap:var(--s2);border:0;color:var(--bone);
        font-size:13px;font-weight:600;letter-spacing:.3em}
  .mini{padding:6px 0}
  .mini img{width:32px;height:25px}
  .mini:hover{border:0;color:var(--lavender)}
  main{flex:1;padding:var(--s6) 0 var(--s8)}
  h1,h2{font-size:clamp(26px,7vw,32px);overflow-wrap:break-word;hyphens:auto;font-weight:600;letter-spacing:.02em;line-height:1.25;margin-bottom:var(--s4)}
  h2{margin-top:var(--s8)}
  h3{font-size:17px;font-weight:600;letter-spacing:.01em;margin:var(--s4) 0 var(--s1)}
  p,address,ul{margin-bottom:var(--s2)}
  address{font-style:normal;border-left:1px solid var(--slate);padding-left:var(--s2)}
  ul{padding-left:var(--s3)}
  .muted{color:var(--stone);font-size:15px}

  /* Formular */
  form{display:grid;gap:var(--s3)}
  label{display:grid;gap:var(--s1);color:var(--stone)}
  form .muted{font-size:inherit}
  form .muted strong{color:var(--bone);font-weight:600}
  input,textarea{
    font:inherit;color:var(--bone);background:transparent;
    border:0;border-bottom:1px solid var(--slate);padding:var(--s1) 0;border-radius:0;
    font-size:17px;
  }
  ::placeholder{color:#7C7C7C;opacity:1}
  input:focus,textarea:focus{outline:none;border-bottom-color:var(--lavender)}
  textarea{min-height:140px;resize:vertical}
  .hp{position:absolute;left:-9999px}
  button{
    justify-self:start;font:inherit;font-size:14px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--midnight);background:var(--lavender);border:0;padding:var(--s2) var(--s4);cursor:pointer;
  }
  button:hover{background:var(--bone)}

  /* Fusszeile: Links immer mittig an derselben Stelle, Sprachwahl rechts daneben */
  footer{position:sticky;bottom:0;z-index:2;background:var(--midnight);
         display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
         padding:var(--s1) 0 var(--s2);font-size:14px;color:var(--stone)}
  footer nav{grid-column:2;display:flex;gap:var(--s4)}
  footer a{padding:10px 0}
  footer a[aria-current]{color:var(--bone)}

  /* Sprachwahl (ohne JavaScript) */
  .lang{grid-column:3;justify-self:end;position:relative}
  .lang summary{list-style:none;display:flex;align-items:center;gap:var(--s1);
         min-height:44px;cursor:pointer;color:var(--stone)}
  .lang summary::-webkit-details-marker{display:none}
  .lang summary:hover,.lang[open] summary{color:var(--bone)}
  .lang summary:focus-visible{outline:1px solid var(--lavender);outline-offset:4px}
  .lang svg{width:16px;height:16px;fill:currentColor;flex:none}
  .chev{width:6px;height:6px;border-top:1px solid currentColor;border-left:1px solid currentColor;
        transform:translateY(2px) rotate(45deg);margin-left:2px}
  .lang[open] .chev{transform:translateY(-1px) rotate(225deg)}
  .lang ul{position:absolute;right:0;bottom:100%;margin:0 0 var(--s1);padding:var(--s1) 0;list-style:none;
           min-width:140px;background:var(--midnight);border:1px solid var(--slate)}
  .lang li a{display:block;padding:10px var(--s2);color:var(--bone);border:0}
  .lang li a:hover,.lang li a:focus-visible{color:var(--lavender);border:0}
  .lang li a[aria-current]{color:var(--lavender)}
  .lang li a[aria-current]::after{content:" ✓"}

  /* Kleine Bildschirme */
  @media (max-width:480px){
    body > header:not(.brand){padding:var(--s2) 0 var(--s1)}
    main{padding-top:var(--s4)}
    /* Schmale Bildschirme: Links links, Sprachwahl rechts, damit beides Platz hat */
    footer{grid-template-columns:auto 1fr}
    footer nav{grid-column:1;gap:var(--s2)}
    .lang{grid-column:2}
    .lang-name{display:none}
  }
  /* Querformat am Handy: wenig Hoehe, Kopf und Fuss nicht fixieren */
  @media (max-height:480px){
    body > header:not(.brand), footer{position:static}
  }
  @media (max-width:360px){
    footer nav{gap:12px}
  }
