:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.form-status {
  margin: 0 0 24px;
  padding: 14px 16px;
  border: 1px solid rgba(32,39,37,.24);
  font-size: 15px;
  line-height: 1.45;
}
.form-status[hidden] { display: none; }
.form-status.is-success { background: rgba(213,225,223,.72); }
.form-status.is-error { background: rgba(232,214,203,.72); }
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* ---------- Production navigation V1.2 ---------- */
a.brand {
  color: inherit;
  text-decoration: none;
}
a.brand:hover strong,
a.brand:focus-visible strong {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.site-header {
  position: sticky !important;
  top: 0;
  z-index: 100 !important;
  transition: min-height .22s ease, padding-block .22s ease, background-color .22s ease;
  background: rgba(248,246,241,.94) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-header.is-compact {
  min-height: 62px !important;
  padding-block: 7px !important;
}
@media (min-width:900px) {
  .site-header.is-compact {
    min-height: 66px !important;
    padding-block: 0 !important;
  }
}

.mobile-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 8px 20px 22px;
  border-bottom: 1px solid rgba(32,39,37,.22);
  background: rgba(248,246,241,.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.mobile-nav[hidden] {
  display: none;
}
.mobile-nav a {
  display: block;
  padding: 13px 0;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(32,39,37,.16);
  font-size: 16px;
  line-height: 1.25;
}
.mobile-nav a:last-child {
  border-bottom: 0;
}
.mobile-nav a:hover,
.mobile-nav a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (min-width:900px) {
  .mobile-nav {
    display: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition: none;
  }
}

/* Datenschutz: desktop-only editorial line break. */
.privacy-title{max-width:100%;}
@media (min-width:900px){.privacy-title{max-width:210px;}}

/* V1.3: sticky-header offset for direct form links */
#formular{
  scroll-margin-top:96px;
}

/* Mobile-Menü: drei feine Linien statt Text/Kasten */
.site-header .menu{
  position:relative;
  width:44px;
  height:44px;
  min-height:44px;
  padding:0 !important;

  -webkit-appearance:none;
  appearance:none;

  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;

  color:var(--ink);
  font-size:0;       /* blendet das Wort "Menü" visuell aus */
  line-height:0;
  cursor:pointer;
}

/* obere + untere Linie */
.site-header .menu::before{
  content:"";
  position:absolute;
  left:50%;
  top:13px;

  width:28px;
  height:1px;
  background:currentColor;

  transform:translateX(-50%);
  box-shadow:0 18px 0 currentColor;
}

/* mittlere, etwas kürzere Linie */
.site-header .menu::after{
  content:"";
  position:absolute;
  left:50%;
  top:22px;

  width:21px;
  height:1px;
  background:currentColor;

  transform:translateX(-50%);
}

/* Tastaturfokus sichtbar, ohne wieder einen dauerhaften Kasten zu erzeugen */
.site-header .menu:focus-visible{
  outline:1px solid currentColor;
  outline-offset:2px;
}

/* geöffneter Zustand: dezente Bewegung der mittleren Linie */
.site-header .menu[aria-expanded="true"]::after{
  width:28px;
  transform:translateX(-50%) translateX(3px);
}

@media (prefers-reduced-motion:no-preference){
  .site-header .menu::after{
    transition:width .2s ease, transform .2s ease;
  }
}

/* Mobile-Men: drei feine Linien statt Text/Kasten */
.site-header .menu{
  position:relative;
  width:44px;
  height:44px;
  min-height:44px;
  padding:0 !important;

  -webkit-appearance:none;
  appearance:none;

  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;

  color:var(--ink);
  font-size:0;       /* blendet das Wort "Men" visuell aus */
  line-height:0;
  cursor:pointer;
}

/* obere + untere Linie */
.site-header .menu::before{
  content:"";
  position:absolute;
  left:50%;
  top:13px;

  width:28px;
  height:1px;
  background:currentColor;

  transform:translateX(-50%);
  box-shadow:0 18px 0 currentColor;
}

/* mittlere, etwas krzere Linie */
.site-header .menu::after{
  content:"";
  position:absolute;
  left:50%;
  top:22px;

  width:21px;
  height:1px;
  background:currentColor;

  transform:translateX(-50%);
}

/* Tastaturfokus sichtbar, ohne wieder einen dauerhaften Kasten zu erzeugen */
.site-header .menu:focus-visible{
  outline:1px solid currentColor;
  outline-offset:2px;
}

/* geffneter Zustand: dezente Bewegung der mittleren Linie */
.site-header .menu[aria-expanded="true"]::after{
  width:28px;
  transform:translateX(-50%) translateX(3px);
}

@media (prefers-reduced-motion:no-preference){
  .site-header .menu::after{
    transition:width .2s ease, transform .2s ease;
  }
}