/* ==========================================================================
   tqal.de – Meldestelle (Bootstrap 5 + Parallax)
   Gleicher Stil wie die Startseite von Tiernotruf Saarland e.V.
   Wird nach bootstrap.min.css geladen. Farben und Schriften stehen oben unter :root.
   ========================================================================== */

@font-face{font-family:Outfit;font-weight:800;font-display:swap;src:url(assets/fonts/outfit-800.woff2) format("woff2")}
@font-face{font-family:Outfit;font-weight:900;font-display:swap;src:url(assets/fonts/outfit-900.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:400;font-display:swap;src:url(assets/fonts/manrope-400.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:600;font-display:swap;src:url(assets/fonts/manrope-600.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-700.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-500.woff2) format("woff2")}

:root{
  /* Farben */
  --tn-navy:#0a192f;
  --tn-navy2:#112240;
  --tn-hivis:#e4ff00;
  --tn-red:#dc2626;
  --tn-red-d:#b91c1c;
  --tn-paper:#f4f5f6;
  --tn-muted:#4d5b73;
  --tn-line:#d7dce3;
  --tn-bg:#fff;
  --tn-on-dark:rgba(255,255,255,.74);
  /* Schriften */
  --tn-disp:Outfit,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tn-body:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --tn-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* Maße */
  --tn-pad:clamp(1.25rem,4vw,3.5rem);
  --tn-sec:clamp(3.5rem,7vw,6.5rem);
  --tn-top-h:4.25rem;
  /* Bootstrap an die Hausfarben anpassen */
  --bs-body-font-family:var(--tn-body);
  --bs-body-color:var(--tn-navy);
  --bs-body-bg:var(--tn-bg);
  --bs-border-radius:0;
  --bs-border-radius-lg:0;
  --bs-border-radius-sm:0;
  --bs-link-color:var(--tn-navy);
  --bs-link-color-rgb:10,25,47;
  --bs-link-hover-color:var(--tn-navy);
  --bs-link-hover-color-rgb:10,25,47;
}

html{font-size:var(--a11y-font-scale,100%);scroll-behavior:smooth;scroll-padding-top:calc(var(--tn-top-h) + 1rem)}
body{font-family:var(--tn-body);color:var(--tn-navy);background:var(--tn-bg);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--tn-hivis);outline-offset:3px;box-shadow:0 0 0 6px var(--tn-navy)}
[hidden]{display:none!important}

.tn-wrap{width:100%;max-width:90rem;margin-inline:auto;padding-inline:var(--tn-pad)}
.tn-i{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tn-i-fill{fill:currentColor;stroke:none}
.tn-mono{font-family:var(--tn-mono);font-weight:500;letter-spacing:.02em}

.tn-skip{position:fixed;left:1rem;top:1rem;z-index:200;background:var(--tn-hivis);color:var(--tn-navy);padding:.75rem 1rem;font-weight:700}

/* ---------- Überschriften ---------- */
.tn-h2{font:900 clamp(2rem,4.6vw,4rem)/.95 var(--tn-disp);letter-spacing:-.03em;text-transform:uppercase;margin:0;text-wrap:balance}
.tn-h3{font:800 1.25rem/1.15 var(--tn-disp);letter-spacing:-.005em;text-transform:uppercase;margin:0}
.tn-lead{font-size:clamp(1.0625rem,1.3vw,1.1875rem);color:var(--tn-muted);max-width:36em;margin:1.25rem 0 0}

/* ---------- Schaltflächen ---------- */
.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font:800 .9375rem/1.1 var(--tn-disp);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;padding:1rem 1.25rem;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s}
.tn-btn:active{transform:translateY(2px)}
.tn-btn--red{background:var(--tn-red);color:#fff;box-shadow:0 4px 0 0 var(--tn-red-d)}
.tn-btn--red:hover{background:var(--tn-red-d);color:#fff}
.tn-btn--hivis{background:var(--tn-hivis);color:var(--tn-navy)}
.tn-btn--hivis:hover{background:#fff;color:var(--tn-navy)}
.tn-btn--navy{background:var(--tn-navy);color:#fff}
.tn-btn--navy:hover{background:var(--tn-hivis);color:var(--tn-navy)}
.tn-btn--line{border-color:var(--tn-navy);color:var(--tn-navy);background:transparent}
.tn-btn--line:hover{background:var(--tn-navy);color:var(--tn-hivis)}
.tn-btn--line-light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(10,25,47,.25)}
.tn-btn--line-light:hover{background:#fff;color:var(--tn-navy);border-color:#fff}
.tn-btn--big{font-size:1.0625rem;padding:1.15rem 1.5rem}

/* ---------- Kopfzeile ---------- */
.tn-top{position:fixed;inset:0 0 auto 0;z-index:80;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:background-color .25s,box-shadow .25s,color .25s}
.tn-top::before{content:"";position:absolute;inset:0 0 -2.5rem 0;background:linear-gradient(rgba(10,25,47,.6),transparent);pointer-events:none;transition:opacity .25s}
.tn-top-in{position:relative;display:flex;align-items:center;gap:.75rem;height:var(--tn-top-h)}
.tn-top.is-solid{background:rgba(255,255,255,.97);color:var(--tn-navy);box-shadow:0 1px 0 0 rgba(10,25,47,.1)}
.tn-top.is-solid::before{opacity:0}
.tn-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;margin-right:auto}
.tn-logo i{position:relative;width:2.5rem;height:2.5rem;display:grid;place-items:center;background:var(--tn-navy);color:var(--tn-hivis);font:900 1rem/1 var(--tn-disp);font-style:normal}
.tn-logo i::after{content:"";position:absolute;right:-.25rem;top:-.25rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--tn-red)}
.tn-logo b{display:block;font:900 1rem/1 var(--tn-disp);letter-spacing:.01em;text-transform:uppercase}
.tn-logo small{display:block;font:500 .6875rem/1.4 var(--tn-mono);letter-spacing:.2em;text-transform:uppercase;opacity:.75;margin-top:.15rem}
.tn-top-link{color:inherit;text-decoration:none;font:800 .8125rem/1 var(--tn-disp);letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1rem;border:2px solid currentColor}
.tn-top-link:hover{background:var(--tn-hivis);color:var(--tn-navy);border-color:var(--tn-hivis)}
.tn-hot{display:inline-flex;align-items:center;gap:.5rem;background:var(--tn-red);color:#fff;text-decoration:none;font:800 .875rem/1 var(--tn-disp);letter-spacing:.1em;padding:.9rem 1rem;box-shadow:0 3px 0 0 var(--tn-red-d);white-space:nowrap}
.tn-hot:hover{background:var(--tn-red-d);color:#fff}
.tn-hot-kurz{display:none}
.tn-burger{width:2.875rem;height:2.875rem;display:grid;place-items:center;background:transparent;color:inherit;border:2px solid currentColor;cursor:pointer}
.tn-burger:hover{background:var(--tn-hivis);color:var(--tn-navy);border-color:var(--tn-hivis)}

/* ---------- Hero mit Parallax ---------- */
.tn-hero{position:relative;display:grid;align-items:end;min-height:36rem;min-height:max(36rem,min(100svh,62rem));background:var(--tn-navy);color:#fff;overflow:hidden;isolation:isolate}
.tn-px{position:absolute;inset:-18% 0;z-index:-2;will-change:transform}
.tn-px img{width:100%;height:100%;object-fit:cover;display:block}
.tn-hero .tn-px img{object-position:58% 42%}
.tn-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,25,47,.96) 0%,rgba(10,25,47,.86) 28%,rgba(10,25,47,.5) 52%,rgba(10,25,47,.08) 74%,rgba(10,25,47,0) 86%)}
.tn-hero-in{padding-top:calc(var(--tn-top-h) + 3rem);padding-bottom:clamp(3rem,6vw,4.5rem)}
.tn-live{display:inline-flex;align-items:center;gap:.6rem;font:700 .875rem/1.2 var(--tn-body);color:var(--tn-navy);background:var(--tn-hivis);padding:.5rem .75rem;margin:0 0 1.5rem}
.tn-live i{width:.6rem;height:.6rem;border-radius:50%;background:var(--tn-red);animation:tnPuls 1.8s ease-in-out infinite}
@keyframes tnPuls{50%{opacity:.25}}
.tn-hero h1{font:900 clamp(2.125rem,5.2vw,4.75rem)/.94 var(--tn-disp);letter-spacing:-.03em;text-transform:uppercase;margin:0;text-shadow:0 .125rem 1.75rem rgba(10,25,47,.6)}
.tn-hero h1 span{display:block;color:var(--tn-hivis)}
.tn-hero-lead{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:rgba(255,255,255,.88);max-width:33em;margin:1.5rem 0 0}
.tn-hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}
.tn-hero-in > *{animation:tnAuf .7s cubic-bezier(.2,.8,.2,1) both}
.tn-hero-in > :nth-child(2){animation-delay:.08s}
.tn-hero-in > :nth-child(3){animation-delay:.16s}
.tn-hero-in > :nth-child(4){animation-delay:.24s}
@keyframes tnAuf{from{opacity:0;transform:translateY(1.25rem)}}
.tn-tape{height:.875rem;background:repeating-linear-gradient(-45deg,var(--tn-hivis) 0 1.125rem,var(--tn-navy) 1.125rem 2.25rem)}

/* ---------- Schnellwahl "Was ist passiert?" ---------- */
.tn-console{position:relative;z-index:2;background:var(--tn-paper);padding-bottom:clamp(2rem,4vw,3rem)}
.tn-console-box{display:grid;background:#fff;border:2px solid var(--tn-navy);box-shadow:.5rem .5rem 0 0 var(--tn-navy);transform:translateY(-1.75rem);margin-bottom:-1.75rem}
.tn-console-head{background:var(--tn-navy);color:#fff;padding:1.25rem 1.5rem;display:flex;flex-direction:column;justify-content:center}
.tn-console-head h2{font:900 clamp(1.375rem,2vw,1.75rem)/1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;margin:0;color:var(--tn-hivis)}
.tn-console-head p{margin:.5rem 0 0;font-size:.9375rem;color:var(--tn-on-dark)}
.tn-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-tile{position:relative;display:flex;flex-direction:column;gap:.35rem;min-height:100%;padding:1.25rem 1.25rem 1.4rem;color:var(--tn-navy);text-decoration:none;border-top:2px solid var(--tn-navy);transition:background-color .15s}
.tn-tile:nth-child(odd){border-right:2px solid var(--tn-navy)}
.tn-tile .tn-i{width:1.875rem;height:1.875rem;margin-bottom:.5rem}
.tn-tile b{font:800 clamp(1.0625rem,1.5vw,1.3125rem)/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.005em}
.tn-tile span{font-size:.9375rem;line-height:1.4;color:var(--tn-muted)}
.tn-tile:hover,.tn-tile:focus-visible{background:var(--tn-hivis);color:var(--tn-navy)}
.tn-tile:hover span,.tn-tile:focus-visible span{color:var(--tn-navy)}
@media(min-width:62rem){
  .tn-console-box{grid-template-columns:minmax(14rem,1fr) 4fr;transform:translateY(-3.5rem);margin-bottom:-3.5rem}
  .tn-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tn-tile{border-top:0;border-right:0!important;border-left:2px solid var(--tn-navy);padding:1.5rem 1.5rem 1.75rem}
}
.tn-also{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline;margin:1.75rem 0 0;font-size:.9375rem}
.tn-also span{color:var(--tn-muted)}
.tn-also a{font-weight:700;color:var(--tn-navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em;text-decoration-color:var(--tn-hivis)}
.tn-also a:hover{background:var(--tn-hivis)}

/* ---------- Abschnitte ---------- */
.tn-sec{padding-block:var(--tn-sec)}
.tn-sec--paper{background:var(--tn-paper)}
.tn-sec--navy{background:var(--tn-navy);color:#fff}
.tn-sec--navy .tn-lead{color:var(--tn-on-dark)}
.tn-sec-head{display:flex;flex-wrap:wrap;gap:1.25rem 3rem;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2rem,4vw,3.25rem)}

/* ---------- So läuft ein Anruf ab ---------- */
.tn-steps{list-style:none;counter-reset:schritt;margin:clamp(2rem,4vw,3.25rem) 0 0;padding:0;display:grid;gap:0}
.tn-steps li{counter-increment:schritt;position:relative;padding:1.5rem 0 1.5rem 4rem;border-top:1px solid rgba(255,255,255,.3)}
.tn-steps li::before{content:counter(schritt);position:absolute;left:0;top:1.25rem;width:2.75rem;height:2.75rem;display:grid;place-items:center;background:var(--tn-hivis);color:var(--tn-navy);font:900 1.25rem/1 var(--tn-disp)}
.tn-steps b{display:block;font:800 clamp(1.25rem,1.8vw,1.5rem)/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.tn-steps span{display:block;margin-top:.5rem;color:var(--tn-on-dark);max-width:30em}
@media(min-width:62rem){
  .tn-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
  .tn-steps li{padding:5rem 0 0}
  .tn-steps li::before{top:1.5rem}
}

/* ---------- Tierarzt-Notdienst ---------- */
#saarland-notdienst-home{background:var(--tn-paper);padding-block:clamp(2rem,4vw,3.5rem) var(--tn-sec)}
.tn-notdienst-links{display:flex;flex-wrap:wrap;gap:.75rem}
#saarland-notdienst-widget{width:100%}
#saarland-notdienst-widget .snw-panel{margin-bottom:0}

/* ---------- Laufband ---------- */
.tn-marquee{background:var(--tn-navy);color:var(--tn-hivis);overflow:hidden;border-block:2px solid var(--tn-navy)}
.tn-marquee-track{display:flex;width:max-content;animation:tnLauf 38s linear infinite}
.tn-marquee:hover .tn-marquee-track{animation-play-state:paused}
.tn-marquee ul{display:flex;list-style:none;margin:0;padding:0}
.tn-marquee li{display:flex;align-items:center;gap:1.75rem;padding:1rem 0 1rem 1.75rem;font:900 clamp(1.125rem,2.2vw,1.75rem)/1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap}
.tn-marquee li::after{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#fff}
@keyframes tnLauf{to{transform:translateX(-50%)}}

/* ---------- Leistungen ---------- */
@media(min-width:62rem){.tn-sticky{position:sticky;top:calc(var(--tn-top-h) + 2rem)}}
.tn-sticky .tn-h2{font-size:clamp(2rem,3.6vw,3.25rem)}
.tn-svc{list-style:none;margin:0;padding:0}
.tn-svc > li{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1.25rem;padding:1.75rem 0;border-top:2px solid var(--tn-navy)}
.tn-svc > li:last-child{border-bottom:2px solid var(--tn-navy)}
.tn-svc-icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;background:var(--tn-navy);color:var(--tn-hivis)}
.tn-svc-icon .tn-i{width:1.625rem;height:1.625rem}
.tn-svc h3{font:800 clamp(1.25rem,2vw,1.625rem)/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;margin:0}
.tn-svc p{margin:.6rem 0 0;max-width:40em;color:var(--tn-muted)}
.tn-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}
.tn-tags li{display:block;padding:.2rem .5rem;border:1px solid var(--tn-line);font-size:.8125rem;font-weight:600;color:var(--tn-muted);background:var(--tn-paper)}

/* ---------- Parallax-Bänder ---------- */
.tn-band{position:relative;overflow:hidden;isolation:isolate;background:var(--tn-navy);color:#fff;padding-block:clamp(4.5rem,10vw,9rem)}
.tn-band-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(10,25,47,.8),rgba(10,25,47,.58))}
.tn-band--cta .tn-band-shade{background:linear-gradient(90deg,rgba(10,25,47,.94) 0%,rgba(10,25,47,.8) 42%,rgba(10,25,47,.15) 78%)}
.tn-band--cta .tn-px img{object-position:70% 35%}
.tn-band p{color:rgba(255,255,255,.85)}
.tn-stats{display:grid;gap:0;margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid rgba(255,255,255,.3)}
.tn-stat{padding:1.75rem 0;border-bottom:1px solid rgba(255,255,255,.3)}
.tn-stat b{display:block;font:900 clamp(3rem,7vw,5.5rem)/1 var(--tn-disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.tn-stat b em{font-style:normal;color:var(--tn-hivis);font-size:.5em;letter-spacing:0;margin-left:.15em}
.tn-stat span{display:block;margin-top:.6rem;font-weight:600;color:rgba(255,255,255,.8)}
@media(min-width:48rem){
  .tn-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tn-stat{padding:2.25rem 2rem 2.25rem 0;border-bottom:1px solid rgba(255,255,255,.3)}
  .tn-stat + .tn-stat{padding-left:2rem;border-left:1px solid rgba(255,255,255,.3)}
}
.tn-tools{margin-top:clamp(2rem,4vw,3rem)}
.tn-tools h3{color:var(--tn-hivis)}
.tn-tools p{margin:.5rem 0 0;max-width:30em}
.tn-cta-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* ---------- Letzte Einsätze ---------- */
.tn-case{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border:2px solid var(--tn-navy);transition:box-shadow .15s,transform .15s}
.tn-case:hover,.tn-case:focus-within{box-shadow:.5rem .5rem 0 0 var(--tn-hivis),.5rem .5rem 0 2px var(--tn-navy);transform:translate(-.2rem,-.2rem)}
.tn-case-img{position:relative;aspect-ratio:4/3;background:var(--tn-navy2);overflow:hidden}
.tn-case-img img{width:100%;height:100%;object-fit:cover;display:block}
.tn-case-status{position:absolute;left:0;bottom:0;background:var(--tn-hivis);color:var(--tn-navy);font-weight:700;font-size:.8125rem;padding:.35rem .6rem}
.tn-case-status.is-laufend{background:var(--tn-red);color:#fff}
.tn-case-body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.tn-case-meta{font-size:.8125rem;color:var(--tn-muted)}
.tn-case h3 a{color:inherit;text-decoration:none}
.tn-case h3 a::after{content:"";position:absolute;inset:0}
.tn-case-ort{font-weight:700;font-size:.9375rem;margin:0}
.tn-case-text{color:var(--tn-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.tn-case-more{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.85rem;height:100%;min-height:17rem;padding:1.5rem;background:var(--tn-navy);color:#fff;text-decoration:none;border:2px solid var(--tn-navy)}
.tn-case-more b{font:900 clamp(1.5rem,2.4vw,2rem)/1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;color:var(--tn-hivis)}
.tn-case-more span{color:var(--tn-on-dark)}
.tn-case-more i{font:800 .875rem/1 var(--tn-disp);font-style:normal;letter-spacing:.07em;text-transform:uppercase;background:var(--tn-hivis);color:var(--tn-navy);padding:.8rem 1rem;margin-top:.5rem}
.tn-case-more:hover{color:#fff}
.tn-case-more:hover i{background:#fff}

/* ---------- Galerie ---------- */
.tn-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:48rem){.tn-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tn-gal button{position:relative;display:block;padding:0;border:0;background:var(--tn-navy2);aspect-ratio:1/1;overflow:hidden;cursor:zoom-in;color:#fff;text-align:left}
@media(min-width:48rem){.tn-gal button{aspect-ratio:4/3}}
.tn-gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.tn-gal button:hover img,.tn-gal button:focus-visible img{transform:scale(1.05)}
.tn-gal figcaption,.tn-gal .tn-gal-cap{position:absolute;inset:auto 0 0 0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(10,25,47,.9));font:800 .9375rem/1.2 var(--tn-disp);text-transform:uppercase}
.tn-gal .tn-gal-cap small{display:block;font:700 .75rem/1.3 var(--tn-body);text-transform:none;color:var(--tn-hivis);margin-bottom:.2rem}
.tn-gal button:focus-visible{outline-offset:-3px;z-index:1}
#tnLightbox .modal-content{background:var(--tn-navy);color:#fff;border:2px solid var(--tn-hivis)}
#tnLightbox .modal-body{padding:0;position:relative;background:#000;display:grid;place-items:center;min-height:12rem}
#tnLightbox .modal-body img{max-width:100%;max-height:78vh;display:block}
#tnLightbox .modal-footer{justify-content:space-between;border-top:0;gap:1rem;flex-wrap:nowrap}
#tnLightbox .tn-lb-cap{font:800 1rem/1.2 var(--tn-disp);text-transform:uppercase;margin:0}
.tn-lb-nav{display:flex;gap:.5rem;flex:none}
.tn-lb-btn{width:2.75rem;height:2.75rem;display:grid;place-items:center;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);cursor:pointer}
.tn-lb-btn:hover{background:var(--tn-hivis);color:var(--tn-navy);border-color:var(--tn-hivis)}

/* ---------- Unterstützer ---------- */
.tn-partner{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.5rem;border:2px solid var(--tn-line);color:var(--tn-navy);text-decoration:none;transition:border-color .15s,background-color .15s}
.tn-partner small{font-weight:700;font-size:.8125rem;color:var(--tn-muted)}
.tn-partner b{font:800 1.375rem/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em}
.tn-partner span{color:var(--tn-muted);font-size:.9375rem}
.tn-partner:hover,.tn-partner:focus-visible{border-color:var(--tn-navy);background:var(--tn-hivis);color:var(--tn-navy)}
.tn-partner:hover small,.tn-partner:hover span{color:var(--tn-navy)}

/* ---------- Fußbereich ---------- */
.tn-foot{background:var(--tn-navy);color:var(--tn-on-dark);padding-top:var(--tn-sec)}
.tn-foot h2{font:800 1rem/1.2 var(--tn-disp);text-transform:uppercase;letter-spacing:.04em;color:var(--tn-hivis);margin:0 0 1rem}
.tn-foot a{color:#fff;text-decoration:none}
.tn-foot a:hover{color:var(--tn-hivis);text-decoration:underline}
.tn-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.tn-foot-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-foot-brand b{display:block;font:900 clamp(1.75rem,3vw,2.5rem)/.95 var(--tn-disp);text-transform:uppercase;color:#fff;letter-spacing:-.02em}
.tn-foot-brand p{margin:1rem 0 1.5rem;max-width:24em}
.tn-foot-call{display:block;font:900 clamp(1.75rem,2.6vw,2.25rem)/1 var(--tn-disp);color:#fff;margin-bottom:.75rem}
.tn-soc{display:flex!important;gap:.6rem}
.tn-soc a{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3)}
.tn-soc a:hover{border-color:var(--tn-hivis);color:var(--tn-hivis)}
.tn-foot-end{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;margin-top:var(--tn-sec);padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-size:.875rem}
.tn-foot-end ul{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
@media(min-width:48rem){.tn-foot-end{padding-bottom:5.5rem}}

/* ---------- Feste Elemente: WhatsApp, Notruf-Leiste, Barrierefreiheit ---------- */
.tn-wa{position:fixed;right:calc(1.25rem + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:70;width:4rem;height:4rem;border-radius:50%;background:#25d366;display:none;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s}
.tn-wa:hover{transform:translateY(-50%) scale(1.08)}
.tn-wa svg{width:2.25rem;height:2.25rem;fill:#fff}
@media(min-width:48rem){.tn-wa{display:grid}}

.tn-dock{position:fixed;inset:auto 0 0 0;z-index:75;display:grid;grid-template-columns:1.3fr 1fr 1.15fr 3.25rem;background:var(--tn-navy);border-top:2px solid var(--tn-hivis);padding-bottom:env(safe-area-inset-bottom,0px)}
.tn-dock a,.tn-dock button{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:3.5rem;padding:.5rem .25rem;background:transparent;color:#fff;text-decoration:none;font:800 .75rem/1 var(--tn-disp);letter-spacing:.04em;text-transform:uppercase;border:0;border-left:1px solid rgba(255,255,255,.2);cursor:pointer}
.tn-dock a:first-child{background:var(--tn-red);border-left:0}
.tn-dock button{color:var(--tn-hivis)}
.tn-dock button .tn-i{width:1.5rem;height:1.5rem}
@media(max-width:22.4rem){.tn-dock a .tn-i{display:none}}
@media(min-width:48rem){.tn-dock{display:none}}
@media(max-width:47.99rem){body{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom,0px))}.tn-hero{min-height:max(34rem,calc(100svh - 3.5rem))}}

.tn-a11y-btn{position:fixed;left:1.25rem;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:76;width:3.5rem;height:3.5rem;display:grid;place-items:center;background:var(--tn-navy);color:var(--tn-hivis);border:2px solid var(--tn-hivis);box-shadow:0 8px 24px rgba(0,0,0,.25);cursor:pointer}
.tn-a11y-btn:hover{background:var(--tn-hivis);color:var(--tn-navy);border-color:var(--tn-navy)}
.tn-a11y-btn .tn-i{width:1.625rem;height:1.625rem}
@media(max-width:47.99rem){.tn-a11y-btn{display:none}}
.tn-a11y{position:fixed;left:1.25rem;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));z-index:77;width:min(23.75rem,calc(100vw - 2rem));background:#fff;color:var(--tn-navy);border:2px solid var(--tn-navy);box-shadow:0 20px 50px rgba(0,0,0,.3);max-height:calc(100vh - 8rem);overflow:auto}
@media(max-width:47.99rem){.tn-a11y{left:1rem;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 6rem)}}
.tn-a11y-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--tn-line)}
.tn-a11y-head h2{font:900 1.25rem/1 var(--tn-disp);text-transform:uppercase;margin:0}
.tn-a11y-x{width:2rem;height:2rem;display:grid;place-items:center;background:#fff;border:1px solid var(--tn-muted);cursor:pointer}
.tn-a11y-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--tn-line)}
.tn-a11y-row b{display:block;font:800 .9375rem/1.2 var(--tn-disp);text-transform:uppercase}
.tn-a11y-row small{display:block;color:var(--tn-muted);font-size:.8125rem}
.tn-a11y-step{display:flex;gap:.25rem}
.tn-a11y-step button{width:2.5rem;height:2.5rem;background:#fff;border:1px solid var(--tn-navy);font:800 1rem/1 var(--tn-disp);cursor:pointer}
.tn-a11y-step button:disabled{opacity:.3;cursor:default}
.tn-a11y-sw{flex:none;position:relative;width:3rem;height:1.625rem;background:#fff;border:2px solid var(--tn-navy);cursor:pointer;padding:0}
.tn-a11y-sw::after{content:"";position:absolute;left:2px;top:2px;width:1.125rem;height:1.125rem;background:var(--tn-navy);transition:transform .15s}
.tn-a11y-sw[aria-checked=true]{background:var(--tn-hivis)}
.tn-a11y-sw[aria-checked=true]::after{transform:translateX(1.375rem)}
.tn-a11y-reset{display:block;width:100%;padding:.9rem;background:var(--tn-navy);color:#fff;border:0;font:800 .875rem/1 var(--tn-disp);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.tn-a11y-reset:hover{background:var(--tn-hivis);color:var(--tn-navy)}

/* ---------- Kleine Bildschirme ---------- */
@media(max-width:35.99rem){
  .tn-hot-lang{display:none}
  .tn-hot-kurz{display:inline}
  .tn-top-in{gap:.5rem}
  .tn-logo small{display:none}
  .tn-hero .tn-px img{object-position:46% 40%}
  .tn-hero-cta .tn-btn{width:100%}
  .tn-foot-nav{grid-template-columns:1fr 1fr}
}

/* ---------- Weniger Bewegung ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tn-hero-in > *,.tn-marquee-track,.tn-live i{animation:none!important}
  .tn-px{transform:none!important}
  *{transition-duration:.001ms!important}
}
html.a11y-reduce-motion{scroll-behavior:auto}
html.a11y-reduce-motion *,html.a11y-reduce-motion ::before,html.a11y-reduce-motion ::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
html.a11y-reduce-motion .tn-marquee-track{animation:none!important}
html.a11y-reduce-motion .tn-px{transform:none!important}

/* ---------- Barrierefreiheit: gleiche Schalter wie auf den übrigen Seiten ---------- */
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-underline a{text-decoration:underline!important;text-underline-offset:3px}
html.a11y-readable body{letter-spacing:.02em;line-height:1.75}
html.a11y-readable p,html.a11y-readable li,html.a11y-readable a,html.a11y-readable span,html.a11y-readable button{font-family:var(--tn-body)!important;letter-spacing:.02em}
html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3{letter-spacing:0!important}
html.a11y-contrast{
  --tn-navy:#ffeb00;--tn-navy2:#000;--tn-hivis:#ffeb00;--tn-paper:#000;--tn-muted:#ffeb00;--tn-line:#ffeb00;--tn-bg:#000;--tn-on-dark:#ffeb00;
}
html.a11y-contrast body,html.a11y-contrast section,html.a11y-contrast footer,html.a11y-contrast header,
html.a11y-contrast .tn-console-box,html.a11y-contrast .tn-console-head,html.a11y-contrast .tn-case,html.a11y-contrast .tn-partner,
html.a11y-contrast .tn-a11y,html.a11y-contrast .tn-dock,html.a11y-contrast .tn-marquee,html.a11y-contrast .tn-tags li,
html.a11y-contrast .tn-svc-icon,html.a11y-contrast .tn-logo i,html.a11y-contrast .tn-live,html.a11y-contrast .tn-steps li::before,
html.a11y-contrast .tn-case-status,html.a11y-contrast .modal-content{background:#000!important;color:#ffeb00!important}
html.a11y-contrast *{border-color:#ffeb00!important;box-shadow:none!important}
html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3,html.a11y-contrast p,html.a11y-contrast li,html.a11y-contrast span,html.a11y-contrast b,html.a11y-contrast small,html.a11y-contrast time{color:#ffeb00!important}
html.a11y-contrast a{color:#00e5ff!important;text-decoration:underline!important}
html.a11y-contrast a *{color:#00e5ff!important}
html.a11y-contrast button,html.a11y-contrast .tn-btn{background:#000!important;color:#ffeb00!important;border:2px solid #ffeb00!important}
html.a11y-contrast a.tn-btn,html.a11y-contrast a.tn-hot,html.a11y-contrast .tn-dock a,html.a11y-contrast a.tn-tile{background:#000!important;color:#00e5ff!important}
html.a11y-contrast img{filter:grayscale(1) contrast(1.1)}
html.a11y-contrast .tn-tape,html.a11y-contrast .tn-top::before{display:none}
html.a11y-contrast .tn-hero-shade,html.a11y-contrast .tn-band-shade{background:rgba(0,0,0,.82)!important}
html.a11y-contrast .tn-check li::before{background:#ffeb00}

@media print{
  .tn-top,.tn-wa,.tn-dock,.tn-a11y-btn,.tn-a11y,.tn-marquee,#tns-besucher{display:none!important}
  .tn-hero{min-height:0;color:#000;background:none}
  .tn-px,.tn-hero-shade,.tn-band-shade{display:none}
  .tn-band{color:#000;background:none}
}


/* ==========================================================================
   TQAL: Ergänzungen
   ========================================================================== */
.tn-logo i.tq-mark{width:auto;padding:0 .6rem;font-size:.9375rem;letter-spacing:.04em}
.tn-hero .tn-px img{object-position:72% 50%}
.tn-hero h1{max-width:10em}
@media(max-width:35.99rem){.tn-hero .tn-px img{object-position:78% 50%}}

/* Navigation in der Kopfzeile */
.tq-nav{display:none;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}
.tq-nav a{display:block;padding:.6rem .75rem;color:inherit;text-decoration:none;font:800 .8125rem/1 var(--tn-disp);letter-spacing:.08em;text-transform:uppercase}
.tq-nav a:hover{background:var(--tn-hivis);color:var(--tn-navy)}
@media(min-width:75rem){.tq-nav{display:flex}.tn-burger{display:none}}
.tq-menu{position:fixed;inset:var(--tn-top-h) 0 auto 0;z-index:79;background:var(--tn-navy);color:#fff;border-bottom:2px solid var(--tn-hivis);padding:.5rem var(--tn-pad) 1.25rem;max-height:calc(100vh - var(--tn-top-h));overflow:auto}
.tq-menu a{display:block;padding:1rem .25rem;color:#fff;text-decoration:none;font:900 1.25rem/1.1 var(--tn-disp);text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.15)}
.tq-menu a:hover{color:var(--tn-hivis)}
@media(min-width:75rem){.tq-menu{display:none!important}}

/* Schnellwahl mit drei Kacheln */
.tq-tiles3{grid-template-columns:1fr}
.tq-tiles3 .tn-tile{border-right:0!important}
@media(min-width:62rem){.tq-tiles3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tn-hot{text-transform:uppercase}
@media(max-width:35.99rem){.tn-top .tn-hot{display:none}.tn-logo small{display:block}}

/* Kompakter Kopfbereich der Unterseiten */
.tq-pagehero{background:var(--tn-navy);color:#fff;padding:calc(var(--tn-top-h) + clamp(2.5rem,6vw,5rem)) 0 clamp(2.5rem,5vw,4rem)}
.tq-pagehero h1{font:900 clamp(2.125rem,5.2vw,4.75rem)/.94 var(--tn-disp);letter-spacing:-.03em;text-transform:uppercase;margin:0}
.tq-pagehero h1 span{color:var(--tn-hivis)}
.tq-pagehero p{font-size:clamp(1.0625rem,1.5vw,1.25rem);color:rgba(255,255,255,.88);max-width:36em;margin:1.5rem 0 0}
.tq-pagehero .tn-hero-cta{margin-top:1.75rem}

/* Hinweis "Keine Behörde" */
.tq-notice,.privacy-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem 1.5rem;background:#fff;border:2px solid var(--tn-navy);border-left:.75rem solid var(--tn-red);padding:clamp(1.25rem,3vw,2.25rem)}
.tq-notice-icon,.authority-icon{width:3.25rem;height:3.25rem;display:grid;place-items:center;background:var(--tn-red);color:#fff;font:900 1.75rem/1 var(--tn-disp)}
.tq-notice p{max-width:60em;margin:1rem 0 0}
.tq-notice-akut{margin-top:1.5rem;background:var(--tn-hivis);color:var(--tn-navy);padding:1rem 1.25rem;display:grid;gap:.35rem}
.tq-notice-akut strong{font-weight:700}
@media(max-width:35.99rem){.tq-notice,.privacy-alert{grid-template-columns:1fr}}
.privacy-alert{margin-bottom:2.5rem}
.privacy-alert p{margin:.5rem 0 0}

/* Karten im Meldeweg */
.tq-card{height:100%;background:#fff;border:2px solid var(--tn-navy);padding:clamp(1.25rem,3vw,2rem)}
.tq-card--stark{box-shadow:.5rem .5rem 0 0 var(--tn-navy);border-top:.5rem solid var(--tn-hivis)}
.tq-card h3{margin-bottom:1rem}
.tq-card p:last-child,.tq-card ul:last-child{margin-bottom:0}
.tq-card .tn-check{margin-bottom:0}
.tq-card .tn-check li{font-weight:400}
.tn-check{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:.75rem}
.tn-check li{position:relative;padding-left:1.9rem;line-height:1.5}
.tn-check li::before{content:"";position:absolute;left:0;top:.3em;width:1rem;height:1rem;background:var(--tn-navy);clip-path:polygon(0 45%,38% 80%,100% 8%,100% 30%,38% 100%,0 65%)}

/* Fortschritt des Formulars */
.tq-melden{scroll-margin-top:var(--tn-top-h)}
.tq-melden-in{padding-block:var(--tn-sec)}
.report-progress-wrap{position:sticky;top:var(--tn-top-h);z-index:60;background:var(--tn-navy);color:#fff;border-bottom:2px solid var(--tn-hivis)}
.report-progress-inner{display:flex;align-items:center;gap:1rem;padding-block:.7rem}
.report-progress-label{font:800 .8125rem/1 var(--tn-disp);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.report-progress{flex:1;height:.625rem;background:rgba(255,255,255,.18)}
.tyrv-progress-bar{height:100%;width:0;background:var(--tn-hivis);transition:width .25s}
.tyrv-progress-value{font:900 1rem/1 var(--tn-disp);color:var(--tn-hivis);min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}

/* Formular */
.tyrv-form-card{background:#fff;border:2px solid var(--tn-navy);box-shadow:.5rem .5rem 0 0 var(--tn-navy);padding:clamp(1.25rem,4vw,3rem)}
.tyrv-form-card fieldset{border:0;margin:0 0 2.5rem;padding:0;min-width:0;scroll-margin-top:calc(var(--tn-top-h) + 4rem)}
.tyrv-form-card legend{float:none;width:100%;border-top:2px solid var(--tn-navy);padding-top:1.75rem!important;display:flex;align-items:center;gap:.9rem;font:900 clamp(1.25rem,2.4vw,1.75rem)/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 1.5rem;padding:0}
.tyrv-form-card fieldset:first-of-type legend{border-top:0;padding-top:0!important}
.step-no{flex:none;width:2.75rem;height:2.75rem;display:grid;place-items:center;background:var(--tn-navy);color:var(--tn-hivis);font:900 1.25rem/1 var(--tn-disp)}
.tyrv-feld{margin-bottom:1.5rem}
.tyrv-feld > label,.tyrv-coordinate-grid label{display:block;font-weight:700;margin-bottom:.45rem}
.tyrv-pflicht{color:var(--tn-red);font-weight:700}
.hilfe{display:block;font-size:.875rem;color:var(--tn-muted);margin-top:.45rem}
.tyrv-form-card input[type=text],.tyrv-form-card input[type=email],.tyrv-form-card input[type=tel],.tyrv-form-card input[type=date],.tyrv-form-card textarea{display:block;width:100%;font:inherit;color:var(--tn-navy);background:#fff;border:2px solid var(--tn-navy);border-radius:0;padding:.8rem .9rem}
.tyrv-form-card input[readonly]{background:var(--tn-paper);border-color:var(--tn-line)}
.tyrv-form-card textarea{min-height:12rem;resize:vertical}
.tyrv-form-card input:focus,.tyrv-form-card textarea:focus{outline:3px solid var(--tn-hivis);outline-offset:0;box-shadow:0 0 0 5px var(--tn-navy)}
.tyrv-checkbox-gruppe,.tyrv-radio-gruppe{display:grid;gap:.6rem}
@media(min-width:48rem){.tyrv-feld > .tyrv-checkbox-gruppe{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tyrv-checkbox-gruppe label,.tyrv-radio-gruppe label{display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:.8rem .9rem;border:1px solid var(--tn-line);background:#fff;font-weight:400;cursor:pointer}
.tyrv-checkbox-gruppe label:hover,.tyrv-radio-gruppe label:hover{border-color:var(--tn-navy)}
.tyrv-checkbox-gruppe label:has(input:checked),.tyrv-radio-gruppe label:has(input:checked){border-color:var(--tn-navy);background:var(--tn-hivis)}
.tyrv-checkbox-gruppe input,.tyrv-radio-gruppe input{flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--tn-navy)}
.tyrv-location-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:.9rem 0}
.tyrv-location-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--tn-navy);color:#fff;border:2px solid var(--tn-navy);padding:.75rem 1rem;font:800 .875rem/1.1 var(--tn-disp);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.tyrv-location-btn:hover{background:var(--tn-hivis);color:var(--tn-navy)}
.tyrv-location-btn:disabled{opacity:.6;cursor:wait}
.tyrv-location-status{font-size:.9375rem;color:var(--tn-muted)}
.tyrv-location-status.is-success{color:#15803d;font-weight:700}
.tyrv-location-status.is-error{color:var(--tn-red);font-weight:700}
.tyrv-coordinate-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:35.99rem){.tyrv-coordinate-grid{grid-template-columns:1fr}}
.tyrv-coordinate-grid label{font-size:.875rem}
.tyrv-upload{border:2px dashed var(--tn-navy);background:var(--tn-paper);padding:1.25rem}
.tyrv-upload.dragover{background:var(--tn-hivis)}
.tyrv-upload input[type=file]{display:block;width:100%;margin-top:.9rem;font:inherit}
.tyrv-upload input[type=file]::file-selector-button{font:800 .875rem/1 var(--tn-disp);letter-spacing:.06em;text-transform:uppercase;background:var(--tn-navy);color:#fff;border:0;padding:.8rem 1rem;margin-right:1rem;cursor:pointer}
.tyrv-file-list{display:grid;gap:.4rem;margin-top:.9rem}
.tyrv-file-item{display:flex;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--tn-line);padding:.5rem .75rem;font-size:.9375rem}
.tyrv-file-item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tyrv-file-item span:last-child{flex:none;color:var(--tn-muted)}
.tyrv-honeypot{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tyrv-datenschutz-hinweis{background:var(--tn-paper);border-left:.375rem solid var(--tn-navy);padding:1rem 1.25rem;margin-bottom:1.5rem}
.tyrv-form-card .tyrv-datenschutz-hinweis{background:var(--tn-paper)}
.tq-note-weiss{background:#fff}
.tyrv-fehler{border:2px solid var(--tn-red);background:#fef2f2;padding:1rem 1.25rem;margin-bottom:1.5rem}
.tyrv-fehler ul{margin:.5rem 0 0;padding-left:1.25rem}
.tyrv-submit{display:block;width:100%;background:var(--tn-red);color:#fff;border:0;box-shadow:0 4px 0 0 var(--tn-red-d);padding:1.25rem 1.5rem;font:900 clamp(1rem,2vw,1.25rem)/1.1 var(--tn-disp);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.tyrv-submit:hover{background:var(--tn-red-d)}
.tyrv-footer-note{font-size:.9375rem;color:var(--tn-muted);margin:1.25rem 0 0}

/* Ablauf: vier Schritte */
@media(min-width:62rem){.tq-steps4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tq-quelle{margin-top:clamp(2rem,4vw,3rem);border-left:.375rem solid var(--tn-hivis);padding:.25rem 0 .25rem 1.25rem;color:var(--tn-on-dark);max-width:64em}
.tq-quelle strong{color:#fff}

/* Parallax-Band */
.tn-band--cta .tn-px img{object-position:60% 30%}

/* Bestätigungsseite */
.tyrv-container{max-width:52rem;margin:0 auto;padding:var(--tn-sec) var(--tn-pad)}
.tyrv-erfolg{background:#fff;border:2px solid var(--tn-navy);box-shadow:.5rem .5rem 0 0 var(--tn-navy);padding:clamp(1.5rem,4vw,3rem)}
.tyrv-erfolg .icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;background:var(--tn-hivis);color:var(--tn-navy);font:900 2rem/1 var(--tn-disp);margin-bottom:1.25rem}
.tyrv-erfolg h2{font:900 clamp(1.5rem,3vw,2.25rem)/1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 1rem}
.tyrv-erfolg .tyrv-datenschutz-hinweis{border-color:var(--tn-navy)!important;margin-bottom:0}

/* Datenschutzseite (bestehende Klassen im neuen Stil) */
.wide-container{width:100%;max-width:90rem;margin-inline:auto;padding-inline:var(--tn-pad)}
.privacy-section{padding-block:var(--tn-sec)}
.soft-section{background:var(--tn-paper)}
.section-head{display:flex;flex-wrap:wrap;gap:1.25rem 3rem;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head h2{font:900 clamp(2rem,4.6vw,4rem)/.95 var(--tn-disp);letter-spacing:-.03em;text-transform:uppercase;margin:0}
.section-head p{font-size:clamp(1.0625rem,1.3vw,1.1875rem);color:var(--tn-muted);max-width:36em;margin:0}
.eyebrow{font-weight:700;font-size:.9375rem;color:var(--tn-muted);margin-bottom:.5rem}
.privacy-summary-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.privacy-summary-card{padding-top:1.25rem;border-top:2px solid var(--tn-navy)}
.privacy-summary-card span{display:block;font:500 .875rem/1 var(--tn-mono);color:var(--tn-muted);margin-bottom:.6rem}
.privacy-summary-card b{display:block;font:800 1.375rem/1.1 var(--tn-disp);text-transform:uppercase}
.privacy-summary-card p{margin:.6rem 0 0;color:var(--tn-muted)}
.privacy-layout{display:grid;gap:2.5rem}
@media(min-width:62rem){.privacy-layout{grid-template-columns:18rem minmax(0,1fr);gap:4rem;align-items:start}.privacy-toc{position:sticky;top:calc(var(--tn-top-h) + 1.5rem);max-height:calc(100vh - var(--tn-top-h) - 3rem);overflow:auto}}
.privacy-toc{background:#fff;border:2px solid var(--tn-navy);padding:1.25rem}
.privacy-toc strong{display:block;font:900 1rem/1 var(--tn-disp);letter-spacing:.04em;margin-bottom:.75rem}
.privacy-toc a{display:block;padding:.45rem 0;border-top:1px solid var(--tn-line);color:var(--tn-navy);text-decoration:none;font-weight:600;font-size:.9375rem}
.privacy-toc a:hover{background:var(--tn-hivis)}
.privacy-block{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:1.25rem;padding:2rem 0;border-top:2px solid var(--tn-navy);scroll-margin-top:calc(var(--tn-top-h) + 1rem)}
.privacy-number{width:3.25rem;height:3.25rem;display:grid;place-items:center;background:var(--tn-navy);color:var(--tn-hivis);font:900 1.125rem/1 var(--tn-disp)}
.privacy-block h3{font:800 clamp(1.25rem,2vw,1.625rem)/1.1 var(--tn-disp);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 1rem}
.privacy-block p,.privacy-block li{max-width:46em}
.privacy-contact-box{background:#fff;border-left:.375rem solid var(--tn-navy);padding:1rem 1.25rem;margin:1rem 0}
.privacy-warning{border:2px solid var(--tn-red);background:#fef2f2;padding:.9rem 1.1rem}
@media(max-width:35.99rem){.privacy-block{grid-template-columns:1fr}}
.cta-section{background:var(--tn-navy);color:#fff;padding-block:var(--tn-sec)}
.cta{display:grid;gap:2rem;align-items:end}
@media(min-width:62rem){.cta{grid-template-columns:1.2fr 1fr}}
.cta h2{font:900 clamp(2rem,4.6vw,4rem)/.95 var(--tn-disp);letter-spacing:-.03em;text-transform:uppercase;margin:0}
.cta .eyebrow{color:var(--tn-hivis)}
.cta p{color:var(--tn-on-dark);max-width:34em;margin:0 0 1.5rem}

/* Fußbereich */
.tq-besucher{font-variant-numeric:tabular-nums}
.tq-besucher b{color:var(--tn-hivis);font:900 1.125rem/1 var(--tn-disp)}

html.a11y-contrast .tq-menu,html.a11y-contrast .tq-card,html.a11y-contrast .tq-notice,html.a11y-contrast .tq-notice-akut,html.a11y-contrast .tyrv-form-card,html.a11y-contrast .report-progress-wrap,html.a11y-contrast .step-no,html.a11y-contrast .privacy-toc,html.a11y-contrast .privacy-number,html.a11y-contrast .tyrv-erfolg,html.a11y-contrast .tyrv-datenschutz-hinweis,html.a11y-contrast .tyrv-upload,html.a11y-contrast label,html.a11y-contrast .tq-pagehero,html.a11y-contrast .privacy-contact-box,html.a11y-contrast .privacy-warning,html.a11y-contrast .privacy-alert{background:#000!important;color:#ffeb00!important}
html.a11y-contrast input,html.a11y-contrast textarea{background:#000!important;color:#ffeb00!important;border-color:#ffeb00!important}
@media print{.report-progress-wrap,.tq-menu{display:none!important}}
