
@font-face{ font-family:'Outfit'; src:url('/schriften/outfit.woff2?v=wseEbrfX2c') format('woff2-variations');
  font-weight:100 900; font-display:swap; }
@font-face{ font-family:'Source Sans 3'; src:url('/schriften/sourcesans.woff2?v=L0i7sICwTr') format('woff2-variations');
  font-weight:200 900; font-display:swap; }
@font-face{ font-family:'Lauf-Ersatz';
  src:local('Segoe UI'), local('Helvetica Neue'), local('Arial'), local('Liberation Sans');
  font-weight:400; size-adjust:94.81%; ascent-override:95%; descent-override:26%; line-gap-override:0%; }
@font-face{ font-family:'Lauf-Ersatz';
  src:local('Segoe UI'), local('Helvetica Neue'), local('Arial'), local('Liberation Sans');
  font-weight:500; size-adjust:96.11%; ascent-override:95%; descent-override:26%; line-gap-override:0%; }
@font-face{ font-family:'Lauf-Ersatz';
  src:local('Segoe UI Semibold'), local('Helvetica Neue Medium'), local('Arial');
  font-weight:600; size-adjust:94.48%; ascent-override:95%; descent-override:26%; line-gap-override:0%; }
@font-face{ font-family:'Lauf-Ersatz';
  src:local('Segoe UI Bold'), local('Helvetica Neue Bold'), local('Arial Bold'), local('Arial');
  font-weight:700 900; size-adjust:93.51%; ascent-override:95%; descent-override:26%; line-gap-override:0%; }
:root{
  --foto-held:url('/bilder/held-kuenette.jpg?v=ShNoHczb1c');
  --foto-ortung:url('/bilder/ortung-geraet.jpg?v=DFRinLAX85');
  --foto-wiese:url('/bilder/markierung-wiese.jpg?v=b66n4xNwbp');
  --foto-graben:url('/bilder/graben-leitungen.jpg?v=-jaj3VrFOv');
  --herz:#C8102E;
  --herz-tief:#A50D26;
  --herz-hell:#FF5A70;
  --herz-wort:#C8102E;   
  --herz-marke:#A50D26;
  --gas:#E3A800;
  --wasser:#1F7AC2;
  --strom:#E14A2B;
  --kanal:#8F5E1F;
  --daten:#279457;
  --korn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23k)'/%3E%3C/svg%3E");
  --titel:'Outfit', system-ui, sans-serif;
  --schrift:'Source Sans 3', 'Lauf-Ersatz', system-ui, sans-serif;
  --mass:74rem;
  --rund-gross:0px;
  --rund:0px;
  --takt:.2s;
  --bogen:cubic-bezier(.3,.75,.35,1);
  --grund:#FAF7F1;
  --herzweiss:0;
  --wz-licht:#FFFFFF;
  --wz-tief:#6B635A;
  --herzstopp-1:#E63252;
  --herzstopp-2:#C8102E;
  --herzstopp-3:#8C0A20;
  --karte:#FFFFFF;
  --creme:#F3EDE3;
  --wort:#241F19;
  --neben:#6B635A;
  --linie:#E7E0D5;
  --schrift-1:0.72rem;  
  --schrift-2:0.8rem;   
  --schrift-3:0.86rem;  
  --schrift-4:0.9rem;   
  --schrift-5:1rem;     
  --schrift-6:1.12rem;  
  --schrift-7:1.25rem;  
  --auf-hell:#241F19;
  --buehne-hell:#F3EDE3;
  --buehne-dunkel:#1B1613;
  --wurf:0 1px 2px rgb(36 31 25 / .06), 0 14px 34px -18px rgb(36 31 25 / .26);
  --wurf-hoch:0 2px 5px rgb(36 31 25 / .08), 0 22px 48px -22px rgb(36 31 25 / .36);
  --herz-kante:var(--herz);
  --dunkel:#191511;
  --dunkel-wort:#F4EFE7;
  --dunkel-neben:#B9B0A4;
  --muster-mat:var(--creme);
  --muster-papier:#FFFFFF;
  --muster-kante:#E1DACC;
  --muster-wurf:var(--wurf);
}
@media (max-width: 48rem){
  :root{
    --foto-held:url('/bilder/held-kuenette-klein.jpg?v=UUvXvb7Oba');
    --foto-ortung:url('/bilder/ortung-geraet-klein.jpg?v=PmEL8O2hXA');
    --foto-wiese:url('/bilder/markierung-wiese-klein.jpg?v=lcMIwCXhmc');
    --foto-graben:url('/bilder/graben-leitungen-klein.jpg?v=DHXXMHxXeM');
  }
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]){
    color-scheme:dark;
    --grund:#141110;
    --karte:#211C18;
    --creme:#292219;
    --wort:#F1ECE4;
    --neben:#AFA79B;
    --linie:#3B342C;
    --wurf:0 2px 4px rgb(0 0 0 / .25), 0 22px 55px -22px rgb(0 0 0 / .5);
    --wurf-hoch:0 4px 10px rgb(0 0 0 / .3), 0 34px 80px -28px rgb(0 0 0 / .6);
    --gas:#F2BE2E;
    --wasser:#4B9CDE;
    --strom:#F26A48;
    --kanal:#B26B2C;
    --daten:#3FB374;
    --herz-wort:#FF8A99;  
    --herz-kante:#FF8A99; 
    --herz-marke:#FF8A99; 
    --nacht-kante:inset 0 0 0 1px var(--linie);
    --muster-mat:#1B1613;
    --muster-papier:#F1ECE4;
    --muster-kante:#BDB3A3;
    --muster-wurf:0 7px 0 -3px rgb(0 0 0 / .45);
  }
}
@media screen{ 
:root[data-licht="dunkel"]{
    color-scheme:dark;
    --grund:#141110;
    --karte:#211C18;
    --creme:#292219;
    --wort:#F1ECE4;
    --neben:#AFA79B;
    --linie:#3B342C;
    --wurf:0 2px 4px rgb(0 0 0 / .25), 0 22px 55px -22px rgb(0 0 0 / .5);
    --wurf-hoch:0 4px 10px rgb(0 0 0 / .3), 0 34px 80px -28px rgb(0 0 0 / .6);
    --gas:#F2BE2E;
    --wasser:#4B9CDE;
    --strom:#F26A48;
    --kanal:#B26B2C;
    --daten:#3FB374;
    --herz-wort:#FF8A99;  
    --herz-kante:#FF8A99; 
    --herz-marke:#FF8A99; 
    --nacht-kante:inset 0 0 0 1px var(--linie);
    --muster-mat:#1B1613;
    --muster-papier:#F1ECE4;
    --muster-kante:#BDB3A3;
    --muster-wurf:0 7px 0 -3px rgb(0 0 0 / .45);
}
}
*{ box-sizing:border-box; }
html{ scroll-padding-top:5rem; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; scroll-padding-top:1rem; }
@media (min-width: 64rem){ html{ scroll-padding-top:5.5rem; } }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{ margin:0; position:relative; background:var(--grund); color:var(--wort);
  font-family:var(--schrift); font-size:var(--schrift-5); line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip; }
img,svg{ max-width:100%; }
img, video, picture, svg{
  -webkit-user-drag:none;
  user-select:none; -webkit-user-select:none;
  -webkit-touch-callout:none;
}
h1,h2,h3{ font-family:var(--titel); font-weight:700; line-height:1.2;
  letter-spacing:-.022em; margin:0; }
h2{ font-size:clamp(1.8rem, 3.4vw, 2.7rem); }
p{ margin:0; }
a{ color:inherit; }
button,input,select,textarea{ font:inherit; color:inherit; }
::selection{ background:var(--herz); color:#fff; }
:focus-visible{ outline:3px solid var(--herz-kante); outline-offset:3px; }
:is(.profil__kopf, .held, .blattheld, .streifen, .rotbuehne) :focus-visible{
  outline-color:#fff; box-shadow:0 0 0 6px var(--herz-kante); border-radius:2px; }
.sprung{ position:absolute; left:-999px; top:0; z-index:99; background:var(--herz); color:#fff;
  padding:.7rem 1.2rem; border-radius:0 0 var(--rund) 0; font-weight:600; }
.sprung:focus-visible{ left:0; top:100%;
  border:2px solid #fff; box-shadow:0 6px 20px -8px rgb(0 0 0 / .6); }
.mono{ font-variant-numeric:tabular-nums; }
.nurvorleser{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.mittig{ text-align:center; margin-top:2.2rem; }
.knopf{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:.5rem;
  background:var(--herz); color:#fff;
  border:0; cursor:pointer; text-decoration:none; font-family:var(--titel); font-weight:650;
  font-size:var(--schrift-5); letter-spacing:.01em; padding:.8rem 1.6rem; border-radius:0;
  box-shadow:0 6px 18px -9px rgb(200 16 46 / .5);
  transition:background var(--takt) var(--bogen), translate var(--takt) var(--bogen),
    box-shadow var(--takt) var(--bogen); }
.knopf:hover{ background:var(--herz-tief); translate:0 -1px;
  box-shadow:0 10px 24px -10px rgb(200 16 46 / .55); }
.knopf--hell{ background:rgb(255 255 255 / .94); color:var(--auf-hell); box-shadow:0 10px 30px -12px rgb(0 0 0 / .5); }
.knopf--hell:hover{ background:#fff; color:var(--auf-hell); }
body::after{ content:''; position:fixed; inset:0; z-index:100; pointer-events:none;
  background-image:var(--korn); opacity:.24; mix-blend-mode:soft-light; }
@media print{ body::after{ display:none; } }
.kopf{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:1.5rem;
  justify-content:space-between;
  padding:.65rem calc(max(0px, (100% - var(--mass)) / 2) + clamp(1rem, 4vw, 2.5rem));
  background:var(--grund); border-bottom:1px solid var(--linie); }
.kopf__menue{ display:none; }
@supports (animation-timeline: scroll()){
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf{
    --kopf-tinte-o:rgb(12 9 8 / .52); --kopf-tinte-u:rgb(12 9 8 / 0); }
  body:has(.bd-ecke--seite):not(:has(.held, .profil__kopf, .blattheld)) .kopf{
    --kopf-tinte-o:color-mix(in srgb, var(--grund) 64%, transparent);
    --kopf-tinte-u:color-mix(in srgb, var(--grund) 50%, transparent);
    animation:none; color:var(--wort);
    border-bottom:1px solid rgb(255 255 255 / .55);
    box-shadow:0 6px 18px -12px rgb(0 0 0 / .45); }
  @media screen and (prefers-color-scheme: dark){
    :root:not([data-licht="hell"]) body:has(.bd-ecke--seite):not(:has(.held, .profil__kopf, .blattheld)) .kopf{
      border-bottom-color:rgb(255 255 255 / .16);
      box-shadow:0 6px 18px -12px rgb(0 0 0 / .7); }
  }
  @media screen{ 
  [data-licht="dunkel"] body:has(.bd-ecke--seite):not(:has(.held, .profil__kopf, .blattheld)) .kopf{
    border-bottom-color:rgb(255 255 255 / .16);
    box-shadow:0 6px 18px -12px rgb(0 0 0 / .7); }
  }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf{
    background:transparent; border-bottom-color:transparent; color:#fff;
    animation:kopfWort linear both; animation-timeline:scroll(); animation-range:0 220px; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::before,
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::after{
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::after{
    background:linear-gradient(180deg, var(--kopf-tinte-o), var(--kopf-tinte-u));
    -webkit-backdrop-filter:blur(14px) saturate(1.05);
    backdrop-filter:blur(14px) saturate(1.05);
    animation:kopfTinte linear both; animation-timeline:scroll(); animation-range:0 220px; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::before{
    background:var(--grund); border-bottom:1px solid var(--linie); opacity:0;
    animation:kopfGrund linear both; animation-timeline:scroll(); animation-range:0 220px; }
  @keyframes kopfTinte{ from{ opacity:1; } 57.99%{ opacity:.84; } 58%{ opacity:0; } to{ opacity:0; } }
  body:has(.bd-ecke--seite):not(:has(.held, .profil__kopf, .blattheld)) .kopf::after{
    animation-name:kopfFrostWeg; }
  body:has(.bd-ecke--seite):not(:has(.held, .profil__kopf, .blattheld)) .kopf::before{
    animation-name:kopfGrundWeich; }
  @keyframes kopfFrostWeg{ from{ opacity:1; } to{ opacity:0; } }
  @keyframes kopfGrundWeich{ from{ opacity:0; } to{ opacity:1; } }
  @keyframes kopfGrund{ from{ opacity:0; } 57.99%{ opacity:0; } 58%{ opacity:1; } to{ opacity:1; } }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf :is(.marke, .kopf__nav a:not(.kopf__cta)){ color:inherit; }
  @keyframes kopfWort{
    from{ color:#fff; }
    57.99%{ color:#fff; }
    58%{ color:var(--wort); }
    to{ color:var(--wort); } }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) main{ margin-top:calc(-1 * (1.3rem + 2.7rem + 1px)); }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf .marke__zeichen{
    animation:kopfHerz linear both; animation-timeline:scroll(); animation-range:0 220px; }
  @keyframes kopfHerz{
    from{ --herzweiss:1; }
    18%{ --herzweiss:1; }
    to{ --herzweiss:0; } }
}
@supports not (animation-timeline: scroll()){
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf{
    background:transparent; border-bottom-color:transparent;
    color:color-mix(in srgb, var(--wort) calc(var(--p-wort, 0) * 100%), #fff); }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::before,
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::after{
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::after{
    background:linear-gradient(180deg, var(--kopf-tinte-o), var(--kopf-tinte-u));
    -webkit-backdrop-filter:blur(14px) saturate(1.05);
    backdrop-filter:blur(14px) saturate(1.05);
    opacity:clamp(0, calc((.58 - var(--p-kopf, 0)) * 100), 1); }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf::before{
    background:var(--grund); border-bottom:1px solid var(--linie);
    opacity:clamp(0, calc(var(--p-kopf, 0) / .5), 1); }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf :is(.marke, .kopf__nav a:not(.kopf__cta)){ color:inherit; }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) main{ margin-top:calc(-1 * (1.3rem + 2.7rem + 1px)); }
  html[data-ersatzantrieb="an"] body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf .marke__zeichen{
    --herzweiss:calc(1 - var(--p-wort, 0)); }
}
:root[data-licht="hell"] body:has(.bd-ecke--seite):not(:has(.held, .blattheld, .profil__kopf)) .kopf .marke__zeichen{
  animation:none; --herzweiss:0; }
@media (prefers-color-scheme: light){
  :root:not([data-licht="dunkel"]) body:has(.bd-ecke--seite):not(:has(.held, .blattheld, .profil__kopf)) .kopf .marke__zeichen{
    animation:none; --herzweiss:0; }
}
@property --herzweiss{ syntax:'<number>'; inherits:true; initial-value:0; }
.herzstopp{
  stop-color:color-mix(in srgb, #fff calc(var(--herzweiss) * 100%), var(--ziel)); }
.marke{ display:flex; align-items:center; text-decoration:none; color:var(--wort); }
.marke__zeichen{ height:2.7rem; width:auto; display:block; }
.kopf__nav{ display:flex; align-items:center; gap:.3rem; }
.kopf__nav > :is(a, span){ text-decoration:none; font-weight:500; font-size:var(--schrift-5);
  color:var(--wort); white-space:nowrap; flex-shrink:0;
  padding:.5rem clamp(.55rem, 1.15vw, .9rem); border-radius:0;
  transition:color var(--takt), background var(--takt), opacity var(--takt); }
.kopf__nav a:hover{ opacity:1; background:color-mix(in srgb, var(--wort) 7%, transparent); }
.kopf__nav > :is(a, span)[aria-current="page"]{ opacity:1; font-weight:650; }
.kopf__nav a[data-zweig]{ opacity:1; font-weight:600; }
.kopf__nav :is(a, span).kopf__cta{ opacity:1; }
.kopf__nav :is(a, span).kopf__cta{ background:var(--herz); color:#fff; font-weight:600; margin-left:clamp(.45rem, 1vw, 1.1rem);
  box-shadow:0 8px 20px -10px rgb(200 16 46 / .5); }
.kopf__nav :is(a, span).kopf__cta:hover{ background:var(--herz-tief); color:#fff; }
.kopf__cta--hier{ cursor:default; }
.kopf__an--hier{ cursor:default; opacity:.75; }
.vw-stats{ display:grid; gap:.9rem; margin:1.1rem 0 1.6rem;
  grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); }
.vw-stat{ padding:1rem 1.1rem; background:var(--karte); border-radius:.6rem;
  box-shadow:inset 0 0 0 1px var(--linie); }
.vw-stat__zahl{ margin:0; font-size:2rem; font-weight:700; line-height:1.1;
  letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.vw-stat__was{ margin:.2rem 0 0; font-size:var(--schrift-4); color:var(--neben); }
.vw-stat__dazu{ margin:.45rem 0 0; font-size:var(--schrift-2); min-height:1.1em; }
.vw-stat__mehr{ color:var(--herz-wort); }
.vw-stat__weniger{ color:var(--neben); }
.vw-stat__gleich{ color:var(--neben); }
.vw-stat__fussnote{ font-size:var(--schrift-3); color:var(--neben); line-height:1.55;
  margin:.2rem 0 1.6rem; max-width:62ch; }
.vw-tafel{ width:100%; border-collapse:collapse; margin:.3rem 0 1.4rem;
  font-size:var(--schrift-4); }
.vw-tafel th{ text-align:start; font-size:var(--schrift-2); font-weight:600;
  color:var(--neben); padding:.3rem .6rem .3rem 0; border-block-end:1px solid var(--linie); }
.vw-tafel td{ padding:.34rem .6rem .34rem 0; border-block-end:1px solid var(--linie); }
.vw-tafel tr:last-child td{ border-block-end:0; }
.vw-tafel__wort{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:22rem; }
.vw-tafel__wort code{ font-size:.88em; }
.vw-tafel__zahl{ text-align:end; white-space:nowrap; font-variant-numeric:tabular-nums;
  width:5rem; }
.vw-tafel__balken{ width:45%; }
.vw-tafel--schmal .vw-tafel__wort{ width:4.5rem; }
.vw-balken{ display:block; height:.55rem; border-radius:999px;
  background:color-mix(in srgb, var(--wort) 8%, transparent); overflow:hidden; }
.vw-balken__fuell{ display:block; height:100%; border-radius:999px;
  background:var(--herz); }
@media (max-width: 46rem){
  .vw-tafel__balken{ display:none; }
  .vw-tafel__wort{ max-width:none; white-space:normal; overflow-wrap:anywhere; }
  .vw-tafel--konten thead{ display:none; }
  .vw-tafel--konten, .vw-tafel--konten tbody, .vw-tafel--konten tr, .vw-tafel--konten td{ display:block; }
  .vw-tafel--konten tr{ background:var(--karte); border:1px solid var(--linie);
    border-radius:.7rem; padding:.85rem 1rem; margin-block-end:.85rem; }
  .vw-tafel--konten tr.vw-zeile--still{ opacity:1; background:color-mix(in srgb, var(--karte) 82%, var(--grund)); }
  .vw-tafel--konten td{ padding:.32rem 0; border-block-end:0; }
  .vw-tafel--konten td:first-child{ padding-block-start:0; }
  .vw-tafel--konten td:last-child{ padding-block-end:0; }
  .vw-tafel--konten td:not(:first-child)::before{ content:attr(data-spalte);
    display:block; font-size:var(--schrift-2); font-weight:600; color:var(--neben);
    margin-block-end:.12rem; }
  .vw-tafel--konten td:first-child{ font-size:var(--schrift-5);
    padding-block-end:.5rem; margin-block-end:.5rem; border-block-end:1px solid var(--linie); }
  .vw-tafel--konten .vw-knopfform, .vw-tafel--konten .vw-knopfform .knopf{ display:block; width:100%; }
}
.vwnav{ position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  gap:.9rem 1.4rem; flex-wrap:wrap;
  padding:.55rem max(clamp(1rem, 4vw, 2.5rem), calc((100% - 64rem) / 2));
  background:var(--grund); border-block-end:1px solid var(--linie); }
.vwnav__wer{ display:grid; gap:.05rem; min-width:0; }
.vwnav__marke{ font-weight:700; font-size:var(--schrift-4); text-decoration:none;
  color:var(--wort); letter-spacing:-.01em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vwnav__adresse{ font-size:var(--schrift-2); color:var(--neben);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vwnav__punkte{ display:flex; align-items:center; gap:.15rem; flex-wrap:wrap; }
.vwnav__punkt{ text-decoration:none; color:var(--neben); font-size:var(--schrift-4);
  padding:.42rem .7rem; border-radius:.4rem;
  transition:color var(--takt), background var(--takt); }
.vwnav__punkt:hover, .vwnav__punkt:focus-visible{
  color:var(--wort); background:color-mix(in srgb, var(--wort) 8%, transparent); }
.vwnav__punkt--hier{ color:var(--wort); font-weight:640;
  box-shadow:inset 0 -2px 0 0 var(--herz); border-radius:.4rem .4rem 0 0; }
.vwnav__weg{ display:flex; margin:0; margin-inline-start:1.4rem; }
.vwnav__ab{ font:inherit; font-size:var(--schrift-3); cursor:pointer; color:var(--neben);
  background:transparent; border:1px solid var(--linie); padding:.36rem .8rem;
  border-radius:.4rem;
  transition:color var(--takt), border-color var(--takt); }
.vwnav__ab:hover, .vwnav__ab:focus-visible{
  color:var(--wort); border-color:color-mix(in srgb, var(--wort) 42%, transparent); }
@media (max-width: 46rem){
  .vwnav{ gap:.5rem; }
  .vwnav__punkt, .vwnav__ab{ min-height:44px; display:inline-flex; align-items:center; }
}
.konto-felder{ display:none; }
.konto-wunsch:has(input:checked) + .konto-felder{ display:block;
  margin:.2rem 0 .9rem; padding:.9rem 1rem;
  background:color-mix(in srgb, var(--wort) 4%, transparent);
  border-radius:.5rem;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wort) 12%, transparent); }
.konto-hinweis{ margin:.6rem 0 0; font-size:var(--schrift-3); color:var(--neben);
  line-height:1.5; }
.kopf__nav :is(a, span).kopf__an{ opacity:1; margin-left:clamp(.3rem, .7vw, .7rem);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wort) 28%, transparent); }
.kopf__nav a.kopf__an:hover{ background:color-mix(in srgb, var(--wort) 10%, transparent); }
.kopf__klapp a.kopf__an{ box-shadow:none; margin-left:0;
  border-top:1px solid var(--linie); border-radius:0; }
.kopf__nav :is(a, span).kopf__cta[aria-current="page"], .kopf__nav .kopf__cta--hier{
  background:transparent; color:var(--herz-wort);
  box-shadow:inset 0 0 0 2px currentColor; }
.kopf__nav :is(a, span).kopf__cta[aria-current="page"]:hover{ background:color-mix(in srgb, var(--herz) 8%, transparent); }
.held{ position:relative; min-height:min(92svh, 60rem); display:grid; align-content:center;
  justify-items:center; text-align:center; color:#fff; overflow:clip; padding:10rem 1rem 5.5rem; }
.held::before{ content:''; position:absolute; inset:-3%;
  background:url('/video/hero-standbild.jpg?v=h9ZQosXeuz') center 62% / cover no-repeat;
  transform:scale(1.06);
  filter:saturate(.94); }
.held__halt{ position:absolute; z-index:6; inset:5.2rem 1.1rem auto auto;
  width:44px; height:44px; display:grid; place-items:center; padding:0;
  cursor:pointer; border:1px solid rgb(255 255 255 / .55); border-radius:0;
  background:rgb(16 12 10 / .55); color:#fff;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:background var(--takt) var(--bogen); }
.held__halt:hover{ background:rgb(16 12 10 / .78); }
.held__halt svg{ width:15px; height:15px; fill:currentColor; }
.held__halt:focus-visible{ outline-color:#fff; box-shadow:0 0 0 6px var(--herz-kante); }
@media (prefers-reduced-motion: reduce){ .held__halt{ display:none; } }
.held .held__film{ position:absolute; inset:-4% auto auto -4%;
  width:108%; height:108%;
  object-fit:cover; z-index:0; pointer-events:none; border:0;
  translate:0 calc((.5 - var(--p-zug, .5)) * 5.2%); }
@supports (animation-timeline:view()){
  .held .held__film{ animation:fotoZug linear both; animation-timeline:--foto;
    animation-range:cover 0% cover 100%; translate:none; }
}
@media (prefers-reduced-motion: reduce){
  .held .held__film{ display:none; }
}
.held > *{ position:relative; z-index:3; }
.held > .held__halt{ position:absolute; z-index:6; }
.held .schleier{ position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgb(20 16 13 / .48) 0%, rgb(20 16 13 / .15) 34%, rgb(20 16 13 / .54) 78%, rgb(20 16 13 / .80) 100%),
    radial-gradient(48rem 20rem at 50% 38%, rgb(20 16 13 / .62), transparent 72%),
    radial-gradient(90rem 42rem at 50% 102%, rgb(20 16 13 / .80), transparent 62%); }
.held__innen{ max-width:52rem; display:grid; justify-items:center; }
.held__logo{ width:min(88vw, 30rem); height:auto; display:block; color:#fff;
  filter:drop-shadow(0 6px 30px rgb(0 0 0 / .45)); }
.held__satz{ margin-top:1.4rem; font-size:clamp(1.05rem, 1.5vw, 1.25rem); max-width:38rem;
  color:rgb(255 255 255 / .93); text-shadow:0 1px 12px rgb(0 0 0 / .5); text-wrap:balance; }
.held__stand{ text-shadow:0 1px 4px rgb(0 0 0 / .8), 0 2px 14px rgb(0 0 0 / .6); }
.suchkarte{ margin-top:2.4rem; display:grid; grid-template-columns:1.25fr 1.25fr .85fr auto;
  gap:.9rem; align-items:end; width:min(100%, 56rem);
  background:var(--karte); color:var(--wort); border-radius:var(--rund-gross);
  padding:1.1rem 1.1rem 1.15rem; box-shadow:var(--wurf-hoch); text-align:left; }
.suchkarte label{ display:grid; gap:.3rem; grid-template-rows:1.05rem auto;
  align-items:end; font-size:var(--schrift-2); font-weight:600; color:var(--wort); }
.suchkarte input,.suchkarte select{ background:var(--grund); border:1px solid var(--linie);
  border-radius:var(--rund); padding:.68rem .8rem; font-size:var(--schrift-5); min-width:0; width:100%;
  height:3.125rem; transition:border-color var(--takt); }
.suchkarte .knopf{ height:3.125rem; display:inline-flex; align-items:center; justify-content:center; }
.suchkarte input:focus-visible,.suchkarte select:focus-visible{ outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px rgb(200 16 46 / .18); }
.suchkarte .knopf{ padding-block:.75rem; }
.held__stand{ display:inline-block; padding:.3rem .95rem;
  background:linear-gradient(90deg, rgb(20 16 13 / 0), rgb(20 16 13 / .82) 10%,
    rgb(20 16 13 / .82) 90%, rgb(20 16 13 / 0));
  margin-top:1.1rem; font-size:var(--schrift-3); letter-spacing:.02em; color:#fff;
  text-shadow:0 1px 8px rgb(0 0 0 / .5); }
.abschnitt > p{ max-width:62ch; }
.abschnitt{ max-width:var(--mass); margin:0 auto;
  padding:clamp(3rem, 6.5vw, 5rem) clamp(1rem, 4vw, 2.5rem); }
body:has(.abschnitt--formular){ --ecke-breite:min(46vw, 480px);
  --ecke-hoehe:calc(var(--ecke-breite) * 226 / 640); }
body:has(.abschnitt--formular) .abschnitt:first-of-type:not(:last-of-type){
  padding-block-end:calc(1rem + var(--balkenragen)); }
body:has(.abschnitt--formular) .abschnitt--formular{
  padding-block-start:calc(clamp(1rem, 2vw, 1.6rem) + var(--balkenragen)); }
.abschnitt--mitte{ text-align:center; }
.abschnitt--mitte .tore,.abschnitt--mitte .schritte{ text-align:left; }
.vorwort{ display:block; text-wrap:balance; font-family:var(--titel); font-weight:600; font-size:var(--schrift-3); letter-spacing:.14em;
  text-transform:uppercase; color:var(--herz-wort); margin-bottom:.55rem; }
.abschnitt h2{ font-size:clamp(1.9rem, 3.6vw, 2.7rem); }
.abschnitt__kopf{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem;
  flex-wrap:wrap; margin-bottom:1.8rem; }
.abschnitt__kopf h1{ font-size:clamp(2.1rem, 4.4vw, 3rem); }
.abschnitt__kopf h2{ font-size:clamp(1.9rem, 3.6vw, 2.7rem); }
.mehrweg{ font-weight:600; color:var(--herz-wort);
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:color-mix(in srgb, var(--herz-wort) 45%, transparent); }
.mehrweg:hover{ text-decoration-color:var(--herz-wort); }
.abschnitt--mitte h2{ margin-bottom:1.8rem; }
.tore{ display:grid; grid-template-columns:repeat(auto-fit, minmax(13rem, 1fr)); gap:1.1rem; }
@media (min-width: 72rem){ .tore{ grid-template-columns:repeat(5, 1fr); } }
.tor{ position:relative; display:flex; flex-direction:column; gap:.4rem; text-decoration:none;
  background:linear-gradient(165deg, var(--karte) 55%, color-mix(in srgb, var(--karte) 88%, var(--creme)) 100%);
  border-radius:var(--rund-gross); padding:1.5rem 1.4rem 1.35rem;
  box-shadow:var(--wurf); transition:translate var(--takt) var(--bogen), box-shadow var(--takt) var(--bogen); }
.tor:hover{ translate:0 -4px; box-shadow:var(--wurf-hoch); }
.tor__punkt{ display:block; margin-bottom:.65rem; color:var(--tor-farbe); }
.tor__punkt svg{ width:1.8rem; height:1.8rem; display:block; }
.tor:hover .tor__zahl::after{ content:' →'; }
.tor__zahl{ margin-top:auto; padding-top:.55rem; font-weight:600; color:var(--herz-wort); }
.tor__zahl::after{ content:' →'; }
.streifen{ position:relative; overflow:clip; color:#fff;
  padding:clamp(5rem, 9vw, 8rem) 0; }
.streifen::before{ content:''; position:absolute; inset:-3% -6% -3% -26%;
  background:var(--foto-ortung) center 42% / cover no-repeat;
  transform:scale(1.06); filter:saturate(1.02); }
.trasse path{ fill:none; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1; stroke-dashoffset:1;
  animation:trassenzug 23s linear infinite; animation-delay:var(--zugwarte, 0s); }
@keyframes trassenzug{
  0%{ stroke-dashoffset:1; opacity:0; }
  4%{ opacity:var(--zugdeck, 1); }
  46%{ stroke-dashoffset:0; opacity:var(--zugdeck, 1); }
  88%{ stroke-dashoffset:0; opacity:var(--zugdeck, 1); }
  96%, 100%{ stroke-dashoffset:0; opacity:0; } }
@keyframes herzschlag{
  0%, 100%{ transform:scale(1); }
  10%{ transform:scale(1.12); }
  20%{ transform:scale(1); }
  30%{ transform:scale(1.07); }
  42%{ transform:scale(1); } }
@media (prefers-reduced-motion: reduce){
  .trasse path{ animation:none; stroke-dashoffset:0; opacity:var(--zugdeck, 1); }
}
.streifen .schleier{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(96deg, rgb(14 11 9 / .62) 0%, rgb(14 11 9 / .48) 42%,
    rgb(14 11 9 / .3) 78%, rgb(14 11 9 / .24) 100%),
    linear-gradient(180deg, rgb(14 11 9 / .14), rgb(14 11 9 / .26)); }
@media (max-width: 42rem){
  .streifen .schleier{ background:linear-gradient(180deg, rgb(14 11 9 / .68), rgb(14 11 9 / .45)); }
}
.streifen__innen{ position:relative; z-index:3; max-width:var(--mass); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
  padding-inline:clamp(1rem, 4vw, 2.5rem); }
.streifen__wort{ font-family:var(--titel); font-weight:700; font-size:clamp(1.6rem, 3.2vw, 2.5rem);
  line-height:1.16; letter-spacing:-.02em; color:#fff; text-shadow:0 2px 18px rgb(0 0 0 / .55); }
@media (max-width: 42rem){
  .streifen__wort br{ display:none; }
  .streifen__wort{ text-wrap:balance; } }
.schritte{ display:grid; grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr)); gap:1.1rem; }
.schritt{ background:var(--karte); border-radius:var(--rund-gross); padding:1.5rem 1.4rem;
  box-shadow:var(--wurf); }
.schritt > i:not([class]){ display:grid; place-items:center;
  width:2.2rem; height:2.2rem; border-radius:0;
  background:var(--herz); color:#fff; font-style:normal;
  box-shadow:0 4px 12px -6px rgb(200 16 46 / .5);
  font-family:var(--titel); font-style:normal; font-weight:700; font-size:var(--schrift-6); margin-bottom:.85rem; }
.schritt h3{ font-size:var(--schrift-7); }
.schritt p{ margin-top:.45rem; color:var(--neben); font-size:var(--schrift-4); }
.zeilenliste{ display:none; flex-direction:column;
  background:var(--karte); border-radius:var(--rund-gross); box-shadow:var(--wurf); }
.werk[data-sicht="liste"] .kacheln{ display:none; }
.werk[data-sicht="liste"] .zeilenliste{ display:flex; }
.zeile{ display:grid; grid-template-columns:minmax(13rem, 1.4fr) minmax(7.5rem, .8fr) minmax(0, 1.7fr) 8rem;
  gap:1rem; align-items:center; padding:.85rem 1.15rem;
  text-decoration:none; color:inherit; }
.zeile + .zeile{ border-top:1px solid color-mix(in srgb, currentColor 13%, transparent); }
.zeile--kopf{ order:-1; font-size:var(--schrift-2); font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--neben); padding-block:.6rem; }
.zeile--kopf:hover{ background:none; }
.zeile--kopf button{ all:unset; cursor:pointer; font:inherit; letter-spacing:inherit;
  text-transform:inherit; color:inherit; padding:.2rem 0; }
.zeile--kopf button:hover, .zeile--kopf button[aria-pressed="true"]{ color:var(--herz-wort); }
.zeile--kopf button:focus-visible{ outline:2px solid var(--herz); outline-offset:2px; }
.zeile:hover{ background:color-mix(in srgb, var(--herz) 6%, var(--karte)); }
.zeile__wer{ display:flex; align-items:center; gap:.6rem; min-width:0; }
.zeile .betrieb__beispiel{ position:static; flex:none; }
.zeile__wer strong{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zeile__adern{ display:inline-flex; gap:.28rem; flex:none; }
.zeile__adern i{ width:.5rem; height:.5rem; border-radius:50%; }
.ader{ stroke-linecap:round; stroke-linejoin:round; }
.ader--gas{ background:var(--gas); }
.ader--wasser{ background:var(--wasser); }
.ader--kanal{ background:var(--kanal); }
.ader--strom{ background:var(--strom); }
.ader--daten{ background:var(--daten); }
.zeile__adern i, .betrieb__adern i, .punkt-legende i, .medienchip span i{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--wort) 50%, transparent);
  display:inline-grid; place-items:center;
  font:700 .5em/1 var(--schrift); font-style:normal; color:rgb(20 12 8);
  letter-spacing:0; }
:is(.zeile__adern, .betrieb__adern, .punkt-legende, .medienchip span) :is(.ader--wasser, .ader--kanal){
  color:rgb(255 255 255); }
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) :is(.zeile__adern, .betrieb__adern, .punkt-legende, .medienchip span) :is(.ader--wasser, .ader--kanal){
    color:rgb(20 12 8); }
}
@media screen{ 
[data-licht="dunkel"] :is(.zeile__adern, .betrieb__adern, .punkt-legende, .medienchip span) :is(.ader--wasser, .ader--kanal){
  color:rgb(20 12 8); }
}
.betrieb__adern i{ font-size:.5rem; }
.zeile__adern i, .punkt-legende i{ font-size:.42rem; }
.zeile__ort{ color:var(--neben); font-size:var(--schrift-4); white-space:nowrap; }
.zeile__leistung{ color:var(--neben); font-size:var(--schrift-4); overflow:hidden;
  display:flex; gap:.3rem; align-items:baseline; min-width:0; }
.zeile__leistung__text{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
  min-width:0; }
.zeile__leistung__mehr{ flex:none; white-space:nowrap; }
.zeile__km{ font-size:var(--schrift-4); white-space:nowrap; justify-self:end; display:inline-flex; gap:.6rem; align-items:baseline; }
.zeile__km .betrieb__nah{ font-size:var(--schrift-3); }
@media (max-width: 760px){
  .zeile{ grid-template-columns:minmax(0, 1fr) auto; row-gap:.15rem; }
  .zeile__leistung{ display:none; }
  .zeile__ort{ grid-column:1; }
  .zeile__km{ grid-row:1 / span 2; grid-column:2; align-self:center; }
}
.kachelreihe{ display:grid; grid-template-columns:repeat(auto-fit, minmax(19rem, 1fr)); gap:1.1rem; }
.betrieb{ position:relative; display:grid; gap:.45rem; align-content:start;
  background:linear-gradient(165deg, var(--karte) 55%, color-mix(in srgb, var(--karte) 88%, var(--creme)) 100%);
  border-radius:var(--rund-gross); padding:1.35rem 1.3rem 1.2rem;
  box-shadow:var(--wurf); transition:translate var(--takt) var(--bogen), box-shadow var(--takt) var(--bogen); }
.betrieb:hover{ translate:0 -3px; box-shadow:var(--wurf-hoch); }
.betrieb__adern{ display:flex; gap:.35rem; margin-bottom:.2rem; }
.betrieb__adern i{ width:.72rem; height:.72rem; border-radius:50%; }
.betrieb__kopf{ display:grid; grid-template-columns:auto minmax(0, 1fr); align-items:center;
  gap:.35rem .7rem; }
.betrieb__kopf .betrieb__beispiel, .betrieb__kopf .betrieb__nah{ grid-column:2; justify-self:start; }
.betrieb__logo{ width:2.9rem; height:2.9rem; border-radius:0; object-fit:cover; flex:none;
  background:var(--creme); box-shadow:inset 0 0 0 1px var(--linie); }
.betrieb__logo--initialen{ display:grid; place-items:center; font-family:var(--titel);
  font-weight:700; font-size:var(--schrift-5); color:#fff;
  background:linear-gradient(140deg,
    color-mix(in srgb, var(--logo-farbe, var(--herz)) 52%, #1D1613),
    color-mix(in srgb, var(--logo-farbe, var(--herz)) 34%, #1D1613));
  box-shadow:none; }
.betrieb h3{ font-size:var(--schrift-7); }
.betrieb h3 a{ text-decoration:none; }
.betrieb h3 a::after{ content:''; position:absolute; inset:0; border-radius:var(--rund-gross); }
.betrieb:hover h3{ color:var(--herz-wort); }
.betrieb__beispiel{ position:absolute; top:1.1rem; right:1.15rem;
  font-size:var(--schrift-1); font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--neben); background:var(--creme); border-radius:0; padding:.18rem .6rem; }
.betrieb__offen{ position:absolute; top:1rem; right:1.1rem;
  display:inline-flex; align-items:center; gap:.4em; white-space:nowrap;
  font-size:var(--schrift-1); font-weight:600; letter-spacing:.01em; line-height:1;
  color:var(--neben); background:color-mix(in srgb, var(--neben) 8%, transparent);
  border:1px solid color-mix(in srgb, var(--neben) 28%, transparent);
  border-radius:999px; padding:.34rem .7rem .34rem .55rem; }
.betrieb__offen::before{ content:''; width:.62em; height:.62em; border-radius:50%;
  border:1.5px solid currentColor; flex:none; }
.zeile .betrieb__offen{ position:static; flex:none; }
.betrieb__kopf .betrieb__offen{ grid-column:2; justify-self:start; }
[data-ueber]{ display:none !important; }
.liste__mehr{ display:block; margin:1.6rem auto 0; }
.liste__mehr[hidden]{ display:none; }
.formular__vorbefuellt{ margin:.8rem 0 1.2rem; }
.betrieb__nah{ margin-left:auto; font-weight:650; font-size:var(--schrift-3); color:var(--herz-wort); white-space:nowrap; }
.betrieb__ort{ font-size:var(--schrift-3); color:var(--neben); }
.betrieb__satz{ font-size:var(--schrift-4); color:var(--neben); max-width:62ch; }
.schlagreihe{ display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }
.schlag{ font-size:var(--schrift-2); font-weight:500; color:var(--wort);
  background:var(--creme); border-radius:0; padding:.22rem .65rem; }
.schlag em{ font-style:normal; font-weight:650; color:var(--neben); font-variant-numeric:tabular-nums; }
.betrieb__notruf{ font-weight:650; font-size:var(--schrift-3); color:var(--herz-wort); }
.betrieb__notruf::before{ content:''; display:inline-block; width:.55rem; height:.55rem;
  border-radius:50%; background:var(--herz); margin-right:.4rem; animation:notpuls 1.6s ease-in-out infinite; }
@keyframes notpuls{ 0%,100%{ opacity:1 } 50%{ opacity:.35 } }
@media (prefers-reduced-motion:reduce){ .betrieb__notruf::before{ animation:none; } }
.leer{ background:var(--karte); border-radius:var(--rund-gross); box-shadow:var(--wurf);
  padding:2.2rem 1.6rem; text-align:center; color:var(--neben); }
.leer strong{ color:var(--wort); display:block; font-family:var(--titel); font-size:var(--schrift-7); margin-bottom:.4rem; }
.abschnitt--werk{ max-width:88rem; }
body:has(.abschnitt--treffer){ --wellenhoehe:clamp(120px, 13vw, 190px); }
body:has(.abschnitt--formular){ --wellenhoehe:clamp(110px, 12vw, 170px); }
body:is(:has(.abschnitt--treffer), :has(.abschnitt--formular)){
  --balkenragen:calc(.36 * var(--wellenhoehe)); }
body:is(:has(.abschnitt--treffer), :has(.abschnitt--formular)) .bd-trenner{
  height:var(--wellenhoehe); }
.abschnitt--werk:has(.filterleiste){ padding-block-end:var(--balkenragen); }
.bd-trenner + .abschnitt--treffer{
  padding-block-start:calc(clamp(1rem, 2vw, 1.8rem) + var(--balkenragen)); }
.ergebnis__zahl{ font-weight:600; color:var(--neben); }
.filterleiste{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1.5rem 1.4rem; align-items:end;
  background:var(--karte); border-radius:var(--rund-gross); box-shadow:var(--wurf);
  padding:1.05rem 1.2rem 1.3rem; margin-bottom:1.4rem; }
@media (max-width: 64rem){ .filterleiste{ grid-template-columns:minmax(0, 1fr); } }
.filterfeld:has(.medienreihe){ grid-column:1 / -1; }
.filterfeld select{ width:100%; }
@media (min-width: 64rem){
  .filterfeld:has([data-leistung]){ grid-column:span 2; }
  .filterfeld:has(.medienreihe){ grid-column:span 2; }
  .filter__leeren{ grid-column:-2 / -1; justify-self:end; align-self:center; }
}
.filterfeld{ display:grid; gap:.3rem; font-size:var(--schrift-2); font-weight:600; color:var(--neben); }
.filterfeld input[type="text"],.filterfeld input[type="search"],.filterfeld select{
  background:var(--grund); border:1px solid var(--linie); border-radius:var(--rund);
  padding:.55rem .7rem; font-size:var(--schrift-4); min-width:11rem;
  transition:border-color var(--takt); }
.filterfeld input:focus-visible,.filterfeld select:focus-visible{ outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px rgb(200 16 46 / .18); }
.filterfeld--umkreis input[type="range"]{ accent-color:var(--herz); min-width:11rem; margin-block:.55rem; }
.filterfeld output{ color:var(--herz-wort); }
.medienreihe{ display:flex; flex-wrap:wrap; gap:.4rem; }
.medienchip{ position:relative; }
.medienchip input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.medienchip span{ display:inline-flex; align-items:center; gap:.42rem; padding:.4rem .8rem;
  border:2px solid var(--feldrand); border-radius:0; font-size:var(--schrift-3); font-weight:500;
  color:var(--wort); background:var(--creme);
  transition:background var(--takt), border-color var(--takt), box-shadow var(--takt); }
.medienchip span i{ width:.62rem; height:.62rem; border-radius:50%; background:var(--chip-farbe); flex:none; }
.medienchip input:checked + span{ font-weight:650; border-color:var(--chip-farbe);
  background:color-mix(in srgb, var(--chip-farbe) 16%, var(--karte)); }
.medienchip input:checked + span::after, .artchip input:checked + span::after{
  content:'✓' / ''; font-weight:800; margin-left:.35rem; }
.medienchip input:focus-visible + span{ outline:3px solid var(--herz-kante); outline-offset:2px; }
.artchip{ position:relative; }
.artchip input{ position:absolute; inset:0; opacity:0; cursor:pointer; }
.artchip span{ display:inline-flex; align-items:center; padding:.4rem .8rem;
  border:2px solid var(--feldrand); border-radius:0; font-size:var(--schrift-3); font-weight:500;
  color:var(--wort); background:var(--creme);
  transition:background var(--takt), border-color var(--takt); }
@media (max-width: 64rem){
  .medienreihe{ gap:.55rem; }
  .medienchip span, .artchip span{ padding:.58rem .9rem; }
}
.artchip input:checked + span{ font-weight:650; border-color:var(--herz-kante);
  background:color-mix(in srgb, var(--herz) 12%, var(--karte)); }
.artchip input:focus-visible + span{ outline:3px solid var(--herz-kante); outline-offset:2px; }
.filter__hinweis{ grid-column:1 / -1; margin:0; font-size:var(--schrift-3); font-weight:500;
  color:var(--neben); }
.filter__hinweis[hidden]{ display:none; }
.filter__leeren{ background:none; border:0; cursor:pointer; font-size:var(--schrift-3); font-weight:600;
  color:var(--neben); text-decoration:underline; text-underline-offset:3px; padding:.5rem 0; }
.filter__leeren:hover{ color:var(--herz-wort); }
.filterknopf{ display:none; width:100%; margin:-.6rem 0 1.2rem; padding:.75rem 1rem;
  background:var(--karte); border:0; box-shadow:var(--wurf); font:inherit; font-weight:650;
  color:var(--herz-wort); cursor:pointer; text-align:left; }
.filterknopf::after{ content:' ▾'; }
.filterknopf[aria-expanded="true"]::after{ content:' ▴'; }
@media (max-width: 64rem){
  html[data-zusatzfilter] .filterknopf{ display:block; }
  html[data-zusatzfilter="zu"] .filterleiste > :not(.filterfeld--kern){ display:none; }
}
.werk{ display:grid; grid-template-columns:minmax(0, 1fr); gap:1.3rem; align-items:start; }
.werk.werk--karte{ grid-template-columns:minmax(0, .96fr) minmax(0, 1.04fr); }
.werk__liste{ display:grid; gap:1rem; scrollbar-width:thin; }
.werk__liste .kacheln{ display:grid; gap:1rem;
  grid-template-columns:repeat(auto-fill, minmax(19rem, 1fr)); }
.werk--karte .werk__liste .kacheln{ grid-template-columns:1fr; }
.werk__karte{ display:none; position:sticky; top:4.6rem; }
.werk--karte .werk__karte{ display:block; }
#karte{ height:calc(100svh - 11rem); min-height:30rem; border-radius:var(--rund-gross);
  box-shadow:var(--wurf); }
.werk__kartenzeile{ margin-top:.45rem; font-size:var(--schrift-1); color:var(--neben); text-align:right; }
.ansicht{ display:inline-flex; justify-self:start; background:var(--karte); border-radius:0;
  box-shadow:var(--wurf); overflow:hidden; padding:.25rem; }
.ansicht button{ border:0; background:none; padding:.5rem 1.15rem; border-radius:0;
  font:inherit; font-weight:600; color:inherit; cursor:pointer; }
.ansicht button[aria-pressed="true"]{ background:var(--herz); color:#fff; }
:is(#karte, #karte-kataster).leaflet-container{ font:inherit; border-radius:var(--rund-gross); }
.pin{ display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:50%;
  background:var(--pin-farbe,var(--herz)); border:3px solid #fff;
  box-shadow:0 3px 10px rgb(0 0 0 / .35); transition:transform .15s var(--bogen); }
.pin:hover{ transform:scale(1.15); }
.pin::after{ content:''; width:.5rem; height:.5rem; border-radius:50%; background:#fff; }
:is(#karte, #karte-kataster) .leaflet-popup-content-wrapper{ border-radius:var(--rund); box-shadow:var(--wurf-hoch); }
:is(#karte, #karte-kataster) .leaflet-bar a, :is(#karte, #karte-kataster) .leaflet-bar a:hover, :is(#karte, #karte-kataster) .leaflet-bar a:focus{
  background-color:var(--karte); color:var(--wort); border-bottom-color:var(--linie); }
:is(#karte, #karte-kataster) .leaflet-bar a:hover{ background-color:color-mix(in srgb, var(--karte) 92%, var(--wort)); }
:is(#karte, #karte-kataster) .leaflet-bar a.leaflet-disabled{ background-color:var(--karte); color:var(--neben); }
:is(#karte, #karte-kataster) .leaflet-popup-content-wrapper, :is(#karte, #karte-kataster) .leaflet-popup-tip{
  background:var(--karte); color:var(--wort); }
:is(#karte, #karte-kataster) .leaflet-control-attribution{
  background:color-mix(in srgb, var(--karte) 84%, transparent); color:var(--neben); }
:is(#karte, #karte-kataster) .leaflet-control-attribution a{ color:var(--herz-kante); }
.kat-quellen{ display:inline-block; }
.kat-quellen > summary{ cursor:pointer; list-style:none;
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.1rem .1rem .1rem 0; color:inherit; }
.kat-quellen > summary::-webkit-details-marker{ display:none; }
.kat-quellen > summary::before{ content:''; flex:0 0 auto;
  inline-size:.5em; block-size:.5em;
  border-inline-end:1.6px solid currentColor;
  border-block-end:1.6px solid currentColor;
  rotate:-45deg; translate:.06em 0;
  transition:rotate var(--takt), translate var(--takt); }
.kat-quellen[open] > summary::before{ rotate:45deg; translate:0 -.1em; }
.kat-quellen > span{ display:block; max-inline-size:min(46ch, 70vw);
  margin-block-start:.15rem; }
@media (max-width: 46rem){
  .kat-quellen > summary{ min-block-size:32px; }
  .kat-quellen > span{ max-block-size:9rem; overflow-y:auto; }
}
@media (pointer: coarse){
  :is(#karte, #karte-kataster) .leaflet-bar a{ width:44px; height:44px; line-height:44px; font-size:1.35rem; }
}
.kartenkarte{ display:grid; gap:.25rem; font-family:var(--schrift); font-size:var(--schrift-4); min-width:13rem; }
.kartenkarte__medien{ display:flex; gap:.3rem; }
.kartenkarte__medien i{ width:.6rem; height:.6rem; border-radius:50%; }
.kartenkarte strong{ font-family:var(--titel); font-size:var(--schrift-5); }
.kartenkarte__ort,.kartenkarte__dienste{ color:var(--neben); font-size:var(--schrift-2); }
.kartenkarte__satz{ color:var(--wort); font-size:var(--schrift-3); line-height:1.45;
  margin-block:.15rem; }
.kartenkarte__zeug{ color:var(--neben); font-size:var(--schrift-2); }
.kartenkarte__zeiten{ color:var(--neben); font-size:var(--schrift-2); }
.kartenkarte__draht{ font-size:var(--schrift-2); font-weight:600; }
.kartenkarte__draht a{ color:var(--herz-wort); text-decoration:none; }
.kartenkarte__draht a:hover{ text-decoration:underline; }
.kartenkarte__draht:empty{ display:none; }
.kartenkarte__zeug:empty{ display:none; }
.kartenkarte__weg{ margin-top:.4rem; justify-self:start; color:#fff !important;
  background:linear-gradient(135deg, #DE2846, var(--herz) 55%, var(--herz-tief));
  text-decoration:none; font-weight:600; font-size:var(--schrift-3); padding:.4rem .9rem; border-radius:0; }
.kartenkarte__weg:hover{ filter:brightness(.94); }
.profil__kopf{ position:relative; color:#fff; overflow:clip; padding-top:1rem; }
.profil__kopf::before{ content:''; position:absolute; inset:-3.2% 0;
  background:
    radial-gradient(75% 100% at 88% 10%, color-mix(in srgb, var(--kopf-a, var(--herz)) 58%, transparent), transparent 74%),
    radial-gradient(60% 90% at 60% 112%, color-mix(in srgb, var(--kopf-b, var(--herz)) 40%, transparent), transparent 72%),
    linear-gradient(160deg, #2c241d, #15110e); }
.profil__kopf .schleier{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgb(20 16 13 / .86), rgb(20 16 13 / .55) 55%, rgb(20 16 13 / .35)),
    linear-gradient(180deg, rgb(20 16 13 / .2), rgb(20 16 13 / .45)); }
.profil__adern{ position:relative; z-index:2; height:0; display:none; }
.pin__mehr{ position:absolute; top:-4px; right:-7px; min-width:1.05rem; height:1.05rem;
  display:grid; place-items:center; border-radius:999px; background:#fff;
  color:var(--tinte, #241F19); font-size:var(--schrift-1); font-weight:700; font-style:normal;
  box-shadow:0 1px 4px rgb(0 0 0 / .35); padding-inline:.15rem; }
.zurueckweg{ margin-bottom:.9rem; }
@media (max-width: 64rem){
  .fakten dd a, .zurueckweg a, .datenliste dd a, .blatt p > a[href^="tel:"],
  .blatt p > a[href^="mailto:"]{
    display:inline-block; min-height:44px; padding-block:.7rem; margin-block:-.7rem; }
}
.zurueckweg a{ color:rgb(255 255 255 / .85); text-decoration:none; font-size:var(--schrift-4);
  font-weight:600; }
.zurueckweg a:hover{ color:#fff; text-decoration:underline; }
.profil__handeln{ display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.1rem; }
.knopf--rand{ background:none; color:#fff; box-shadow:inset 0 0 0 2px rgb(255 255 255 / .75); }
.knopf--rand:hover{ background:rgb(255 255 255 / .12); }
.profil__kopf .abschnitt{ position:relative; z-index:2; padding-block:3.4rem 2.6rem; }
.profil__kopf h1{ font-size:clamp(2.2rem, 4.6vw, 3.4rem); text-shadow:0 2px 16px rgb(0 0 0 / .5); }
.profil__meta{ margin-top:.9rem; display:flex; flex-wrap:wrap; gap:.4rem 1.6rem;
  font-size:var(--schrift-4); color:rgb(255 255 255 / .88); }
.profil__raster{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(17rem,.8fr); gap:2rem; align-items:start; }
.profil__raster > .fakten{ grid-column:2; grid-row:1; }
.profil__raster > div:not(.fakten){ grid-column:1; grid-row:1; }
.profil__kennung{ display:inline-block; font-size:var(--schrift-1); font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--neben); background:var(--creme); border-radius:0;
  padding:.35rem .9rem; margin-bottom:1.1rem; }
.profil__kennung.profil__kennung--offen{ display:block; max-width:62ch; text-transform:none;
  letter-spacing:0; font-weight:400; font-size:var(--schrift-3); line-height:1.55;
  color:var(--wort); padding:1rem 1.15rem; }
.profil__kennung--offen p{ margin:0; }
.profil__kennung--offen .profil__wege{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.9rem; }
.profil__wege .knopf--rand{ color:var(--wort); background:transparent;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wort) 45%, transparent); }
.profil__wege .knopf--rand:hover{ box-shadow:inset 0 0 0 1px var(--wort); }
.zeile-eng{ max-width:62ch; }
.fakten{ background:var(--karte); border-radius:var(--rund-gross); box-shadow:var(--wurf); padding:.4rem 0; }
.fakten dl{ margin:0; display:grid; }
.fakten dl > div{ padding:.75rem 1.2rem .8rem; border-top:1px solid var(--linie); }
.fakten dl > div:first-child{ border-top:0; }
.fakten dt{ font-size:var(--schrift-1); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--neben); }
.fakten dd{ margin:.15rem 0 0; font-size:var(--schrift-5); }
.melden{ margin-top:1.1rem; font-size:var(--schrift-3); color:var(--neben); }
.profil__raster > .meldung{ grid-column:1 / -1; grid-row:2; }
.abschnitt:has(> .profil__raster){
  padding-block-end:calc(2.4rem + .53 * clamp(280px, 36vw, 540px)); }
.meldung{ margin-top:1.6rem; background:var(--karte); border-radius:var(--rund-gross);
  box-shadow:var(--wurf); overflow:clip; }
.meldung summary{ cursor:pointer; padding:1rem 1.3rem; font-weight:650; list-style:none;
  display:flex; align-items:center; gap:.6rem; }
.meldung summary::-webkit-details-marker{ display:none; }
.meldung summary::before{ content:'+'; display:inline-grid; place-items:center; flex:none;
  width:1.5rem; height:1.5rem;
  background:color-mix(in srgb, var(--herz) 12%, var(--karte)); color:var(--herz-wort);
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--herz) 30%, transparent);
  font-weight:700; }
.meldung[open] summary::before{ content:'–'; }
.meldung summary:hover{ color:var(--herz-wort); }
.meldung__feld{ display:grid; gap:1rem; padding:0 1.3rem 1.3rem; }
.profil__einordnung{ margin:0 0 1.6rem; display:grid; gap:.55rem .9rem; }
.profil__einordnung > div{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem .7rem; }
.profil__einordnung dt{ flex:0 0 8.5rem; font-size:var(--schrift-1); font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--neben); }
.profil__einordnung dd{ margin:0; font-size:var(--schrift-5); }
.standort{ margin-bottom:1.4rem; }
.standort h3{ font-size:var(--schrift-6); margin:0 0 .8rem; }
.standort__radius{ font-size:var(--schrift-3); color:var(--neben); margin:.2rem 0 .5rem; }
.profil__notruf{ margin-top:1rem; display:inline-block; font-weight:650;
  background:rgb(255 255 255 / .14); border:1px solid rgb(255 255 255 / .4);
  border-radius:0; padding:.45rem 1.1rem; backdrop-filter:blur(6px); }
.profil__notruf a{ text-decoration:none; }
.fakten dl > div.fakten--notruf dd a{ color:var(--herz-wort); font-weight:650; text-decoration:none; }
.kartenkarte__notruf{ color:var(--herz-wort); font-weight:650; font-size:var(--schrift-3); }
body:has(.abschnitt--wartung) :is(.kopf__nav, .kopf__menue, .fuss__nav, .fuss__zeile) {
  display:none;
}
body:has(.abschnitt--wartung) .kopf{ justify-content:flex-start; }
body:has(.abschnitt--wartung) .marke{ cursor:default; pointer-events:none; }
.kontakt{ display:grid; gap:1rem; margin-block:1.2rem 0; max-width:44rem; }
.kontakt__wort{ margin:0; font-size:var(--schrift-4); color:var(--neben); max-width:60ch; }
.kontakt__zwei{ display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
@media (max-width: 34rem){ .kontakt__zwei{ grid-template-columns:1fr; } }
.kontakt__fuss{ display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; }
.kontakt__fuss small{ font-size:var(--schrift-2); color:var(--neben); max-width:52ch; }
.kontakt__falle{ position:absolute; left:-9999px; width:1px; height:1px;
  overflow:hidden; margin:0; }
.kontakt__antwort{ margin:0; padding:.75rem 1rem; font-size:var(--schrift-4);
  border-radius:var(--rund); background:var(--grund); color:var(--wort);
  box-shadow:inset 0 0 0 1px var(--linie); }
.kontakt__antwort[data-art="laeuft"]{ color:var(--neben); }
.kontakt__antwort[data-art="gut"]{
  background:color-mix(in srgb, #1C6E40 8%, var(--karte));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, #1C6E40 34%, transparent); }
.kontakt__antwort[data-art="fehler"]{
  background:color-mix(in srgb, var(--herz) 8%, var(--karte));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--herz) 34%, transparent); }
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) .kontakt__antwort[data-art="gut"]{
    background:color-mix(in srgb, var(--daten) 12%, var(--karte));
    box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--daten) 40%, transparent); }
}
@media screen{ 
[data-licht="dunkel"] .kontakt__antwort[data-art="gut"]{
  background:color-mix(in srgb, var(--daten) 12%, var(--karte));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--daten) 40%, transparent); }
}
.meldung .kontakt{ max-width:none; }
.nr-erfunden{ color:var(--neben); text-decoration:underline dotted 1px;
  text-underline-offset:3px; cursor:help; }
.kartenkarte__beispiel{ display:block; margin-top:.25rem;
  font-size:var(--schrift-1); font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--neben); }
.profil__erfunden{ display:block; margin-top:.8rem; max-width:34rem;
  font-size:var(--schrift-3); color:rgb(255 255 255 / .9); }
.eintrag{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); gap:2rem; align-items:start; }
.formular{ display:grid; gap:1.5rem; }
.formular fieldset{ margin:0; padding:1.5rem 1.5rem 1.6rem; border:0; min-inline-size:0;
  background:var(--karte); border-radius:var(--rund-gross); box-shadow:var(--wurf); display:grid; gap:1.05rem; }
.formular legend{ font-family:var(--titel); font-weight:650; font-size:var(--schrift-7); padding:0;
  float:left; width:100%; margin-bottom:.6rem; }
.formular legend + *{ clear:both; }
.feld{ display:grid; gap:.32rem; min-width:0; }
.feld > span{ font-size:var(--schrift-4); font-weight:600; }
.feld small{ color:var(--neben); font-size:var(--schrift-2); font-weight:400; }
.feld input,.feld select,.feld textarea{ background:var(--grund); border:1px solid var(--linie);
  border-radius:var(--rund); padding:.65rem .8rem; font-size:var(--schrift-5); width:100%; min-width:0;
  transition:border-color var(--takt); }
.feld input:focus-visible,.feld textarea:focus-visible{ outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px rgb(200 16 46 / .18); }
.feld textarea{ min-height:6.4rem; resize:vertical; }
.feld--reihe{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }
@supports (grid-template-rows: subgrid){
  .feld--reihe{ grid-template-rows:auto auto auto; column-gap:1rem; row-gap:.32rem; }
  .feld--reihe > .feld{ grid-row:1 / span 2; grid-template-rows:subgrid; }
  .feld--reihe > .infoklapp{ grid-column:1; grid-row:3; margin-block-start:.15rem; }
}
.feld--blank{ gap:.32rem; }
.feld > .infoklapp{ margin-block-start:0; }
.zaehler{ justify-self:end; font-size:var(--schrift-1); color:var(--neben); font-variant-numeric:tabular-nums; }
.zaehler[data-voll]{ color:var(--strom); font-weight:600; }
.radius__spur{ flex:1 1 10rem; min-width:8rem; display:grid; gap:.15rem; }
.radius__spur input[type="range"]{ width:100%; accent-color:var(--herz); }
.radius__wert{ flex:0 0 auto; white-space:nowrap; display:inline-flex; align-items:center; gap:.4rem; }
.radius__grenzen{ display:flex; justify-content:space-between; font-size:var(--schrift-1);
  color:var(--neben); margin-top:.15rem; }
.filterfeld--umkreis input[type="range"]:disabled{ opacity:.45; }
.filterfeld--umkreis{ position:relative; }
.filterfeld--umkreis .radius__grenzen{ position:absolute; top:100%; left:0; right:0; margin-top:.1rem; }
.standortgruppe{ display:grid; gap:1rem; padding:1rem; border:1px dashed var(--linie);
  border-radius:var(--rund); }
.standortgruppe + .standortgruppe{ margin-top:.4rem; }
.standortgruppe__titel{ font-weight:650; font-size:var(--schrift-4); color:var(--neben); }
.standort__mehr{ justify-self:start; background:none;
  border-radius:0; cursor:pointer; font-weight:600; font-size:var(--schrift-4); color:var(--herz-wort);
  border:0; box-shadow:inset 0 0 0 2px currentColor;
  padding:.55rem 1.2rem; transition:color var(--takt), background var(--takt); }
.standort__mehr:hover{ background:color-mix(in srgb, var(--herz) 8%, transparent); }
.standort__mehr:disabled{ cursor:not-allowed; color:var(--neben); opacity:.6; }
.standort__mehr:disabled:hover{ background:none; }
.standort__grenze{ margin:.5rem 0 0; font-size:var(--schrift-3); color:var(--neben); max-width:52ch; }
.standort__weg{ justify-self:start; background:none; border:0; cursor:pointer;
  font-size:var(--schrift-3); color:var(--neben); text-decoration:underline; text-underline-offset:3px; }
.standort__weg:hover{ color:var(--herz-wort); }
.leistungsfeld{ display:grid; gap:.2rem; }
.leistungsliste{ display:grid; gap:.75rem; margin-block:.5rem .3rem; }
.leistungsblock{ display:grid; gap:.45rem;
  border:1px solid var(--linie); border-radius:var(--rund);
  padding:.7rem .75rem .75rem; background:var(--grund); }
.leistungsblock:focus-within{ border-color:var(--herz-kante); }
.leistungsblock__name{ font-size:var(--schrift-5); }
.leistungsblock__radius{ display:grid; gap:.55rem; align-items:center;
  grid-template-columns:auto minmax(5rem,1fr) max-content 2.2rem; }
.leistungsblock__wort{ font-size:var(--schrift-3); font-weight:600; color:var(--neben); }
.leistungsblock__spur{ min-width:0; }
.leistungsblock__wert{ font-size:var(--schrift-3); }
.leistungsblock__wert .radius__zahl{ width:4.4rem; flex:0 0 auto; }
.leistungsblock__weg{ width:2.2rem; height:2.2rem; padding:0; border:0; border-radius:50%;
  background:none; color:var(--neben); font-size:var(--schrift-6); line-height:1; cursor:pointer;
  transition:color var(--takt), background var(--takt); }
.leistungsblock__weg:hover,.leistungsblock__weg:focus-visible{
  background:color-mix(in srgb, var(--herz) 10%, transparent); color:var(--herz-wort); }
.leistungsliste:has(> [data-leistungszeile]:only-child) .leistungsblock__weg{ visibility:hidden; }
.leistung__mehr{ justify-self:start; background:none; border:0; cursor:pointer;
  font-size:var(--schrift-3); color:var(--herz-wort); font-weight:600;
  padding:.35rem 0; text-decoration:underline; text-underline-offset:3px; }
.leistung__mehr:hover{ text-decoration-thickness:2px; }
.schlag--notdienst{ border-color:var(--herz-kante); }
.schlag__not{ font-style:normal; font-size:var(--schrift-1); font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--herz-wort);
  margin-inline-start:.35em; }
.rufnummer{ display:flex; align-items:stretch; gap:0; min-width:0; }
.feld .rufnummer__vorwahl{ flex:0 0 auto; width:auto;
  border-start-end-radius:0; border-end-end-radius:0;
  border-inline-end:0; background:var(--creme); font-variant-numeric:tabular-nums;
  padding-inline:.6rem; }
.feld .rufnummer__zahl{ flex:1 1 auto; min-width:0; width:auto;
  border-start-start-radius:0; border-end-start-radius:0; }
.rufnummer :focus-visible{ position:relative; z-index:1; }
.feldwink{ margin:.35rem 0 0; font-size:var(--schrift-2); color:var(--herz-wort);
  display:flex; align-items:baseline; gap:.35rem; }
.feldwink::before{ content:'!'; font-weight:700; }
.zeitliste{ display:grid; gap:.5rem; margin-block:.4rem .3rem; }
.zeitzeile{ display:grid; gap:.4rem; align-items:center;
  grid-template-columns:minmax(6rem,1.2fr) minmax(4.5rem,1fr) auto minmax(4.5rem,1fr) 2.2rem; }
.zeitzeile select{ min-width:0; font-variant-numeric:tabular-nums; }
.zeitzeile__bis{ font-size:var(--schrift-3); color:var(--neben); }
.zeitzeile[data-ohnezeit] .zeitzeile__uhr,
.zeitzeile[data-ohnezeit] .zeitzeile__bis{ opacity:.35; pointer-events:none; }
.zeitzeile__weg{ width:2.2rem; height:2.2rem; padding:0; border:0; border-radius:50%;
  background:none; color:var(--neben); font-size:var(--schrift-6); line-height:1; cursor:pointer;
  transition:color var(--takt), background var(--takt); }
.zeitzeile__weg:hover,.zeitzeile__weg:focus-visible{
  background:color-mix(in srgb, var(--herz) 10%, transparent); color:var(--herz-wort); }
.zeitliste:has(> [data-zeitzeile]:only-child) .zeitzeile__weg{ visibility:hidden; }
.zeitliste__probe{ margin:.1rem 0 0; font-size:var(--schrift-2); color:var(--neben); }
.zeitliste__probe b{ color:var(--wort); font-weight:600; }
.leistungsblock__notdienst{ font-size:var(--schrift-3); padding-block:.15rem;
  border-top:1px solid var(--linie); padding-top:.5rem; margin-top:.1rem; }
.leistungsblock__notdienst span{ color:var(--neben); }
.leistungsblock__notdienst:has(:checked) span{ color:var(--herz-wort); font-weight:600; }
@media (max-width: 46rem){
  .zeitzeile{ grid-template-columns:1fr auto 1fr 44px; row-gap:.35rem; }
  .zeitzeile__tage{ grid-column:1 / -1; }
  .zeitzeile__weg{ width:44px; height:44px; }
}
.infoklapp{ margin-block-start:.15rem; font-size:var(--schrift-2); }
.infoklapp > summary{ cursor:pointer; color:var(--neben); list-style:none;
  display:inline-flex; align-items:center; gap:.45rem; padding:.3rem 0;
  text-decoration:underline; text-decoration-style:dotted; text-underline-offset:3px;
  transition:color var(--takt); }
.infoklapp > summary::-webkit-details-marker{ display:none; }
.infoklapp > summary::before{ content:''; flex:0 0 auto;
  inline-size:.54em; block-size:.54em;
  border-inline-end:1.7px solid currentColor;
  border-block-end:1.7px solid currentColor;
  rotate:-45deg; translate:.08em 0;
  transition:rotate var(--takt), translate var(--takt); }
.infoklapp[open] > summary::before{ rotate:45deg; translate:0 -.12em; }
.infoklapp > summary:hover,.infoklapp > summary:focus-visible{ color:var(--herz-wort); }
.infoklapp__wort{ border-inline-start:2px solid var(--linie); padding:.15rem 0 .25rem .7rem;
  margin-block:.1rem .3rem; color:var(--neben); max-inline-size:62ch; }
.infoklapp__wort p{ margin:0; }
.infoklapp__wort p + p{ margin-block-start:.4rem; }
@media (max-width: 46rem){
  .infoklapp > summary{ min-height:44px; align-items:center; }
}
.vt-mehr{ margin-block-start:.35rem; font-size:var(--schrift-2); }
.vt-mehr > summary{ font-weight:600; }
.vt-mehr .infoklapp__wort{ font-size:var(--schrift-3); line-height:1.5; max-inline-size:46ch; }
.leistungsvorschau{ display:flex; flex-wrap:wrap; gap:.3rem; align-items:center;
  margin-block-start:.1rem; }
.leistungschip{ background:var(--creme); border:1px solid var(--linie);
  border-radius:999px; padding:.16rem .6rem; font-size:var(--schrift-2); }
.leistungschip__wort{ font-size:var(--schrift-1); color:var(--neben); font-style:italic; }
.leistungschip__bruch{ flex-basis:100%; height:0; }
.leistungschip--weg{ font-size:var(--schrift-1); color:var(--herz-wort); display:inline-flex;
  align-items:baseline; gap:.3rem; }
.leistungschip--weg::before{ content:'!'; font-weight:700; }
@media (max-width: 46rem){
  .leistungsblock__radius{ grid-template-columns:1fr max-content 44px; row-gap:.45rem; }
  .leistungsblock__wort{ grid-column:1; grid-row:1; }
  .leistungsblock__wert{ grid-column:2; grid-row:1; }
  .leistungsblock__weg{ grid-column:3; grid-row:1; width:44px; height:44px; }
  .leistungsblock__spur{ grid-column:1 / -1; grid-row:2; }
  .leistung__mehr{ min-height:44px; }
}
.hakenreihe{ display:grid; gap:.3rem; }
.haken{ display:flex; align-items:flex-start; gap:.6rem; font-size:var(--schrift-4); cursor:pointer; padding:.42rem 0; }
.haken input{ margin-top:.1em; flex:none; }
.einwillig{ display:flex; gap:.7rem; align-items:flex-start; font-size:var(--schrift-4); }
.haken input[type="checkbox"], .einwillig input[type="checkbox"]{
  appearance:none; -webkit-appearance:none; flex:none; cursor:pointer;
  box-sizing:border-box; width:1.45rem; height:1.45rem; min-width:1.45rem; max-width:1.45rem;
  aspect-ratio:1; padding:0; border:2px solid var(--neben);
  background:var(--karte); display:inline-grid; place-content:center; margin:0; }
.einwillig input[type="checkbox"]{ margin-top:.15rem; width:1.3rem; height:1.3rem; }
.haken input[type="checkbox"]::before, .einwillig input[type="checkbox"]::before{
  content:''; width:.55rem; height:.55rem; background:var(--herz); scale:0;
  transition:scale var(--takt) var(--bogen); }
.einwillig input[type="checkbox"]::before{ width:.62rem; height:.62rem; }
.haken input[type="checkbox"]:checked, .einwillig input[type="checkbox"]:checked{ border-color:var(--herz-kante); }
.haken input[type="checkbox"]:checked::before, .einwillig input[type="checkbox"]:checked::before{ scale:1; }
.absenden{ justify-self:start; }
.formular > .formular__merk:first-child{ margin-bottom:.2rem; }
@media (max-width: 42rem){ .formular .knopf.absenden{ width:100%; justify-content:center; } }
.formular__merk{ font-size:var(--schrift-3); color:var(--wort);
  background:color-mix(in srgb, var(--herz) 7%, var(--karte));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--herz) 30%, transparent);
  border-radius:var(--rund); padding:.7rem .95rem; }
.dateiwahl{ position:relative; display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; }
.dateiwahl input[type="file"]{ position:absolute; inset:0; width:100%; height:100%;
  opacity:0; cursor:pointer; }
.dateiwahl__knopf{ display:inline-block; font-weight:600; font-size:var(--schrift-4);
  padding:.55rem 1.2rem; border-radius:0; color:var(--herz-wort);
  box-shadow:inset 0 0 0 2px currentColor; }
.dateiwahl:hover .dateiwahl__knopf{ background:color-mix(in srgb, var(--herz) 8%, transparent); }
.dateiwahl:focus-within .dateiwahl__knopf{ outline:2px solid var(--herz); outline-offset:2px; }
.dateiwahl__name{ font-size:var(--schrift-3); color:var(--neben); }
.zuschnitt{ display:grid; gap:.7rem; }
.zuschnitt__wort{ font-size:var(--schrift-3); color:var(--neben); }
.zuschnitt__reihe{ display:flex; gap:1.2rem; flex-wrap:wrap; align-items:flex-start; }
.zuschnitt__feld{ width:18rem; height:18rem; border-radius:var(--rund); background:
  repeating-conic-gradient(var(--creme) 0 25%, var(--karte) 0 50%) 0 0 / 24px 24px;
  cursor:grab; touch-action:none; box-shadow:inset 0 0 0 1px var(--linie); }
.zuschnitt__feld:active{ cursor:grabbing; }
.zuschnitt__regler{ display:grid; gap:.8rem; align-content:start; }
.zuschnitt__regler label{ display:grid; gap:.3rem; font-size:var(--schrift-3); font-weight:600; color:var(--neben); }
.zuschnitt__regler input[type="range"]{ accent-color:var(--herz); min-width:11rem; }
.knopf--klein{ font-size:var(--schrift-4); padding:.55rem 1.1rem; min-height:44px; }
.knopf--weg{ background:none; color:var(--herz-wort);
  box-shadow:inset 0 0 0 2px currentColor; }
.knopf--weg:hover{ background:color-mix(in srgb, var(--herz) 8%, transparent); }
.zuschnitt__fehler{ color:var(--strom); font-size:var(--schrift-3); font-weight:600; }
.spiegel{ position:sticky; top:4.6rem; display:grid; gap:.7rem; }
.spiegel__wort{ font-size:var(--schrift-2); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--neben); }
.spiegel .betrieb{ box-shadow:var(--wurf-hoch); }
.spiegel .betrieb:hover{ translate:none; }
.spiegel .betrieb:hover h3{ color:inherit; }
.blatt{ max-width:36rem; margin-inline:auto; font-size:var(--schrift-6); }
.blatt__schluss{ margin-top:2.2rem; display:flex; align-items:center; gap:1.2rem;
  flex-wrap:wrap; }
.blatt h1{ font-size:clamp(2.1rem, 4.4vw, 3rem); margin-bottom:1.2rem; text-wrap:balance; }
.blatt h2{ font-size:1.65rem; margin:2.1rem 0 .7rem; text-wrap:balance; }
.blatt > h3{ font-size:1.25rem; margin:1.7rem 0 .45rem; text-wrap:balance; }
.blatt > h2 + h3{ margin-top:1rem; }
.blatt__schluss{ margin-top:2.6rem; display:flex; align-items:center; gap:1.3rem; flex-wrap:wrap; }
.hochweg{ margin-top:1.6rem; }
.hochweg a{ color:var(--neben); text-decoration:none; font-size:var(--schrift-4);
  display:inline-block; padding-block:.6rem; }
.hochweg a:hover{ color:var(--herz-wort); }
.blatt__sprung .sprungwort{ grid-column:1 / -1; font-size:var(--schrift-2); font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--neben); padding-block:.1rem .25rem; }
.quellenliste{ margin:.5rem 0 1.2rem; padding:0; list-style:none;
  display:grid; gap:.25rem; font-size:var(--schrift-1);
  color:var(--neben); }
.quellenliste li{ padding-left:.9rem; text-indent:-.9rem; }
.datenliste{ margin:.8rem 0 0; display:grid; gap:.3rem; }
.datenliste div{ display:grid; grid-template-columns:11rem 1fr; gap:.6rem; }
.datenliste dt{ color:var(--neben); }
.datenliste dd{ margin:0; }
@media (max-width: 42rem){
  .datenliste div{ grid-template-columns:1fr; gap:.05rem; }
  .datenliste div + div{ margin-top:.45rem; } }
.blatt p a:not(.knopf):not(.mehrweg), .blatt li a:not(.knopf):not(.mehrweg), .blatt .schritt a:not(.knopf):not(.mehrweg){
  color:var(--herz-wort); text-decoration:underline; text-underline-offset:3px; }
.blatt__schluss{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.blatt__schluss .mehrweg{ display:inline-flex; align-items:center; min-height:44px;
  padding:.5rem 1.3rem; text-decoration:none;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--herz-wort) 70%, transparent);
  transition:box-shadow var(--takt) var(--bogen), background var(--takt) var(--bogen); }
.blatt__schluss .mehrweg:hover{ box-shadow:inset 0 0 0 1px var(--herz-wort);
  background:color-mix(in srgb, var(--herz) 8%, transparent); }
.zusagen .schritt h3{ font-size:var(--schrift-6); }
.blatt > p, .blatt li, .blatt .schritt p{ max-width:62ch; }
.blatt p + p{ margin-top:.85rem; }
.blatt ul{ margin:.8rem 0 0; padding-left:1.25rem; }
.blatt li{ margin-bottom:.5rem; }
.leitzitat{ margin:1.8rem 0; padding:2rem 2.1rem; background:var(--karte);
  border-radius:var(--rund-gross); box-shadow:var(--wurf);
  font-family:var(--titel); font-weight:600;
  font-size:clamp(1.5rem, 2.6vw, 2.05rem); line-height:1.28;
  letter-spacing:-.01em; text-wrap:balance;
  box-shadow:inset 0 3px 0 var(--herz); }
.zusagen{ display:grid; gap:1rem; margin-top:1rem; }
.blatt__sprung{ display:grid; grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr));
  gap:.15rem .9rem; margin:1.4rem 0 .4rem; padding:1rem 1.15rem;
  background:var(--karte); border-radius:var(--rund); box-shadow:var(--wurf); }
.blatt__sprung a{ text-decoration:none; font-size:var(--schrift-4); font-weight:550;
  padding-block:.5rem; color:var(--herz-wort); }
.blatt__sprung a::before{ content:'→ '; opacity:.55; }
.blatt__sprung a:hover{ text-decoration:underline; text-underline-offset:3px; }
.tore__merk{ margin-top:1.1rem; font-size:var(--schrift-3); color:var(--neben); }
.punkt-legende{ display:flex; flex-wrap:wrap; gap:.35rem 1.15rem; margin:-.4rem 0 1rem;
  font-size:var(--schrift-2); color:var(--neben); }
.filterfeld--umkreis output{ font-weight:650; color:var(--wort); }
.punkt-legende span{ display:inline-flex; align-items:center; gap:.4rem; }
.punkt-legende i{ width:.62rem; height:.62rem; border-radius:50%; flex:none; }
.werkzeile{ display:flex; align-items:center; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; }
.ergebnis__zahl{ font-weight:650; position:relative; background:var(--grund);
  padding:.15rem .5rem; }
.betrieb:has(.betrieb__weg){ padding-bottom:2.6rem; }
.betrieb__weg{ pointer-events:none;
  position:absolute; right:1.3rem; bottom:1rem; font-size:var(--schrift-3); font-weight:600;
  color:var(--herz-wort); }
.formular__pflicht{ font-size:var(--schrift-3); color:var(--neben); margin:.6rem 0 0; max-width:58ch; }
.formular__merk{ max-width:62ch; }
.merkkasten{ margin-top:1.6rem; padding:.95rem 1.15rem;
  background:var(--karte);
  box-shadow:inset 0 0 0 1px var(--linie);
  border-radius:var(--rund); font-size:var(--schrift-4); color:var(--wort); }
.merkkasten p{ max-width:62ch; }
.muster{ margin:1.4rem 0 0; padding:1.15rem;
  background:var(--muster-mat); border-radius:var(--rund-gross); }
.muster .merkkasten{ margin-top:1.15rem; }
.teilnahmelogo{ display:flex; align-items:center; justify-content:center;
  padding:2.6rem 2rem; background:var(--muster-papier); border-radius:var(--rund-gross);
  box-shadow:var(--muster-wurf); border:1px solid var(--muster-kante); }
.teilnahmelogo__zeichen{ width:min(21rem, 74%); height:auto; color:#241E18; }
.zeichenkarte{ margin:1.3rem 0 .3rem; padding:.9rem; background:var(--muster-mat);
  border-radius:var(--rund-gross); }
.zeichenkarte .teilnahmelogo{ padding:1.7rem 1.4rem; }
.zeichenkarte .teilnahmelogo__zeichen{ width:min(15rem, 68%); }
.zeichenkarte figcaption{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .8rem;
  margin-top:.75rem; padding-inline:.2rem; font-size:var(--schrift-4); }
.zeichenkarte figcaption a{ font-weight:650; color:var(--herz-wort); text-decoration:underline;
  text-underline-offset:3px; display:inline-flex; align-items:center; min-height:44px; }
.zeichenkarte__wie{ color:var(--neben); }
.paketliste{ width:100%; border-collapse:collapse; margin-top:1.4rem; font-size:var(--schrift-4); }
.paketliste caption{ text-align:left; font-weight:650; padding-bottom:.5rem; color:var(--neben);
  font-size:var(--schrift-3); letter-spacing:.08em; text-transform:uppercase; }
.paketliste th, .paketliste td{ text-align:left; padding:.62rem .8rem .62rem 0;
  border-bottom:1px solid var(--linie); vertical-align:baseline; }
.paketliste thead th{ font-size:var(--schrift-2); font-weight:650; color:var(--neben);
  letter-spacing:.06em; text-transform:uppercase; border-bottom-width:2px; }
.paketliste tbody th{ font-weight:500; white-space:nowrap;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:var(--schrift-3); }
.paketliste tbody th a{ display:inline-flex; align-items:center; min-height:44px; }
.paketliste__gr{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums;
  color:var(--neben); padding-right:0; }
@media (max-width: 42rem){
  .paketliste, .paketliste caption, .paketliste tbody, .paketliste tr, .paketliste td, .paketliste th{ display:block; }
  .paketliste tbody th a{ display:block; padding-block:.7rem; }
  .einbau__code{ min-height:15rem; font-size:var(--schrift-2); }
  .knopf--klein{ min-height:44px; }
  .paketliste thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .paketliste tr{ padding:.7rem 0; border-bottom:1px solid var(--linie); }
  .paketliste th, .paketliste td{ border:0; padding:0 0 .18rem; }
  .paketliste__gr{ text-align:left; }
}
.wahlreihe{ display:flex; flex-wrap:wrap; gap:.4rem; }
.einbau{ margin-top:1.4rem; }
.einbau__pruefung{ font-size:var(--schrift-3); color:var(--neben); }
.einbau__pruefung--fehler{ color:var(--herz-wort); font-weight:600; }
.einbau__ergebnis{ margin-top:1.4rem; padding:1.3rem 1.3rem 1.1rem;
  background:var(--karte); border:1px solid var(--linie); box-shadow:var(--wurf); }
.einbau__titel{ margin:0 0 .55rem; font-size:var(--schrift-3); font-weight:650;
  letter-spacing:.08em; text-transform:uppercase; color:var(--neben); }
.einbau__titel + .einbau__titel, .einbau__buehne + .einbau__titel{ margin-top:1.3rem; }
.einbau__buehne{ display:flex; justify-content:center; align-items:center;
  padding:1.6rem 1.2rem; border:1px solid var(--linie); min-height:7rem; }
.einbau__buehne[data-grund="dunkel"]{ background:var(--buehne-hell); }
.einbau__buehne[data-grund="weiss"]{ background:var(--buehne-dunkel); }
.einbau__buehne img{ display:block; height:auto; }
.einbau__code{ width:100%; background:var(--grund); border:1px solid var(--linie);
  color:var(--wort); padding:.8rem .9rem; font-size:var(--schrift-3); line-height:1.5;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  resize:vertical; min-height:8rem; }
.einbau__code:focus-visible{ outline:3px solid var(--herz-wort); outline-offset:2px; }
.einbau__code--offen{ border-color:var(--herz-kante); }
.einbau__offen{ margin:0 0 .6rem; padding:.6rem .8rem; font-size:var(--schrift-4);
  background:color-mix(in srgb, var(--herz) 8%, var(--karte));
  box-shadow:inset 3px 0 0 var(--herz-kante); }
.einbau__zeile{ display:flex; flex-wrap:wrap; align-items:center; gap:.85rem; margin-top:.9rem; }
.einbau__meldung{ font-size:var(--schrift-4); color:var(--herz-wort); font-weight:600; }
.einbau__nachsatz{ margin-top:1rem; font-size:var(--schrift-4); color:var(--neben); max-width:62ch; }
.einbau__fussnote{ margin:.6rem 0 0; font-size:var(--schrift-3); color:var(--neben); max-width:62ch; }
.einbau__hinweis{ margin:.5rem 0 0; font-size:var(--schrift-3); color:var(--neben);
  max-width:62ch; min-height:1.2em; }
.paketliste__was{ margin:-.6rem 0 0; font-size:var(--schrift-4); color:var(--neben); }
.einbau__code--starr{ margin-top:.7rem; white-space:pre; overflow-x:auto; min-height:0; }
.einbau__code--starr code{ font:inherit; }
.einbau__code--starr strong{ font-weight:700; color:var(--herz-wort); }
.vorspann{ font-size:clamp(1.12rem, 1.6vw, 1.32rem); line-height:1.5;
  max-width:56ch; margin-bottom:1.8rem; }
.bildtafel{ margin:0 0 2rem; }
.bildtafel img{ display:block; width:100%; height:auto;
  border:1px solid var(--linie); box-shadow:var(--wurf); }
.bildtafel figcaption{ margin-top:.7rem; font-size:var(--schrift-4); color:var(--neben);
  max-width:62ch; }
.zahlen{ display:grid; grid-template-columns:repeat(auto-fit, minmax(13.5rem, 1fr));
  gap:1px; background:var(--linie); border:1px solid var(--linie);
  margin:1.8rem 0; box-shadow:var(--wurf); }
.zahlen__feld{ background:var(--karte); padding:1.2rem 1.15rem 1.15rem;
  display:flex; flex-direction:column; gap:.4rem; }
.zahlen__feld b{ font-family:var(--titel); font-weight:700; line-height:1;
  font-size:clamp(1.55rem, 2.6vw, 2rem); letter-spacing:-.02em;
  padding-top:.6rem; border-top:3px solid var(--herz-kante); align-self:start; }
.zahlen__feld span{ font-size:var(--schrift-4); }
.zahlen__feld em{ font-style:normal; font-size:var(--schrift-2); color:var(--neben);
  margin-top:auto; padding-top:.5rem; }
.kriterien{ list-style:none; margin:1.2rem 0 1.4rem; padding:0;
  counter-reset:kriterium; }
.kriterien li{ counter-increment:kriterium; margin:0; position:relative;
  padding:.85rem 0 .85rem 3.5rem; border-top:1px solid var(--linie); }
.kriterien li:last-child{ border-bottom:1px solid var(--linie); }
.kriterien li::before{ content:counter(kriterium, decimal-leading-zero);
  position:absolute; left:0; top:.95rem;
  font-family:var(--titel); font-weight:650; font-size:var(--schrift-4);
  color:var(--herz-wort); font-variant-numeric:tabular-nums; }
.blattheld{ position:relative; color:#fff; overflow:clip; }
.blattheld::before{ content:''; position:absolute; inset:-3.2% 0;
  background:var(--foto-graben) center 58% / cover no-repeat;
  filter:saturate(.92); }
.blattheld--kuenette::before{
  background-image:var(--foto-held);
  background-position:center 58%; }
.blattheld .schleier{ position:absolute; inset:0;
  background:linear-gradient(96deg, rgb(16 12 10 / .66) 0%, rgb(16 12 10 / .5) 42%,
    rgb(16 12 10 / .34) 78%, rgb(16 12 10 / .28) 100%),
    linear-gradient(180deg, rgb(16 12 10 / .3), rgb(16 12 10 / .46)); }
.blattheld__innen{ position:relative; z-index:3; max-width:var(--mass); margin:0 auto;
  padding:clamp(7.5rem, 13vw, 10.5rem) clamp(1rem, 4vw, 2.5rem) clamp(3.5rem, 6.5vw, 5.5rem); }
.blattheld h1{ font-family:var(--titel); font-weight:750; letter-spacing:-.02em;
  line-height:1.2; font-size:clamp(2.7rem, 6vw, 4.4rem); margin:.2rem 0 1rem; }
.blattheld .vorwort{ color:#FF8A99;
  text-shadow:0 1px 2px rgb(16 12 10 / .85), 0 0 12px rgb(16 12 10 / .55); }
.blattheld .vorspann{ color:rgb(255 255 255 / .95); margin-bottom:1.7rem; }
.blattheld__tat{ margin:0 0 1.5rem; }
.sprungleiste{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.4rem 0 0; }
.sprungleiste a{ color:var(--wort); text-decoration:none; font-size:var(--schrift-4); font-weight:600;
  min-height:44px; display:inline-flex; align-items:center; padding:.5rem .95rem;
  border:1px solid var(--linie); border-radius:.4rem; background:var(--karte);
  transition:border-color var(--takt) var(--bogen), color var(--takt) var(--bogen); }
.sprungleiste a:hover,
.sprungleiste a:focus-visible{ border-color:var(--herz-kante); color:var(--herz); }
.blattheld__sprung{ display:flex; flex-wrap:wrap; gap:.5rem; }
.blattheld__sprung a{ color:#fff; text-decoration:none; font-size:var(--schrift-4); font-weight:600;
  min-height:44px; display:inline-flex; align-items:center; padding:.5rem .95rem;
  border:1px solid rgb(255 255 255 / .55); background:rgb(0 0 0 / .28);
  transition:background var(--takt) var(--bogen), border-color var(--takt) var(--bogen); }
.blattheld__sprung a:hover{ border-color:#fff; background:rgb(0 0 0 / .45); }
@media (max-width: 64rem){
  .blattheld__innen{ padding-top:calc(36vw + 3rem); }
}
.rotbuehne{ position:relative; background-color:var(--schnitt-1);
  color:rgb(255 255 255 / .96); }
.rotbuehne__innen{ position:relative; z-index:1; max-width:var(--mass);
  margin:0 auto; padding:0 clamp(1rem, 4vw, 2.5rem); }
.rotbuehne__innen > *{ max-width:62ch; margin-inline:auto; }
.rotbuehne h2{ color:#fff; font-size:clamp(1.9rem, 3.6vw, 2.7rem);
  margin-bottom:1rem; }
.rotbuehne p + p{ margin-top:.85rem; }
.rotbuehne em{ color:#fff; }
.rotbuehne .merkkasten{ margin-top:1.6rem; background:rgb(0 0 0 / .2);
  border-left-color:#fff; color:#fff; }
.bd-trenner + .rotbuehne{ padding-block-start:var(--balkenragen); }
.rotbuehne:has(+ .bd-trenner){ padding-block-end:calc(clamp(2rem, 4vw, 3rem) + var(--balkenragen)); }
.bd-trenner.bd-halbsaum{ height:calc(var(--anteil, .5) * clamp(300px, 40vw, 580px)); }
.bd-trenner.bd-halbsaum > svg{ display:block; width:100%; height:100%; overflow:visible; }
.bd-trenner.bd-halbsaum--zurot{ margin-top:calc(-1 * var(--balkenragen)); margin-bottom:0; }
.bd-trenner.bd-halbsaum--vonrot{ margin-top:0; margin-bottom:calc(-1 * var(--balkenragen)); }
.bd-trenner.bd-halbsaum--zurot + .rotbuehne{ padding-block-start:clamp(1.5rem, 3vw, 2.5rem); }
.rotbuehne:has(+ .bd-trenner.bd-halbsaum--vonrot){ padding-block-end:clamp(1.5rem, 3vw, 2.5rem); margin-bottom:0; }
.streifen--ortung::before, .streifen--markierung::before{ inset:-3.2% 0; }
.streifen--markierung::before{
  background:var(--foto-wiese) center 68% / cover no-repeat; }
.streifen--markierung{ min-height:clamp(20rem, 110vw, 30rem); }
.streifen--markierung .schleier{
  background:linear-gradient(180deg, rgb(16 12 10 / .1) 55%, rgb(16 12 10 / .62)); }
.streifen--ortung::before{
  background:var(--foto-ortung) center 40% / cover no-repeat; }
.abschnitt--mitte .arbeiten{ text-align:left; }
.statistik{ margin:1.8rem 0; }
.statistik__titel{ font-family:var(--titel); font-weight:700;
  font-size:clamp(1.15rem, 1.6vw, 1.45rem); letter-spacing:-.01em;
  margin:0 0 1.1rem; }
.statistik__fig{ margin:0 0 1.1rem; padding:1.3rem 1.3rem 1.15rem;
  background:var(--karte); border:1px solid var(--linie); box-shadow:var(--wurf); }
.statistik__frage{ margin:0 0 .9rem; font-size:var(--schrift-2); font-weight:650;
  letter-spacing:.1em; text-transform:uppercase; color:var(--neben); }
.diagramm text{ font-family:'Source Sans 3', sans-serif; fill:var(--wort); }
.diagramm .d-name{ font-size:15px; font-weight:600; }
.diagramm .d-wert{ font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.diagramm .d-soll{ font-size:14px; font-weight:600; }
.diagramm .d-kopf{ font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; }
.diagramm .d-neben{ font-size:13px; fill:var(--neben); }
@media (max-width: 42rem){
  .diagramm .d-name{ font-size:24px; }
  .diagramm .d-wert{ font-size:24px; }
  .diagramm .d-soll{ font-size:22px; }
  .diagramm .d-kopf{ font-size:27px; }
  .diagramm .d-neben{ font-size:21px; }
}
.statistik__fig figcaption{ margin-top:.9rem; font-size:var(--schrift-4);
  color:var(--wort); max-width:70ch; }
.statistik__fig figcaption em{ display:block; font-style:normal;
  font-size:var(--schrift-2); color:var(--neben); margin-top:.35rem; }
.zahlen--paar{ margin:0; }
.arbeiten{ margin:1.2rem 0 1.6rem; display:grid; gap:1px;
  background:var(--linie); border:1px solid var(--linie); box-shadow:var(--wurf); }
@media (min-width: 48rem){ .arbeiten{ grid-template-columns:1fr 1fr; } }
.arbeiten > div{ background:var(--karte); padding:1.1rem 1.15rem 1.15rem; margin:0; }
.arbeiten dt{ font-family:var(--titel); font-weight:650; font-size:var(--schrift-6);
  margin-bottom:.3rem; }
.arbeiten dt a{ color:var(--herz-wort); text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:color-mix(in srgb, var(--herz-wort) 45%, transparent);
  display:inline-block; padding-block:.25rem; }
.arbeiten dt a:hover{ text-decoration-color:var(--herz-wort); }
.arbeiten dd{ margin:0; font-size:var(--schrift-4); }
.fuss :focus-visible, .streifen :focus-visible,
.held :focus-visible{ outline-color:#fff; }
.belege{ list-style:none; margin:1rem 0 0; padding:0; font-size:var(--schrift-4);
  color:var(--neben); display:grid; gap:.6rem; }
.belege li{ margin:0; padding-left:1rem; border-left:1px solid var(--linie); }
@media (max-width: 42rem){
  .kriterien li{ padding-left:2.9rem; }
}
@supports (animation-timeline:view()){
  .held, .streifen, .blattheld, .profil__kopf{ view-timeline-name:--foto; }
  :is(.held, .streifen, .blattheld, .profil__kopf)::before{
    animation:fotoZug linear both; animation-timeline:--foto;
    animation-range:cover 0% cover 100%; }
  @keyframes fotoZug{ from{ translate:0 2.6%; } to{ translate:0 -2.6%; } }
}
@supports not (animation-timeline:view()){
  html[data-ersatzantrieb="an"] :is(.held, .streifen, .blattheld, .profil__kopf)::before{
    translate:0 calc((.5 - var(--p-zug, .5)) * 5.2%); }
}
@media (prefers-reduced-motion:reduce){
  :is(.held, .streifen, .blattheld, .profil__kopf)::before{
    transform:none !important; animation:none !important; translate:none !important; }
}
.la-gitter{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(24rem, 100%), 1fr));
  gap:1rem; margin:1.4rem 0 2rem; align-items:start; }
@media (min-width: 62rem){
  .blatt .la-gitter{ margin-inline:-7rem; }
}
@media (min-width: 78rem){
  .blatt .la-gitter{ margin-inline:-12rem; }
}
.la-gitter--schmal{ grid-template-columns:repeat(auto-fill, minmax(16rem, 1fr)); }
.la-karte{ --ist-glas:1; position:relative; isolation:isolate; overflow:hidden;
  background:var(--glas-hell);
  -webkit-backdrop-filter:var(--glas-weich); backdrop-filter:var(--glas-weich);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(0 0 0 / var(--glas-rim-dunkel)), var(--wurf);
  padding:1.15rem 1.2rem 1.05rem; }
.la-karte h3{ font-size:var(--schrift-6); margin:0 0 .35rem; }
.la-stelle{ margin:0 0 .2rem; font-weight:600; }
.la-stelle a{ color:var(--herz-kante); }
.la-traeger{ margin:0 0 .7rem; font-size:var(--schrift-3); color:var(--neben); }
.la-lage{ margin:0 0 .5rem; font-size:var(--schrift-3); color:var(--neben);
  max-width:62ch; }
.la-liste{ margin:0; display:grid; gap:.7rem; }
.la-zeile{ font-size:var(--schrift-4); }
.la-zeile dt{ color:var(--neben); font-weight:700; font-size:var(--schrift-1);
  letter-spacing:.08em; text-transform:uppercase; margin-block-end:.12rem; }
.la-zeile dd{ margin:0; }
.la-quelle{ margin:.7rem 0 0; font-size:var(--schrift-2); color:var(--neben);
  max-width:62ch; }
.la-kataster{ list-style:none; padding:0; margin:1rem 0 2rem; display:grid; gap:.5rem; }
.la-kataster li{ display:flex; gap:.7rem; align-items:baseline; flex-wrap:wrap; }
.la-kataster span{ font-size:var(--schrift-3); color:var(--neben); }
.la-art{ margin:0 0 .55rem; font-size:var(--schrift-1); letter-spacing:.09em;
  text-transform:uppercase; font-weight:700; color:var(--neben);
  display:block; width:fit-content; padding:.2rem .55rem; border-radius:999px;
  background:color-mix(in srgb, var(--wort) 8%, transparent); }
.la-artlegende{ margin:1.2rem 0 1.6rem; padding:.9rem 1rem;
  background:var(--karte);
  border:1px solid color-mix(in srgb, var(--wort) 10%, transparent);
  border-radius:0; max-width:62ch; }
.la-artlegende__kopf{ margin:0 0 .6rem; font-weight:650; font-size:var(--schrift-3); }
.la-artlegende dl{ margin:0; display:grid; gap:.45rem; }
.la-artlegende dl > div{ display:grid; grid-template-columns:auto 1fr; gap:.2rem .7rem;
  align-items:baseline; }
.la-artlegende dt{ margin:0; }
.la-artlegende dd{ margin:0; font-size:var(--schrift-3); color:var(--neben); }
@media (max-width: 34rem){
  .la-artlegende dl > div{ grid-template-columns:1fr; }
  .la-artlegende dd{ padding-inline-start:.1rem; }
}
.la-art--kataster{ color:#fff; background:var(--herz); }
.la-art--portal{ color:var(--herz-marke);
  background:color-mix(in srgb, var(--herz) 18%, transparent); }
.la-art--register{ background:color-mix(in srgb, var(--wort) 10%, transparent); }
.la-art--betreiber{ background:none; box-shadow:inset 0 0 0 1px var(--linie); }
.la-art--behoerde{ color:var(--wort);
  background:color-mix(in srgb, var(--wort) 14%, transparent); }
.la-art--regelwerk{ background:none; color:var(--neben);
  box-shadow:inset 0 0 0 1px var(--linie); font-style:italic; }
.la-art--kartendienst{ background:none; color:var(--neben);
  border:1px dashed color-mix(in srgb, var(--neben) 55%, transparent); }
.fsliste{ display:grid; gap:.7rem; margin:1.2rem 0 1.4rem;
  grid-template-columns:repeat(auto-fill, minmax(16rem, 1fr)); }
.fskarte{ padding:.8rem .95rem; border:1px solid var(--linie);
  border-radius:.5rem; background:var(--karte); }
.fskarte h3{ margin:0 0 .5rem; font-size:var(--schrift-5); }
.fskarte .la-liste{ margin:0; }
.fs-fehlt{ margin:0 0 1.4rem; padding:.7rem .9rem;
  border-inline-start:2px solid var(--linie); background:var(--creme);
  font-size:var(--schrift-3); color:var(--neben); }
.fs-fehlt strong{ color:var(--wort); }
:root{
  --erdreich:#EFE9DC;
  --erdreich-tief:#DCD2BE;
  --belag:#C9C3B7;
  --belag-unten:#B3ACA0;
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-farben="hell"]){
    --erdreich:#241F18;
    --erdreich-tief:#171310;
    --belag:#3B342B;
    --belag-unten:#2A241D;
  }
}
.querschnitt{ margin:1.6rem 0 2rem; }
.qs-bild{ display:block; width:100%; height:auto;
  border:1px solid var(--linie); border-radius:.5rem; background:var(--karte); }
.qs-bild--schmal{ display:block; }
.qs-bild--breit{ display:none; }
@media (min-width:700px){
  .qs-bild--schmal{ display:none; }
  .qs-bild--breit{ display:block; }
}
.qs-bild text{ font-family:inherit; }
.qs-name{ font-size:15px; font-weight:700; fill:var(--wort); }
.qs-anzahl{ font-size:11px; fill:var(--neben); }
.qs-mass{ font-size:12.5px; font-weight:600; fill:var(--wort); }
.qs-skala{ font-size:12px; fill:var(--neben); }
.qs-flaeche{ font-size:12px; fill:var(--neben); letter-spacing:.08em;
  text-transform:uppercase; }
.qs-unter{ margin:.8rem 0 0; font-size:var(--schrift-3); line-height:1.6;
  color:var(--neben); }
.qs-unter p{ margin:0 0 .5rem; max-width:62ch; }
.qs-unter strong{ color:var(--wort); }
.melden{ display:inline-block; margin:.55rem 0 0; padding:.2rem .5rem .2rem 0;
  font-size:var(--schrift-2); line-height:1.5; color:var(--neben); text-decoration:none;
  border-bottom:1px dotted currentColor; }
.melden:hover, .melden:focus-visible{ color:var(--herz-wort); border-bottom-style:solid; }
.melden--klein{ margin:.15rem 0 0; padding:.35rem .4rem .35rem 0;
  font-size:var(--schrift-1); border-bottom:0; }
.melden--klein:hover, .melden--klein:focus-visible{
  border-bottom:1px solid currentColor; }
.kat-abschnitt{ display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; }
.kat-abschnitt .melden--klein{ margin:0; font-weight:400; }
.betrieb__melden{ position:relative; z-index:1; justify-self:start; }
.meldebogen{ margin:2.5rem 0 0; padding:2rem 0 2.5rem;
  border-top:1px solid var(--linie); background:var(--creme); }
.meldefenster{ width:min(38rem, calc(100vw - 2rem)); max-height:min(46rem, calc(100vh - 3rem));
  padding:0; border:1px solid var(--linie); border-radius:.7rem;
  background:var(--creme); color:var(--wort); overflow:auto; }
.meldefenster::backdrop{ background:rgba(20,16,12,.74); backdrop-filter:blur(3px); }
.meldefenster .meldebogen{ margin:0; padding:1.6rem 0 1.9rem; border-top:0; }
.meldefenster .meldebogen h2{ font-size:1.55rem; line-height:1.2;
  padding-inline-end:2.4rem; }
.meldefenster .meldebogen__innen{ position:relative; }
.meldefenster__zu{ position:absolute; inset-block-start:-.4rem; inset-inline-end:0;
  width:2.2rem; height:2.2rem; padding:0; border:0; border-radius:50%;
  background:transparent; color:var(--neben); font-size:1.5rem; line-height:1;
  cursor:pointer; }
.meldefenster__zu:hover, .meldefenster__zu:focus-visible{ background:var(--karte); color:var(--wort); }
@media (prefers-reduced-motion: no-preference){
  .meldefenster[open]{ animation:meldeauf .18s ease-out; }
}
@keyframes meldeauf{ from{ opacity:0; transform:translateY(.5rem) } to{ opacity:1; transform:none } }
.meldebogen__innen{ max-width:36rem; margin-inline:auto; padding-inline:1.25rem; }
.meldebogen h2{ margin:0 0 .6rem; }
.meldebogen__bezug{ margin:0 0 .9rem; padding:.65rem .85rem;
  border:1px solid var(--linie); border-radius:.4rem;
  background:var(--karte); font-size:var(--schrift-4); color:var(--neben); }
.meldebogen__bezug strong{ color:var(--herz-wort); }
.meldebogen > .meldebogen__innen > p{ margin:0 0 1.1rem; color:var(--neben);
  font-size:var(--schrift-4); line-height:1.65; }
.la-stand{ display:block; margin-block-start:.2rem; font-size:var(--schrift-2);
  line-height:1.4; color:var(--neben); }
.blatt--weit{ max-width:min(64rem, 100%); }
.knopf--still{ background:transparent; color:var(--wort);
  box-shadow:inset 0 0 0 1px var(--linie); }
.knopf--still:hover, .knopf--still:focus-visible{
  background:var(--creme); box-shadow:inset 0 0 0 1px var(--neben); }
.vw-kopf{ display:flex; align-items:flex-end; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.vw-kopf h1{ margin:0; }
.vw-abmelden{ display:flex; align-items:center; gap:.6rem; }
.vw-wer{ font-size:var(--schrift-4); color:var(--neben); }
.vw-meldung, .vw-fehler{ margin:0 0 1.2rem; padding:.7rem .95rem;
  border-radius:var(--rund); font-size:var(--schrift-4); }
.vw-meldung{ background:var(--karte); box-shadow:inset 0 0 0 1px var(--linie); }
.vw-fehler{ background:color-mix(in srgb, var(--herz) 13%, var(--karte));
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--herz) 70%, transparent); }
.vw-ausstehend{ margin:0 0 1.2rem; padding:.7rem .95rem;
  border-radius:var(--rund); font-size:var(--schrift-4);
  background:var(--karte); box-shadow:inset 0 0 0 1.5px var(--herz-kante); }
.vw-ausstehend code{ font-size:.94em; background:var(--creme);
  padding:.1rem .35rem; border-radius:.25rem; }
.vw-karte{ margin:0 0 1.1rem; padding:1.1rem 1.25rem 1.25rem;
  border:1px solid var(--linie); border-radius:.6rem; background:var(--karte); }
.vw-karte__kopf{ display:flex; align-items:baseline; justify-content:space-between;
  gap:.8rem; margin-bottom:.7rem; }
.vw-karte__kopf h3{ margin:0; font-size:var(--schrift-6); }
.vw-karte .la-liste{ margin:0 0 .8rem; }
.vw-marke{ flex:0 0 auto; padding:.15rem .5rem; border-radius:.3rem;
  font-size:var(--schrift-1); letter-spacing:.06em; text-transform:uppercase;
  background:var(--creme); color:var(--neben); }
.vw-marke--bestaetigt, .vw-marke--offen{
  background:color-mix(in srgb, var(--herz) 14%, var(--karte)); color:var(--herz-wort); }
.vw-pruefung{ margin:0 0 .8rem; font-size:var(--schrift-4); line-height:1.6; }
.vw-gut{ color:var(--daten); }
.vw-halt{ color:var(--herz-wort); }
.vw-satz{ color:var(--neben); }
.vw-meldungstext{ margin:.4rem 0 .9rem; padding:.7rem .9rem; background:var(--creme);
  border-radius:.4rem; font-size:var(--schrift-4); }
.unverlinkt{ color:var(--neben); text-decoration:underline wavy var(--neben);
  text-underline-offset:3px; cursor:help; word-break:break-all; }
.vw-zeile--still{ color:var(--neben); }
.vw-tun{ display:flex; align-items:flex-end; gap:.7rem; flex-wrap:wrap;
  margin-top:.7rem; }
.vw-tun--grund{ padding-top:.8rem; border-top:1px solid var(--linie); }
.vw-tun--grund .feld{ flex:1 1 22rem; margin:0; }
.vw-tun textarea{ min-height:3.2rem; }
.vw-leer{ color:var(--neben); font-style:italic; }
.vw-abschnitt + .vw-abschnitt{ margin-block-start:2rem; padding-block-start:1.6rem;
  border-block-start:1px solid var(--linie); }
.vw-abschnitt > h2{ margin-block-start:0; font-size:var(--schrift-5); }
.vw-abschnitt > p{ max-width:62ch; }
.vw-wert code{ font-size:var(--schrift-5); color:var(--wort);
  background:color-mix(in srgb, var(--wort) 6%, transparent);
  padding:.28rem .55rem; border-radius:.35rem; }
.vw-vorschlag{ border:1px solid var(--linie); border-radius:var(--rund);
  padding:1rem 1.1rem; margin-block:1.2rem; background:var(--karte); }
.vw-vorschlag h2{ margin-block-start:0; font-size:var(--schrift-5); }
.vw-vorschlag p{ max-width:62ch; }
.vw-vorschlagliste{ list-style:none; padding:0; margin:.8rem 0 0;
  display:grid; gap:.55rem; }
.vw-vorschlagliste li{ display:flex; align-items:center; gap:.6rem;
  flex-wrap:wrap; }
.vw-vorschlag__name{ font-weight:700; }
.vw-vorschlag__ansehen{ font-size:var(--schrift-2); color:var(--neben); }
.vw-vorschlag__ansehen:hover,.vw-vorschlag__ansehen:focus-visible{ color:var(--herz-wort); }
.vw-gewaehlt{ border-inline-start:3px solid var(--herz); padding-inline-start:.9rem;
  margin-block:1.2rem; max-width:62ch; }
.vw-anmeldung{ max-width:26rem; }
.vw-anmeldung .feld{ margin:0 0 1.35rem; }
.vw-anmeldung .feld > label{ display:block; margin-bottom:.3rem;
  font-size:var(--schrift-4); font-weight:600; }
.vw-anmeldung .vw-hinweis{ margin-top:.35rem; line-height:1.5; }
.vw-anmeldung .vw-tun{ margin-top:1.6rem; }
.vw-anmeldung + .vw-wer{ margin-top:1.5rem; }
.vw-anmeldung + .vw-wer a{ white-space:nowrap; }
.vw-breit{ max-width:38rem; }
.vw-breit h2{ margin:2.2rem 0 1rem; font-size:var(--schrift-6);
  padding-top:1.2rem; border-top:1px solid var(--linie); }
.vw-breit textarea{ min-height:6rem; }
.vw-rolle{ display:inline-block; padding:.1rem .45rem; border-radius:2px;
  font-size:var(--schrift-2); font-weight:600; letter-spacing:.02em; }
.vw-rolle{ background:var(--creme); }
.vw-rolle--verwalter{ color:var(--herz-kante); }
.vw-rolle--moderator{ color:var(--neben); }
.vw-knopfform{ margin:0; }
.vw-kennung{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:var(--schrift-1); color:var(--neben); margin-inline-start:.5rem; }
.vw-daten-liste{ list-style:none; margin:1.4rem 0 0; padding:0; }
.vw-daten-liste li{ border-top:1px solid var(--linie); }
.vw-daten-liste li:last-child{ border-bottom:1px solid var(--linie); }
.vw-daten-satz{ display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; flex-wrap:wrap; padding:.85rem .2rem .35rem; text-decoration:none;
  color:inherit; min-height:2.75rem; }
.vw-daten-satz:hover, .vw-daten-satz:focus-visible{ background:var(--creme); }
.vw-daten-name{ font-weight:600; font-size:var(--schrift-5); }
.vw-daten-zahl{ color:var(--neben); font-size:var(--schrift-4); font-variant-numeric:tabular-nums; }
.vw-daten-datei{ display:block; padding:0 .2rem .8rem; color:var(--neben);
  font-size:var(--schrift-2); font-family:var(--schrift-mono, ui-monospace, monospace); }
.vw-daten-suche{ margin:0 0 1rem; }
.vw-daten-suche label{ display:block; margin-bottom:.35rem; font-size:var(--schrift-4);
  color:var(--neben); }
.vw-daten-suchzeile{ display:flex; gap:.6rem; flex-wrap:wrap; align-items:stretch; }
.vw-daten-suchzeile input[type="search"]{ flex:1 1 18rem; min-width:0; }
.vw-daten-suchzeile .knopf{ flex:0 0 auto; }
.vw-daten-stand{ margin:0 0 1.2rem; color:var(--neben); font-size:var(--schrift-4); }
.vw-daten-stand strong{ color:var(--wort); font-variant-numeric:tabular-nums; }
.vw-daten-gruppe{ border-top:1px solid var(--linie); }
.vw-daten-gruppe:last-of-type{ border-bottom:1px solid var(--linie); }
.vw-daten-gruppe > summary{ display:flex; align-items:center; gap:.7rem;
  padding:.8rem .2rem; cursor:pointer; min-height:2.75rem; font-weight:600;
  list-style:none; }
.vw-daten-gruppe > summary::-webkit-details-marker{ display:none; }
.vw-daten-gruppe > summary::before{ content:''; flex:0 0 auto; width:.5rem;
  height:.5rem; border-right:2px solid var(--neben); border-bottom:2px solid var(--neben);
  transform:rotate(-45deg); transition:transform .15s ease; }
.vw-daten-gruppe[open] > summary::before{ transform:rotate(45deg); }
.vw-daten-gruppe > summary:hover{ background:var(--creme); }
.vw-daten-gruppename{ flex:1 1 auto; }
.vw-daten-gruppezahl{ flex:0 0 auto; min-width:2.2rem; padding:.15rem .5rem;
  border-radius:.3rem; text-align:right; color:var(--wort);
  font-size:var(--schrift-3); font-weight:600; font-variant-numeric:tabular-nums; }
.vw-daten-saetze{ list-style:none; margin:0 0 .6rem; padding:0 0 0 1.2rem; }
.vw-daten-saetze > li + li{ border-top:1px solid var(--linie); }
.vw-daten-saetze a,
.vw-daten-saetze a:hover,
.vw-daten-saetze a:focus-visible{ text-decoration:none; }
.vw-daten-saetze a{ display:block; padding:.6rem .5rem; color:inherit;
  min-height:2.75rem; border-radius:.3rem; }
.vw-daten-saetze a:hover, .vw-daten-saetze a:focus-visible{ background:var(--creme); }
.vw-daten-saetze a:hover .vw-daten-titel{ text-decoration:underline; }
.vw-daten-titel{ display:block; font-weight:500; color:var(--herz-wort); }
.vw-daten-unter{ display:block; margin-top:.15rem; color:var(--neben);
  font-size:var(--schrift-3); line-height:1.5; }
.vw-daten-neu{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--linie); }
.vw-daten-neu h2{ margin:0 0 .6rem; font-size:var(--schrift-5); }
.vw-daten-neu p{ margin:0 0 .7rem; color:var(--neben); font-size:var(--schrift-4); }
.vw-daten-wohin{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem;
  margin:0; padding:0; }
.vw-daten-h1{ font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2rem); }
.vw-daten-form{ margin-top:.5rem; }
.vw-feld{ margin-bottom:1.1rem; }
.vw-hinweis{ display:block; margin-top:.3rem; color:var(--neben); font-size:var(--schrift-3); }
.vw-hinweis--acht{ color:var(--wort); border-left:3px solid var(--herz);
  padding:.45rem .7rem; margin-top:.5rem;
  background:color-mix(in srgb, var(--herz) 5%, transparent); }
.vw-hinweis--acht a{ color:var(--herz-wort); }
.vw-schalter{ display:flex; align-items:center; gap:.55rem; cursor:pointer;
  min-height:2.75rem; }
.vw-schalter input{ width:1.15rem; height:1.15rem; flex:0 0 auto; }
.vw-daten-weg{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--linie); }
.vw-daten-weg > summary{ cursor:pointer; color:var(--neben); font-size:var(--schrift-4);
  min-height:2.75rem; display:flex; align-items:center; gap:.55rem;
  list-style:none; }
.vw-daten-weg > summary::-webkit-details-marker{ display:none; }
.vw-daten-weg > summary::before{ content:''; flex:0 0 auto; width:.45rem; height:.45rem;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg); transition:transform .15s ease; }
.vw-daten-weg[open] > summary::before{ transform:rotate(45deg); }
.vw-daten-weg > summary:hover{ color:var(--wort); }
.vw-daten-weg p{ margin:.5rem 0 .9rem; font-size:var(--schrift-4); }
.vw-daten-weg code{ font-size:.9em; }
.befunde{ margin:1.2rem 0 2rem; }
.befund{ padding:1.1rem 0 1.2rem; border-top:1px solid var(--linie); }
.befund:first-child{ border-top:0; padding-top:.2rem; }
.befund h3{ margin:0 0 .5rem; font-size:var(--schrift-6); line-height:1.35; }
.befund p{ margin:0 0 .7rem; }
.befund p:last-child{ margin-bottom:0; }
.befund--wichtig{ border-top-color:var(--herz); border-top-width:2px; }
.befund--wichtig:first-child{ border-top:2px solid var(--herz); padding-top:1.1rem; }
.befund--wichtig h3{ color:var(--herz-wort); }
.anderesland{ margin:.2rem 0 1.4rem; font-size:var(--schrift-4); color:var(--neben); }
.anderesland a{ color:var(--herz-wort); font-weight:600; }
.la-land{ margin:0 0 .6rem; }
.la-land__kopf{ display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap;
  margin:1.8rem 0 0; font-size:1.35rem;
  padding-block-end:.4rem; border-block-end:1px solid var(--linie); }
.la-land__zahl{ font-size:var(--schrift-2); font-weight:500; color:var(--neben); }
@media (min-width: 62rem){ .blatt .la-land__kopf{ margin-inline:-7rem; } }
@media (min-width: 78rem){ .blatt .la-land__kopf{ margin-inline:-12rem; } }
.la-sprungnav{ display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 .4rem; }
.la-sprungnav a{ font-size:var(--schrift-3); text-decoration:none; color:var(--wort);
  padding:.32rem .7rem; border-radius:999px;
  box-shadow:inset 0 0 0 1px var(--linie); }
.la-sprungnav a:hover{ background:color-mix(in srgb, var(--herz) 12%, transparent);
  box-shadow:inset 0 0 0 1px var(--herz-kante); }
.leistungswahl{ margin:.4rem 0 0; }
.leistungswahl[hidden]{ display:none; }
.leistungswahl__feld{ display:grid; gap:.25rem;
  font-size:var(--schrift-2); font-weight:600; color:var(--neben); }
.leistungswahl__feld select{ background:var(--grund);
  border:1px solid var(--linie); border-radius:var(--rund);
  padding:.5rem .6rem; font-size:var(--schrift-3); width:100%;
  max-width:100%; transition:border-color var(--takt); }
.leistungswahl__feld select:focus-visible{ outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px rgb(200 16 46 / .18); }
.la-suche{ display:flex; flex-wrap:wrap; align-items:end; gap:.6rem 1rem;
  margin:.9rem 0 1.4rem; }
.la-suche[hidden]{ display:none; }
.la-suche__feld{ display:grid; gap:.3rem; flex:1 1 22rem; min-width:0;
  font-size:var(--schrift-2); font-weight:600; color:var(--neben); }
.la-suche__feld input[type="search"]{ background:var(--grund);
  border:1px solid var(--linie); border-radius:var(--rund);
  padding:.55rem .7rem; font-size:var(--schrift-4); width:100%;
  transition:border-color var(--takt); }
.la-suche__feld input:focus-visible{ outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px rgb(200 16 46 / .18); }
.la-suche__zahl{ margin:0 0 .5rem; font-size:var(--schrift-3); color:var(--neben);
  font-variant-numeric:tabular-nums; white-space:nowrap; }
.la-suche__leer{ margin:0 0 1.2rem; padding:.8rem 1rem;
  border-left:3px solid var(--herz-kante); border-radius:0 var(--rund) var(--rund) 0;
  background:color-mix(in srgb, var(--herz) 6%, transparent);
  font-size:var(--schrift-3); color:var(--wort); max-width:62ch; }
.la-weg{ margin:.85rem 0 0; font-size:var(--schrift-3); }
.la-weg p, .la-weg li{ max-width:62ch; }
.la-weg summary{ cursor:pointer; font-weight:600; color:var(--herz-kante);
  list-style:none; padding:.15rem 0; }
.la-weg summary::-webkit-details-marker{ display:none; }
.la-weg > p{ margin:.5rem 0 0; color:var(--neben); }
.la-quellen{ margin:.5rem 0 0; font-size:var(--schrift-3); }
.la-quellen summary{ cursor:pointer; font-weight:600; color:var(--herz-kante);
  list-style:none; padding:.15rem 0; }
.la-quellen summary::-webkit-details-marker{ display:none; }
.la-quellen__zahl{ font-weight:500; color:var(--neben); }
.la-quellen__liste{ margin:.5rem 0 0; padding-inline-start:1.1rem;
  display:grid; gap:.35rem; color:var(--neben); overflow-wrap:anywhere; }
.la-punkte{ margin:1rem 0 1.4rem; padding-inline-start:1.2rem; display:grid; gap:.5rem; }
.ortsmeldung{ margin:.5rem 0 0; font-size:var(--schrift-3); color:var(--herz-kante);
  font-weight:600; }
.ortsmeldung[hidden]{ display:none; }
.feldfehler{ margin:.35rem 0 0; font-size:var(--schrift-3); font-weight:600;
  color:var(--herz-kante); }
.feldfehler[hidden]{ display:none; }
.formular :is(input, select, textarea)[aria-invalid="true"]{
  border-color:var(--herz); box-shadow:0 0 0 3px color-mix(in srgb, var(--herz) 18%, transparent); }
.fehlersammlung{ margin:0 0 1.4rem; padding:1rem 1.15rem; border-radius:var(--rund);
  background:color-mix(in srgb, var(--herz) 9%, var(--karte));
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--herz) 40%, transparent); }
.fehlersammlung[hidden]{ display:none; }
.fehlersammlung p{ margin:0 0 .5rem; }
.fehlersammlung ul{ margin:0; padding-inline-start:1.2rem; display:grid; gap:.3rem; }
.fehlersammlung a{ color:var(--herz-kante); font-weight:600; }
.fehlersammlung:focus-visible{ outline:3px solid var(--herz-kante); outline-offset:3px; }
.formular__entwurf{ margin:0 0 1.2rem; padding:.8rem 1rem; border-radius:var(--rund);
  background:color-mix(in srgb, var(--wort) 6%, var(--karte));
  box-shadow:inset 0 0 0 1px var(--linie);
  display:flex; gap:.9rem; align-items:center; flex-wrap:wrap; font-size:var(--schrift-4); }
.feld--falsch{ box-shadow:inset 0 0 0 2px var(--herz); border-radius:var(--rund);
  padding:.5rem; margin-inline:-.5rem; }
.profil__raster, .blatt__schluss, .meldung{ position:relative; z-index:3; }
.tiefen__weg{ margin:1.4rem 0 0; }
.vt-gitter{ display:grid; gap:1rem; margin:1.4rem 0 1.6rem; }
@media (min-width: 62rem){ .blatt .vt-gitter{ margin-inline:-7rem; } }
@media (min-width: 78rem){ .blatt .vt-gitter{ margin-inline:-12rem; } }
.vt-sparte{ --ist-glas:1; position:relative; isolation:isolate; overflow:hidden;
  background:var(--glas-hell);
  -webkit-backdrop-filter:var(--glas-weich); backdrop-filter:var(--glas-weich);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(0 0 0 / var(--glas-rim-dunkel)), var(--wurf);
  padding:1.2rem 1.3rem 1.1rem; }
.vt-sparte h3{ margin:0 0 .5rem; font-size:var(--schrift-7); }
.vt-kern{ margin:0 0 .7rem; font-weight:600; max-width:62ch; }
.vt-halt{ margin:0 0 .3rem; font-size:var(--schrift-3); color:var(--neben); max-width:62ch; }
.vt-rolle{ overflow-x:auto; overscroll-behavior-x:contain; margin-block-start:.7rem; }
.vt-rolle:focus-visible{ outline:3px solid var(--herz-kante); outline-offset:2px; }
.vt-tafel{ border-collapse:collapse; width:100%; min-width:52rem; font-size:var(--schrift-2); }
.vt-tafel th, .vt-tafel td{ text-align:start; vertical-align:top; padding:.5rem .6rem;
  border-block-end:1px solid var(--linie); }
.vt-tafel thead th{ font-size:var(--schrift-1); letter-spacing:.07em; text-transform:uppercase;
  color:var(--neben); white-space:nowrap; }
.vt-tafel tbody th{ font-weight:600; max-width:15rem; }
.vt-mass{ font-weight:700; white-space:normal; }
.vt-quelle a{ color:var(--herz-kante); }
.vt-quelle .melden--klein{ color:var(--neben); }
.vt-fehlt{ color:var(--neben); font-style:italic; }
.vt-kosten{ display:block; margin-block-start:.2rem; font-size:var(--schrift-1); color:var(--neben); }
@media (max-width: 47rem){
  .vt-rolle{ overflow-x:visible; }
  .vt-tafel{ min-width:0; display:block; }
  .vt-tafel thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .vt-tafel tbody, .vt-tafel tr{ display:block; }
  .vt-tafel tr{ padding:.7rem 0; border-block-end:1px solid var(--linie); }
  .vt-tafel th, .vt-tafel td{ display:grid; grid-template-columns:7.5rem 1fr; gap:.5rem;
    padding:.2rem 0; border:0; align-items:baseline; }
  .vt-tafel tbody th::before, .vt-tafel td::before{
    content:attr(data-spalte); font-size:var(--schrift-1); letter-spacing:.07em;
    text-transform:uppercase; color:var(--neben); font-weight:700; }
  .vt-tafel tbody th{ max-width:none; }
}
.merkkasten__tat{ margin-block-start:.75rem; padding-block-start:.7rem;
  border-top:1px solid color-mix(in srgb, var(--herz) 30%, transparent); }
.merkkasten--warnung{
  background:color-mix(in srgb, var(--herz) 13%, var(--karte));
  box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--herz) 70%, transparent); }
.kat-suchform{ margin:0 0 .9rem; }
.kat-suchzeile{ max-width:34rem; }
.kat-suchform label{ display:block; font-size:var(--schrift-3); font-weight:600;
  color:var(--neben); margin-block-end:.35rem; }
.kat-suchzeile{ display:flex; gap:.5rem; flex-wrap:wrap; }
.kat-suchzeile input{ flex:1 1 14rem; min-width:0; }
.kat-meldung{ margin:.55rem 0 0; font-size:var(--schrift-3); color:var(--herz-kante); }
.kat-suchform--gesperrt{ opacity:.55; }
.kat-suchform--gesperrt label{ cursor:not-allowed; }
.kat-tor{ --ist-glas:1; position:relative; isolation:isolate; overflow:auto;
  min-height:min(74svh, 40rem);
  background:var(--glas-hell);
  -webkit-backdrop-filter:var(--glas-weich); backdrop-filter:var(--glas-weich);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(0 0 0 / var(--glas-rim-dunkel)), var(--wurf);
  padding:1.6rem 1.7rem 1.7rem; display:flex; flex-direction:column;
  justify-content:center; gap:.2rem; }
.kat-tor[hidden]{ display:none; }
.kat-tor > *{ max-width:52rem; }
.kat-tor .knopf{ align-self:flex-start; max-width:none; }
.kat-tor h3{ margin:0 0 .7rem; font-size:1.35rem; }
.kat-tor p{ margin:0 0 .9rem; max-width:62ch; }
.kat-tor ul{ margin:0 0 1.3rem; padding-inline-start:1.2rem; display:grid; gap:.6rem;
  max-width:62ch; font-size:var(--schrift-4); }
.kat-tor__haken{ display:flex; gap:.6rem; align-items:flex-start; margin:0 0 1.1rem;
  cursor:pointer; font-weight:600; max-width:44rem; }
.kat-tor__haken input{ margin-block-start:.2rem; width:1.15rem; height:1.15rem;
  accent-color:var(--herz); flex:0 0 auto; }
.kat-tor .knopf:disabled{ opacity:.45; cursor:not-allowed; translate:none; }
@media (max-width: 61.99rem){ .kat-tor{ min-height:0; padding:1.2rem 1.2rem 1.4rem; } }
.kat-buehne{ display:grid; gap:.9rem; margin:0 0 1.6rem; }
@media (min-width: 62rem){
  .blatt .kat-buehne{ margin-inline:-7rem;
    grid-template-columns:minmax(0, 1.85fr) minmax(18rem, 1fr);
    grid-template-areas:'suche suche' 'karte befund' 'zoom befund'; align-items:start; }
  .blatt .kat-buehne:has(.kat-tor:not([hidden])){
    grid-template-columns:1fr; grid-template-areas:'suche' 'karte'; }
  .blatt .kat-buehne:has(.kat-tor:not([hidden])) .kat-befund,
  .blatt .kat-buehne:has(.kat-tor:not([hidden])) .kat-zoomhinweis{ display:none; }
  .blatt .kat-suchform{ grid-area:suche; }
  .blatt :is(.kat-karte, .kat-tor){ grid-area:karte; }
  .blatt .kat-zoomhinweis{ grid-area:zoom; }
  .blatt .kat-befund{ grid-area:befund; }
}
@media (min-width: 78rem){ .blatt .kat-buehne{ margin-inline:-12rem; } }
html.kat-voll-an{ overflow:hidden; }
.kat-buehne.kat-voll{ position:fixed; inset:0; z-index:9000; display:block;
  margin:0; padding:0; background:var(--grund); }
.kat-buehne.kat-voll #karte-kataster{ position:absolute; inset:0;
  width:100%; height:100%; min-height:0; border-radius:0; }
.kat-buehne.kat-voll .kat-raus{ position:absolute; z-index:9003;
  inset:1rem auto auto 1rem; }
.kat-buehne.kat-voll .kat-suchform{ position:absolute; z-index:9002;
  inset:calc(1rem + 34px + .6rem) auto auto 1rem; width:min(24rem, calc(100% - 2rem)); margin:0;
  padding:.85rem 1rem; border-radius:var(--rund);
  background:color-mix(in srgb, var(--karte) 94%, transparent);
  box-shadow:var(--wurf-hoch); }
.kat-buehne.kat-voll .kat-suchzeile{ max-width:none; }
.kat-suchkopf{ display:flex; align-items:center; justify-content:space-between;
  gap:1rem; min-height:1.4rem; }
.kat-raus{ display:none; }
.kat-buehne.kat-voll .kat-raus{
  display:inline-flex; align-items:center; gap:.45rem; flex:0 0 auto;
  min-height:34px; padding:.35rem .85rem;
  font:650 .84rem/1 var(--schrift); color:var(--herz-wort);
  background:var(--karte); border:0;
  box-shadow:inset 0 0 0 2px currentColor, var(--wurf);
  border-radius:0; cursor:pointer;
  transition:background var(--takt) var(--bogen), color var(--takt) var(--bogen); }
.kat-buehne.kat-voll .kat-raus:hover{
  background:var(--herz); color:#fff; }
.kat-buehne.kat-voll .kat-raus:focus-visible{
  outline:3px solid var(--herz-kante); outline-offset:2px; }
@media (max-width: 30rem){
  .kat-buehne.kat-voll .kat-raus{ min-width:44px; min-height:44px; padding:0;
    justify-content:center; }
  .kat-buehne.kat-voll .kat-raus span{ position:absolute; width:1px; height:1px;
    overflow:hidden; clip-path:inset(50%); }
}
.kat-gross{ pointer-events:auto; }
.kat-gross a{
  display:inline-flex !important; align-items:center; gap:.45rem;
  width:auto !important; height:auto !important;
  min-height:38px; padding:.4rem .95rem;
  font:650 .86rem/1 var(--schrift); color:var(--herz-wort) !important;
  text-decoration:none; cursor:pointer;
  background:var(--karte); border:0;
  box-shadow:inset 0 0 0 2px currentColor, var(--wurf);
  border-radius:0;
  transition:background var(--takt) var(--bogen), color var(--takt) var(--bogen); }
.kat-gross a:hover{ background:var(--herz); color:#fff !important; }
.kat-gross a:focus-visible{ outline:3px solid var(--herz-kante); outline-offset:2px; }
.kat-gross svg{ flex:0 0 auto; }
.kat-buehne.kat-voll .kat-gross{ display:none; }
@media (max-width: 30rem){
  .kat-gross a{ min-width:44px; min-height:44px; padding:.4rem .7rem; font-size:var(--schrift-2); }
}
.kat-buehne.kat-voll .leaflet-top.leaflet-left{
  margin-block-start:calc(var(--kat-suchhoehe, 8rem) + .6rem); }
.kat-buehne.kat-voll .leaflet-top.leaflet-right{
  margin-inline-end:calc(min(23rem, 100% - 2rem) + .6rem); }
@media (max-width: 47rem){
  .kat-buehne.kat-voll .leaflet-top.leaflet-right{ margin-inline-end:0; }
}
.kat-buehne.kat-voll .kat-befund{ position:absolute; z-index:9002;
  inset:1rem 1rem auto auto; width:min(23rem, calc(100% - 2rem));
  max-height:calc(100% - 2rem); overflow:auto; overscroll-behavior:contain;
  border-radius:var(--rund);
  background:color-mix(in srgb, var(--karte) 94%, transparent);
  -webkit-backdrop-filter:none; backdrop-filter:none;
  box-shadow:var(--wurf-hoch); }
.kat-buehne.kat-voll .leaflet-bottom.leaflet-right{ right:1rem; }
.kat-buehne.kat-voll .kat-befund{ max-height:calc(100% - 2rem - 3.2rem); }
@media (max-width: 47rem){
  .kat-buehne.kat-voll .leaflet-bottom.leaflet-right{
    right:0; bottom:calc(52% + .55rem); }
  .kat-buehne.kat-voll .kat-befund{ max-height:52%; }
}
.leaflet-top.leaflet-left .leaflet-control-layers{
  margin-left:44px; margin-top:-64px; }
@media (max-width: 47rem){
  .leaflet-top.leaflet-left .leaflet-control-layers{
    margin-left:10px; margin-top:10px; }
}
.kat-buehne.kat-voll .kat-zoomhinweis{ position:absolute; z-index:9002;
  inset:auto auto 0 0; right:0; translate:none; margin:0;
  padding:.55rem 1rem; border-radius:0; text-align:center;
  background:var(--karte); box-shadow:0 -6px 18px -12px rgb(0 0 0 / .5); }
@media (max-width: 47rem){
  .kat-buehne.kat-voll .kat-suchform{ inset:.6rem .6rem auto .6rem; width:auto; }
  .kat-buehne.kat-voll .kat-befund{ inset:auto .6rem 2.4rem .6rem; width:auto;
    max-height:calc(52% - 2rem); }
  .kat-buehne.kat-voll .kat-zoomhinweis{ inset:auto auto 55% 50%; }
}
#karte-kataster{ height:min(74svh, 40rem); min-height:26rem;
  border-radius:var(--rund-gross); z-index:0; background:var(--grund); }
@media (max-width: 61.99rem){
  #karte-kataster{ height:46svh; min-height:19rem; }
  #karte-kataster .leaflet-control-scale,
  #karte-kataster .kat-massstab{ display:none; }
}
#karte-kataster .kat-massstab{
  display:flex; flex-direction:column; align-items:flex-start; gap:.16rem;
  margin:0 0 .55rem .55rem; pointer-events:none;
}
@media (max-height: 46rem), (max-width: 46rem){
  #karte-kataster .kat-massstab{ margin-inline-start:3.1rem; }
}
#karte-kataster .kat-massstab__zahl{
  font-size:.7rem; font-weight:700; line-height:1; white-space:nowrap;
  padding:.16rem .4rem; border-radius:.28rem;
  background:rgb(255 255 255 / .9); color:#191511;
  box-shadow:0 1px 4px rgb(0 0 0 / .22);
}
#karte-kataster .kat-massstab__strich{
  display:block; height:7px; min-width:12px;
  border:2px solid rgb(25 21 17 / .78); border-top:none;
  background:rgb(255 255 255 / .55);
  box-shadow:0 1px 3px rgb(0 0 0 / .2);
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) #karte-kataster .kat-massstab__zahl{
    background:rgb(25 21 17 / .88); color:#f4efe8; }
  :root:not([data-licht="hell"]) #karte-kataster .kat-massstab__strich{
    border-color:rgb(244 239 232 / .8); background:rgb(25 21 17 / .5); }
}
@media screen{ 
:root[data-licht="dunkel"] #karte-kataster .kat-massstab__zahl{
  background:rgb(25 21 17 / .88); color:#f4efe8; }
}
@media screen{ 
:root[data-licht="dunkel"] #karte-kataster .kat-massstab__strich{
  border-color:rgb(244 239 232 / .8); background:rgb(25 21 17 / .5); }
}
.kat-fuehrung{ --takt:13.5s;
  position:absolute; z-index:640; inset-block-start:.7rem;
  inset-inline-start:50%; translate:-50% 0;
  display:flex; flex-direction:column; gap:.55rem;
  padding:.8rem .9rem .7rem; border-radius:.9rem;
  pointer-events:none;
  background:var(--glas-hell); box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(0 0 0 / var(--glas-rim-dunkel)), var(--wurf);
  -webkit-backdrop-filter:var(--glas-weich); backdrop-filter:var(--glas-weich);
  width:16.8rem; max-width:max(11.5rem, min(16.8rem, calc(100% - 1.6rem)));
  animation:fuehrungAuf .55s var(--bogen) both; }
.kat-fuehrung[hidden]{ display:none; }
.kat-fuehrung.geht{ animation:fuehrungZu .34s var(--bogen) both; }
.kat-fuehrung__kopf{ display:flex; align-items:center; justify-content:space-between;
  gap:.6rem; margin:0; }
.kat-fuehrung__titel{ font-size:var(--schrift-3); font-weight:700; color:var(--wort);
  letter-spacing:.005em; }
.kat-fuehrung__takt{ display:flex; gap:.22rem; flex:0 0 auto; }
.kat-takt{ display:block; width:1.05rem; height:.2rem; border-radius:99px;
  background:var(--linie); overflow:hidden; }
.kat-takt b{ display:block; width:100%; height:100%; border-radius:99px;
  background:linear-gradient(90deg, var(--herzstopp-1), var(--herzstopp-3));
  transform:scaleX(0); transform-origin:left center; }
.kat-takt--eins b{ animation:taktEins var(--takt) linear infinite; }
.kat-takt--zwei b{ animation:taktZwei var(--takt) linear infinite; }
.kat-takt--drei b{ animation:taktDrei var(--takt) linear infinite; }
.kat-vorfuehrung{ position:relative; width:100%; aspect-ratio:5 / 3; border-radius:.55rem;
  overflow:hidden; background:var(--karte, var(--grund));
  box-shadow:inset 0 0 0 1px rgb(0 0 0 / .07); }
.kat-vorfuehrung__feld{ display:block; width:100%; height:100%; }
.kat-vorfuehrung__karte{ transform-box:view-box; transform-origin:174px 96px;
  will-change:transform; animation:karteFolgt var(--takt) var(--bogen) infinite; }
.kat-vorfuehrung__grund{ fill:var(--grund); }
.kat-vorfuehrung__gruen{ fill:#6E8C5F; opacity:.22; }
.kat-vorfuehrung__flur{ stroke:var(--linie); stroke-width:1.9; }
.kat-vorfuehrung__strassenrand{ stroke:var(--linie); stroke-width:11; }
.kat-vorfuehrung__strasse{ stroke:var(--karte, var(--grund)); stroke-width:8; }
.kat-vorfuehrung__haus rect{ fill:var(--wort); opacity:.19; }
.kat-vorfuehrung__nah{ opacity:0; transform-box:view-box; transform-origin:81px 53px;
  will-change:transform, opacity; animation:nahEbene var(--takt) var(--bogen) infinite; }
.kat-nah__grund{ fill:var(--grund); }
.kat-nah__flur{ stroke:var(--linie); stroke-width:1.9; }
.kat-nah__strassenrand{ stroke:var(--linie); stroke-width:46; }
.kat-nah__strasse{ stroke:var(--karte, var(--grund)); stroke-width:33; }
.kat-nah__haus{ fill:var(--wort); opacity:.19; }
.kat-nah__gewaehlt{ fill:var(--herz); stroke:var(--herz); stroke-width:2;
  opacity:0; animation:nahGewaehlt var(--takt) var(--bogen) infinite; }
.kat-nah__befund{ position:absolute; margin:0;
  inset-inline-start:.5rem; inset-block-end:.5rem;
  padding:.16rem .42rem; border-radius:.3rem;
  font-size:.68rem; font-weight:700; line-height:1.25; letter-spacing:.01em;
  color:var(--grund); background:var(--herz);
  opacity:0; animation:nahBefund var(--takt) var(--bogen) infinite; }
.kat-spur{ position:absolute; inset:0; width:100%; height:100%; }
.kat-spur__marke, .kat-spur__weg{ stroke:var(--herz-wort); stroke-width:1.6;
  stroke-linecap:butt; fill:none; }
.kat-spur__marke{ opacity:0; transform-box:view-box; transform-origin:174px 96px;
  animation:spurAnschlag var(--takt) var(--bogen) infinite; }
.kat-spur__weg{ opacity:0; stroke-dasharray:96.7; stroke-dashoffset:96.7;
  animation:spurZug var(--takt) var(--bogen) infinite; }
.kat-klickring{ fill:none; stroke:var(--herz); opacity:0;
  transform-box:view-box; transform-origin:81px 53px;
  animation:klickRing var(--takt) var(--bogen) infinite; }
.kat-klickring--zwei{ animation-name:klickRingZwei; }
.kat-maus{ position:absolute; inset-inline-start:61.33%; inset-block-start:40%;
  width:22%; height:53.22%; overflow:visible;
  will-change:transform; animation:mausZug var(--takt) var(--bogen) infinite; }
.kat-maus__schatten{ fill:rgb(0 0 0 / .24); animation:mausSchatten var(--takt) var(--bogen) infinite; }
.kat-maus__leib{ fill:var(--grund); stroke:var(--wort); stroke-width:6; }
.kat-maus__quer{ stroke:var(--wort); stroke-width:4.5; opacity:.38; }
.kat-maus__flanke{ fill:var(--wort); opacity:.11; }
.kat-maus__zone{ stroke:var(--wort); stroke-width:3.4; opacity:.4; }
.kat-maus__mitte{ fill:var(--herz); opacity:0;
  animation:tasteUnten var(--takt) var(--bogen) infinite; }
.kat-maus__links{ fill:var(--herz); opacity:0;
  animation:tasteLinks var(--takt) var(--bogen) infinite; }
.kat-maus__druck{ fill:none; stroke:var(--herz); stroke-width:4.5;
  opacity:0; transform-box:fill-box; transform-origin:center;
  animation:druckRing var(--takt) var(--bogen) infinite; }
.kat-maus__rad{ fill:var(--grund); stroke:var(--wort); stroke-width:3.4; opacity:.9; }
.kat-maus__radrot{ fill:var(--herz); stroke:none; opacity:0;
  animation:radAn var(--takt) var(--bogen) infinite; }
.kat-maus__riffel{ stroke:var(--grund); stroke-width:3.2; stroke-linecap:round;
  opacity:0; animation:riffelSicht var(--takt) var(--bogen) infinite; }
.kat-maus__riffellauf--hoch{
  animation:riffelHoch .54s linear infinite, riffelSichtHoch var(--takt) steps(1, end) infinite; }
.kat-maus__riffellauf--runter{
  animation:riffelRunter .54s linear infinite, riffelSichtRunter var(--takt) steps(1, end) infinite; }
.kat-dreh{ position:absolute; inset-inline-start:46.33%; inset-block-start:7.5%;
  width:5.4%; height:30%; overflow:visible; }
.kat-dreh__hoch, .kat-dreh__runter{ stroke:var(--herz); stroke-width:6.5;
  stroke-linecap:round; stroke-linejoin:round; fill:none; opacity:0; }
.kat-dreh__hoch{ animation:winkelHoch var(--takt) var(--bogen) infinite; }
.kat-dreh__runter{ animation:winkelRunter var(--takt) var(--bogen) infinite; }
.kat-fuehrung__wort{ position:relative; margin:0; min-height:2.5em;
  display:grid; align-items:start; }
.kat-fuehrung__akt{ grid-area:1 / 1; font-size:var(--schrift-3); line-height:1.35;
  color:var(--wort); font-weight:500; opacity:0; }
.kat-fuehrung__akt strong{ font-weight:700; color:var(--herz-wort); }
.kat-fuehrung__akt--ziehen{ animation:aktZiehen var(--takt) var(--bogen) infinite; }
.kat-fuehrung__akt--zoom{ animation:aktZoom var(--takt) var(--bogen) infinite; }
.kat-fuehrung__akt--klick{ animation:aktKlick var(--takt) var(--bogen) infinite; }
.kat-fuehrung__akt--befund{ animation:aktBefund var(--takt) var(--bogen) infinite; }
.kat-fuehrung__ende{ margin:0; font-size:.76rem; line-height:1.3;
  color:var(--neben); }
@keyframes fuehrungAuf{
  from{ opacity:0; transform:translate3d(0, .6rem, 0) scale(.95); }
  to{ opacity:1; transform:none; } }
@keyframes fuehrungZu{
  from{ opacity:1; transform:none; }
  to{ opacity:0; transform:translate3d(0, -.4rem, 0) scale(.96); } }
@keyframes aktZiehen{
  0%, 2%    { opacity:0; transform:translate3d(0, .25rem, 0); }
  6%, 28% { opacity:1; transform:none; }
  31.33%, 100% { opacity:0; transform:translate3d(0, -.25rem, 0); } }
@keyframes aktZoom{
  0%, 31.33%   { opacity:0; transform:translate3d(0, .25rem, 0); }
  36%, 60% { opacity:1; transform:none; }
  63.33%, 100% { opacity:0; transform:translate3d(0, -.25rem, 0); } }
@keyframes aktKlick{
  0%, 63.33%  { opacity:0; transform:translate3d(0, .25rem, 0); }
  68%, 78%    { opacity:1; transform:none; }
  80.5%, 100% { opacity:0; transform:translate3d(0, -.25rem, 0); } }
@keyframes aktBefund{
  0%, 78%      { opacity:0; transform:translate3d(0, .25rem, 0); }
  80.5%, 94%   { opacity:1; transform:none; }
  97.56%, 100% { opacity:0; transform:translate3d(0, -.25rem, 0); } }
@keyframes nahGewaehlt{
  0%, 85%      { opacity:0; }
  87%, 94%     { opacity:.14; }
  96.67%, 100% { opacity:0; } }
@keyframes nahBefund{
  0%, 87%      { opacity:0; transform:translate3d(0, .3rem, 0); }
  89.5%, 94%   { opacity:1; transform:none; }
  96.67%, 100% { opacity:0; transform:translate3d(0, .3rem, 0); } }
@keyframes taktEins{
  0%, 3.33%   { transform:scaleX(0); }
  29.33%, 97.33%    { transform:scaleX(1); }
  98%, 100%{ transform:scaleX(0); } }
@keyframes taktZwei{
  0%, 34.67%     { transform:scaleX(0); }
  61.33%, 97.33%    { transform:scaleX(1); }
  98%, 100%{ transform:scaleX(0); } }
@keyframes taktDrei{
  0%, 63.33%  { transform:scaleX(0); }
  94%, 97.33% { transform:scaleX(1); }
  98%, 100%   { transform:scaleX(0); } }
@keyframes mausZug{
  0%, 2.67%       { opacity:0; transform:translate3d(72.73%, 45.93%, 0); }
  8.67%        { opacity:1; transform:translate3d(0, 0, 0); }
  11.33%, 13.33%  { opacity:1; transform:translate3d(0, 2px, 0);
                 animation-timing-function:cubic-bezier(.45,.05,.25,1); }
  26.67%          { opacity:1; transform:translate3d(-175.76%, calc(-56.37% + 2px), 0); }
  29.33%, 94%  { opacity:1; transform:translate3d(-175.76%, -56.37%, 0); }
  97.33%, 100%    { opacity:0; transform:translate3d(-127.27%, -27.14%, 0); } }
@keyframes mausSchatten{
  0%, 10.67%     { opacity:.5; transform:scale(1); }
  14.67%, 26.67%  { opacity:.85; transform:scale(1.06); }
  30.67%, 69.78%{ opacity:.5; transform:scale(1); }
  70.67%       { opacity:.62; transform:scale(.95); }
  71.56%, 100% { opacity:.5; transform:scale(1); } }
@keyframes karteFolgt{
  0%, 13.33%    { opacity:1; transform:translate(0px, 0px) scale(1);
               animation-timing-function:cubic-bezier(.45,.05,.25,1); }
  26.67%, 38.67% { opacity:1; transform:translate(-92.8px, -43.2px) scale(1); }
  49.33%, 53.33% { opacity:1; transform:translate(-92.8px, -43.2px) scale(1.55); }
  58.67%, 71.56% { opacity:1; transform:translate(-92.8px, -43.2px) scale(1);
               animation-timing-function:cubic-bezier(.6,0,.95,.45); }
  72.27%      { opacity:.5; transform:translate(-92.8px, -43.2px) scale(1.03);
               animation-timing-function:linear; }
  73.07%      { opacity:.1; transform:translate(-92.8px, -43.2px) scale(1.2);
               animation-timing-function:linear; }
  74.67%        { opacity:0; transform:translate(-92.8px, -43.2px) scale(1.9); }
  77.33%        { opacity:0; transform:translate(-92.8px, -43.2px) scale(3.4); }
  79.56%      { opacity:0; transform:translate(0px, 0px) scale(1); }
  96.67%     { opacity:0; transform:translate(0px, 0px) scale(1); }
  100%       { opacity:1; transform:translate(0px, 0px) scale(1); } }
@keyframes nahEbene{
  0%, 73.33%   { opacity:0; transform:scale(1.22); }
  76%       { opacity:1; transform:scale(1.1); }
  77.33%, 94% { opacity:1; transform:scale(1); }
  96.67%, 100%{ opacity:0; transform:scale(1.22); } }
@keyframes tasteUnten{
  0%, 9.33%    { opacity:0; }
  12%, 26.67%   { opacity:.92; }
  30%, 100% { opacity:0; } }
@keyframes tasteLinks{
  0%, 69.33%     { opacity:0; }
  69.78%, 71.11% { opacity:.92; }
  71.56%, 83%    { opacity:0; }
  83.5%, 84.8%   { opacity:.92; }
  85.3%, 100%    { opacity:0; } }
@keyframes druckRing{
  0%, 9.33%    { opacity:0; transform:scale(.62); }
  12%        { opacity:.85; transform:scale(1); }
  18%       { opacity:.3; transform:scale(1.04); }
  22.67%        { opacity:.5; transform:scale(1); }
  28%        { opacity:.32; transform:scale(1.03); }
  30%, 100% { opacity:0; transform:scale(1.12); } }
@keyframes radAn{
  0%, 9.33%    { opacity:0; }
  12%, 28% { opacity:1; }
  31.33%, 34.67%  { opacity:0; }
  36.67%, 60%{ opacity:1; }
  62.67%, 100%  { opacity:0; } }
@keyframes riffelSicht{
  0%, 35.33%    { opacity:0; }
  38%, 59.33%{ opacity:1; }
  62%, 100%  { opacity:0; } }
@keyframes riffelHoch{
  from{ transform:translateY(0); }
  to{ transform:translateY(-9px); } }
@keyframes riffelRunter{
  from{ transform:translateY(0); }
  to{ transform:translateY(9px); } }
@keyframes riffelSichtHoch{
  0%, 38%   { opacity:1; }
  51.33%, 100% { opacity:0; } }
@keyframes riffelSichtRunter{
  0%, 51.33%  { opacity:0; }
  52%, 100% { opacity:1; } }
@keyframes spurAnschlag{
  0%, 10%   { opacity:0; transform:scale(.82); }
  12.67%, 29.33%  { opacity:1; transform:scale(1); }
  33.33%, 100%  { opacity:0; transform:scale(1); } }
@keyframes spurZug{
  0%, 12%   { opacity:0; stroke-dashoffset:96.7; }
  13.33%         { opacity:1; stroke-dashoffset:96.7;
                animation-timing-function:cubic-bezier(.45,.05,.25,1); }
  26.67%, 29.33%    { opacity:1; stroke-dashoffset:0; }
  33.33%, 100% { opacity:0; stroke-dashoffset:0; } }
@keyframes klickRing{
  0%, 69.78%    { opacity:0; transform:scale(.45); stroke-width:6.5; }
  70.67%        { opacity:.95; transform:scale(.8); stroke-width:3.5; }
  72.44%        { opacity:.55; transform:scale(1.9); stroke-width:1.7; }
  74.22%, 100%  { opacity:0; transform:scale(3); stroke-width:1.1; } }
@keyframes klickRingZwei{
  0%, 83.5%   { opacity:0; transform:scale(.4); stroke-width:7; }
  84.4%       { opacity:.95; transform:scale(.75); stroke-width:3.8; }
  86%         { opacity:.5; transform:scale(1.4); stroke-width:2; }
  87.5%, 100% { opacity:0; transform:scale(1.8); stroke-width:1.6; } }
@keyframes winkelHoch{
  0%, 36.67%   { opacity:0; transform:translateY(3px); }
  40%          { opacity:1; transform:translateY(-2px); }
  44%        { opacity:.4; transform:translateY(0); }
  47.33%       { opacity:1; transform:translateY(-2px); }
  51.33%, 60%{ opacity:.2; transform:translateY(0); }
  62.67%, 100%  { opacity:0; transform:translateY(3px); } }
@keyframes winkelRunter{
  0%, 37.33%      { opacity:0; transform:translateY(0); }
  40%, 50.67%     { opacity:.2; transform:translateY(0); }
  54.67%        { opacity:1; transform:translateY(2px); }
  56.67%       { opacity:.4; transform:translateY(0); }
  58.67%          { opacity:1; transform:translateY(2px); }
  62%, 100% { opacity:0; transform:translateY(-3px); } }
@media (prefers-reduced-motion: reduce){
  .kat-fuehrung, .kat-maus, .kat-maus__schatten, .kat-maus__druck,
  .kat-maus__mitte, .kat-maus__radrot, .kat-maus__riffel,
  .kat-maus__riffellauf--hoch, .kat-maus__riffellauf--runter,
  .kat-spur__marke, .kat-spur__weg, .kat-dreh__hoch, .kat-dreh__runter,
  .kat-vorfuehrung__karte, .kat-takt b, .kat-fuehrung__akt{ animation:none; }
  .kat-fuehrung__wort{ display:block; min-height:0; }
  .kat-fuehrung__akt{ opacity:1; display:block; transform:none; }
  .kat-fuehrung__akt + .kat-fuehrung__akt{ margin-block-start:.35rem; }
  .kat-takt b{ transform:scaleX(1); }
  .kat-maus{ transform:translate3d(-175.76%, -56.37%, 0); }
  .kat-vorfuehrung__karte{ opacity:1; transform:translate(-92.8px, -43.2px); }
  .kat-maus__radrot{ opacity:1; }
  .kat-maus__mitte{ opacity:0; }
  .kat-maus__druck{ opacity:0; }
  .kat-maus__riffel{ opacity:1; }
  .kat-maus__riffellauf--runter{ opacity:0; }
  .kat-spur__marke{ opacity:1; transform:none; }
  .kat-spur__weg{ opacity:1; stroke-dashoffset:0; }
  .kat-dreh__hoch, .kat-dreh__runter{ opacity:.8; }
}
.kat-fuehrung--eng .kat-vorfuehrung,
.kat-fuehrung--eng .kat-fuehrung__takt{ display:none; }
.kat-fuehrung--eng{ gap:.35rem; padding:.65rem .85rem; }
.kat-fuehrung--eng .kat-fuehrung__wort{ min-height:2.9em; }
@media (pointer: coarse), (max-width: 34rem){
  .kat-vorfuehrung, .kat-fuehrung__takt{ display:none; }
}
@media (max-width: 34rem){
  .kat-fuehrung{ inset-block-start:.6rem; gap:.35rem;
    width:min(17rem, calc(100% - 1.4rem)); max-width:none;
    padding:.65rem .85rem; }
  .kat-fuehrung__wort{ min-height:2.9em; }
}
.kat-wz-vorrat{ position:absolute; width:0; height:0; overflow:hidden; }
.kat-wz__grund{ fill:#F5F1E8; fill-opacity:.62; }
.kat-wz__licht, .kat-wz__tief{
  font-family:var(--schrift); font-size:13.75px; font-weight:700;
  letter-spacing:3px; }
.kat-wz__licht{ fill:var(--wz-licht); fill-opacity:.85; }
.kat-wz__tief{ fill:var(--wz-tief); fill-opacity:.24; }
.kat-umland{ fill:url(#kat-wasserzeichen); fill-opacity:1; }
.kat-zoomhinweis{ margin:0; font-size:var(--schrift-3); color:var(--neben); }
.kat-zoomhinweis[hidden]{ display:none; }
.kat-befund{ --ist-glas:1; position:relative; isolation:isolate; overflow:hidden;
  background:var(--glas-hell);
  -webkit-backdrop-filter:var(--glas-weich); backdrop-filter:var(--glas-weich);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(0 0 0 / var(--glas-rim-dunkel)), var(--wurf);
  padding:1.1rem 1.2rem 1.2rem; }
.kat-befund[hidden]{ display:none; }
.kat-titel{ margin:0 0 .8rem; font-size:var(--schrift-7); }
.kat-liste{ margin:0 0 1rem; display:grid; gap:.5rem; }
.kat-liste, .kat-werte{
  display:grid; grid-template-columns:minmax(0, max-content) 1fr;
  column-gap:.6rem; row-gap:.3rem; }
.kat-zeile{ display:contents; font-size:var(--schrift-4); }
.kat-zeile--quelle dt, .kat-zeile--quelle dd{ font-size:var(--schrift-3);
  color:var(--neben); padding-top:.15rem; }
.kat-neben{ font-size:var(--schrift-2); color:var(--neben); }
.kat-liste dt, .kat-werte dt{ color:var(--neben); font-weight:600; max-width:8.5rem;
  hyphens:auto; overflow-wrap:break-word; }
.kat-liste dd, .kat-werte dd{ margin:0; font-weight:600; min-width:0; overflow-wrap:anywhere; }
.kat-werte dd.kat-fehlt{ font-weight:400; color:var(--neben); font-size:var(--schrift-5); }
@media (max-width: 42rem){
  .kat-liste, .kat-werte{ grid-template-columns:1fr; row-gap:.1rem; }
}
.kat-uebernehmen{ display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 .5rem; }
.kat-feld{ flex:1 1 100%; min-width:0; font-size:var(--schrift-3); resize:none;
  line-height:1.45; font-family:inherit; }
.kat-uebernehmen .knopf{ flex:0 0 auto; }
.kat-warum{ margin:0 0 1rem; font-size:var(--schrift-2); color:var(--neben); }
.kat-quellzeile{
  margin:.35rem 0 1rem; font-size:var(--schrift-1); line-height:1.45;
  color:var(--neben); opacity:.78; }
.kat-quellzeile a{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; }
.kat-quellzeile a:hover{ border-bottom-color:currentColor; }
.kat-quellzeile a:focus-visible{ outline:2px solid var(--herz-kante); outline-offset:2px; }
.kat-abschnitt{ margin:1.2rem 0 .6rem; font-size:var(--schrift-5);
  padding-block-start:.9rem; border-block-start:1px solid var(--linie); }
.kat-stellen{ list-style:none; padding:0; margin:0 0 .8rem; display:grid; gap:.6rem; }
.kat-stellen li{ font-size:var(--schrift-4); }
.kat-stellen a{
  color:var(--herz-kante); font-weight:500;
  text-decoration-thickness:1px; text-underline-offset:.18em;
  text-decoration-color:color-mix(in srgb, var(--herz-kante) 45%, transparent); }
.kat-stellen a:hover,
.kat-stellen a:focus-visible{ text-decoration-color:currentColor; }
.kat-sparten{ display:block; font-size:var(--schrift-2); color:var(--neben); margin-block-start:.1rem; }
.kat-gebiet{ display:block; font-size:var(--schrift-1); color:var(--neben);
  margin-block-start:.15rem; font-style:italic; }
.kat-gruppe + .kat-stellen{ margin-block-end:1rem; }
.kat-laeuft, .kat-leer{ margin:0; font-size:var(--schrift-4); color:var(--neben); }
.kat-teilausfall{ margin:.7rem 0 0; padding-top:.6rem; border-top:1px solid var(--linie);
  font-size:var(--schrift-2); line-height:1.5; color:var(--neben); }
.kat-anderesland{ font-size:var(--schrift-4); }
.kat-anderesland p{ margin:0 0 .55rem; }
.kat-anderesland p:last-child{ margin-bottom:0; }
.kat-anderesland a{ color:var(--herz-wort); font-weight:600; }
.kat-aufruf{ margin:0; font-size:var(--schrift-4); color:var(--neben); }
.kat-gruppe{ margin:0 0 .5rem; font-size:var(--schrift-2); font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--neben); }
.kat-bund{ margin:.2rem 0 1rem; font-size:var(--schrift-4); }
.kat-bund summary{ cursor:pointer; font-weight:600; color:var(--herz-kante);
  list-style:none; padding:.15rem 0; }
.kat-bund summary::-webkit-details-marker{ display:none; }
.kat-bund .kat-stellen{ margin-block-start:.6rem; }
#karte-kataster .leaflet-overlay-pane path{ paint-order:stroke;
  filter:drop-shadow(0 0 1.5px rgb(255 255 255 / .9)); }
#karte-kataster .kat-schweber{ transition:fill-opacity .12s linear; }
#karte-kataster.kat-ueber{ cursor:pointer; }
.kat-marke{ position:absolute; z-index:700; top:0; left:0; pointer-events:none;
  margin:-2.4rem 0 0 .9rem; padding:.22rem .55rem; border-radius:999px;
  font-size:var(--schrift-2); font-weight:700; white-space:nowrap;
  color:#fff; background:rgb(20 16 13 / .88);
  box-shadow:0 2px 8px rgb(0 0 0 / .3);
  opacity:0; transition:opacity .12s linear; }
.kat-marke.sichtbar{ opacity:1; }
#karte-kataster :is(.kat-heim, .kat-gross) a{ display:grid; place-items:center; }
#karte-kataster :is(.kat-heim, .kat-gross) svg{ display:block; }
#karte-kataster .leaflet-zeichnung-pane svg{ max-width:none; max-height:none; }
#karte-kataster .kat-mass{
  background:rgba(20,25,23,.86); color:#fff; border-radius:3px;
  padding:.12rem .4rem; font-size:.78rem; font-weight:600;
  white-space:nowrap; pointer-events:none;
  font-variant-numeric:tabular-nums;
}
#karte-kataster .leaflet-zeichnung-pane path{ filter:none; }
#karte-kataster .kat-farbe--gas{    stroke:var(--gas); }
#karte-kataster .kat-farbe--wasser{ stroke:var(--wasser); }
#karte-kataster .kat-farbe--strom{  stroke:var(--strom); }
#karte-kataster .kat-farbe--kanal{  stroke:var(--kanal); }
#karte-kataster .kat-farbe--daten{  stroke:var(--daten); }
#karte-kataster .kat-zeichenflaeche{
  fill:none;
  stroke-linejoin:round;
}
#karte-kataster .kat-zeichenflaeche.kat-farbe--gas{    fill:color-mix(in srgb, var(--gas) 14%, transparent); }
#karte-kataster .kat-zeichenflaeche.kat-farbe--wasser{ fill:color-mix(in srgb, var(--wasser) 14%, transparent); }
#karte-kataster .kat-zeichenflaeche.kat-farbe--strom{  fill:color-mix(in srgb, var(--strom) 14%, transparent); }
#karte-kataster .kat-zeichenflaeche.kat-farbe--kanal{  fill:color-mix(in srgb, var(--kanal) 14%, transparent); }
#karte-kataster .kat-zeichenflaeche.kat-farbe--daten{  fill:color-mix(in srgb, var(--daten) 14%, transparent); }
#karte-kataster .kat-strich--duenn{    stroke-width:1.6; }
#karte-kataster .kat-strich--mittel{   stroke-width:3; }
#karte-kataster .kat-strich--kraeftig{ stroke-width:5; }
#karte-kataster .kat-stifte{
  display:flex; flex-direction:column; gap:.3rem;
  background:var(--grund); border:2px solid rgba(0,0,0,.2);
  border-radius:4px; padding:.3rem; margin-top:.4rem;
}
#karte-kataster .kat-stifte[hidden]{ display:none; }
#karte-kataster .kat-stifte__farben,
#karte-kataster .kat-stifte__striche{ display:flex; gap:.22rem; }
#karte-kataster :is(.kat-farbknopf, .kat-strichknopf){
  width:1.4rem; height:1.4rem; padding:0; border:2px solid transparent;
  border-radius:3px; cursor:pointer; background:none;
  display:grid; place-items:center;
}
#karte-kataster .kat-farbknopf::after{
  content:''; width:.85rem; height:.85rem; border-radius:50%;
  background:currentColor;
}
#karte-kataster .kat-farbknopf--gas{    color:var(--gas); }
#karte-kataster .kat-farbknopf--wasser{ color:var(--wasser); }
#karte-kataster .kat-farbknopf--strom{  color:var(--strom); }
#karte-kataster .kat-farbknopf--kanal{  color:var(--kanal); }
#karte-kataster .kat-farbknopf--daten{  color:var(--daten); }
#karte-kataster .kat-strichknopf::after{
  content:''; width:.95rem; border-radius:2px; background:currentColor;
}
#karte-kataster .kat-strichknopf--duenn::after{    height:1.6px; }
#karte-kataster .kat-strichknopf--mittel::after{   height:3px; }
#karte-kataster .kat-strichknopf--kraeftig::after{ height:5px; }
#karte-kataster :is(.kat-farbknopf, .kat-strichknopf)[aria-pressed="true"]{
  border-color:currentColor;
}
#karte-kataster :is(.kat-farbknopf, .kat-strichknopf):focus-visible{
  outline:2px solid var(--herz-wort); outline-offset:1px;
}
#karte-kataster .kat-fangmarke{ stroke-dasharray:3 2; }
#karte-kataster .kat-blattschatten{ pointer-events:none; }
#karte-kataster .kat-blattrahmen{ filter:none; }
.kat-blattwahl{
  background:var(--grund); border:2px solid rgba(0,0,0,.2); border-radius:4px;
  padding:.5rem .6rem; display:flex; flex-direction:column; gap:.4rem;
  font-size:.82rem; max-width:14rem;
}
.kat-blattwahl[hidden]{ display:none; }
.kat-blattwahl__zeile{ display:flex; flex-direction:column; gap:.15rem; font-weight:600; }
.kat-blattwahl__zeile select{ font:inherit; font-weight:400; padding:.15rem .2rem; }
.kat-blattwahl__haken{ display:flex; align-items:center; gap:.35rem; font-weight:400; }
.kat-blattwahl__wink{ margin:0; font-size:.74rem; opacity:.75; line-height:1.35; }
.kat-blattwahl__zeile input[type="text"]{ font:inherit; font-weight:400; padding:.2rem .25rem;
  border:1px solid color-mix(in srgb, currentColor 28%, transparent); border-radius:.2rem;
  background:var(--grund); color:inherit; min-width:0; }
.kat-blattwahl__pdf{ width:100%; margin-top:.1rem; justify-content:center; }
.kat-blattwahl__pdf[disabled]{ opacity:.6; cursor:progress; }
.kat-stand{
  margin:.4rem 0 0; font-size:.85rem; min-height:1.2em;
  font-variant-numeric:tabular-nums;
}
.kat-stand:empty{ margin:0; min-height:0; }
.kat-stand--blatt{ font-weight:600; }
#karte-kataster .kat-beschriftung{
  font-weight:700; font-size:var(--kat-schriftmass, .82rem);
  white-space:pre-wrap; line-height:1.25; text-align:center;
  pointer-events:none; color:var(--wasser);
  text-shadow:0 0 3px #fff, 0 0 3px #fff, 0 0 2px #fff;
  transform:translate(-50%, -50%);
}
#karte-kataster .kat-schrift--klein { --kat-schriftmass:.68rem; }
#karte-kataster .kat-schrift--mittel{ --kat-schriftmass:.82rem; }
#karte-kataster .kat-schrift--gross { --kat-schriftmass:1.06rem; }
#karte-kataster .kat-beschriftung.kat-farbe--gas{    color:var(--gas); }
#karte-kataster .kat-beschriftung.kat-farbe--wasser{ color:var(--wasser); }
#karte-kataster .kat-beschriftung.kat-farbe--strom{  color:var(--strom); }
#karte-kataster .kat-beschriftung.kat-farbe--kanal{  color:var(--kanal); }
#karte-kataster .kat-beschriftung.kat-farbe--daten{  color:var(--daten); }
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) #karte-kataster .kat-beschriftung{
    text-shadow:0 0 3px #191511, 0 0 3px #191511, 0 0 2px #191511;
  }
}
@media screen{ 
:root[data-licht="dunkel"] #karte-kataster .kat-beschriftung{
  text-shadow:0 0 3px #191511, 0 0 3px #191511, 0 0 2px #191511;
}
}
#karte-kataster.karte--zeichnet{ cursor:crosshair; }
#karte-kataster .kat-werkzeuge a.ist-an{
  background:var(--strom); color:#fff;
}
.kat-ebenenhinweis{ margin:.2rem 0 .5rem; padding-inline-start:.55rem;
  border-inline-start:2px solid var(--linie);
  font-size:var(--schrift-1); line-height:1.45; color:var(--neben); max-width:17rem; }
.kat-ebenenhinweis--ausfall{ border-inline-start-color:var(--herz); color:var(--wort); }
#karte.karte--luftbild,
#karte-kataster.karte--luftbild{ background:#fdfdfd; }
.luft-at{ filter:saturate(1.05) brightness(.72); }
.luft-de{ filter:saturate(.6) brightness(1.04); }
.la-karte p,
.la-karte dd,
.la-punkte li,
.la-weg p,
.vt-tafel td,
.vt-tafel th{ overflow-wrap:anywhere; }
.kartenname{ width:auto !important; height:auto !important;
  margin:0 !important; pointer-events:none; }
.kartenname span{ display:block; transform:translate(-50%,-50%);
  white-space:nowrap; font-size:var(--schrift-1); font-weight:600; letter-spacing:.01em;
  color:#fff;
  -webkit-text-stroke:2.4px rgb(28 25 23 / .72);
  paint-order:stroke fill; }
.kat-fingerwink{ position:absolute; z-index:701; inset:auto 0 0 0; pointer-events:none;
  padding:.7rem 1rem; text-align:center; font-size:var(--schrift-3); font-weight:600;
  color:#fff; background:rgb(20 16 13 / .82);
  opacity:0; transition:opacity .18s linear; }
.kat-fingerwink.sichtbar{ opacity:1; }
#karte-kataster:focus-visible{ outline:3px solid var(--herz-kante); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  #karte-kataster .kat-schweber, .kat-marke, .kat-fingerwink{ transition:none; }
}
@media (max-width: 42rem){
}
.fuss{ position:relative; color:var(--dunkel-neben);
  background-color:var(--dunkel);
  background-image:linear-gradient(180deg, #201A14 0%, var(--dunkel) 55%, #120E0A 100%); }
.fuss > *{ position:relative; z-index:1; }
.fuss__innen{ max-width:var(--mass); margin:0 auto; padding:2.8rem clamp(1rem,4vw,2.5rem) 1.8rem;
  display:flex; flex-wrap:wrap; align-items:flex-start;
  justify-content:space-between; gap:clamp(1.6rem, 3vw, 2.6rem); }
.fuss__innen > .fuss__block{ flex:1 1 100%; }
.fuss__innen > .fuss__nav{ flex:0 1 auto; }
.fuss__zeichen{ width:11.5rem; height:auto; color:#fff; margin-bottom:1rem; display:block; }
.fuss__block p{ font-size:var(--schrift-4); max-width:44ch; }
.fuss__nav{ display:grid; gap:.15rem; align-content:start; }
.fuss__titel{ margin:0 0 .35rem; font-family:var(--titel); font-size:var(--schrift-1);
  font-weight:650; letter-spacing:.13em; text-transform:uppercase;
  color:#fff; }
.kopf .marke{ display:inline-flex; align-items:center; min-height:44px; }
.blatt__sprung a{ min-height:44px; display:inline-flex; align-items:center; }
.la-sprungnav a{ min-height:44px; display:inline-flex; align-items:center; }
.einwillig, .haken{ min-height:44px; display:flex; align-items:flex-start; gap:.6rem; padding-block:.5rem; }
.einwillig input[type="checkbox"], .haken input[type="checkbox"]{
  width:1.35rem; height:1.35rem; margin-block-start:.15rem; flex:0 0 auto; }
dl.arbeiten dt a{ min-height:44px; display:inline-flex; align-items:center; }
.la-weg summary, .kat-bund summary, .la-quellen summary{
  min-height:44px; display:flex; align-items:center; gap:.35rem; }
.la-weg summary::before, .kat-bund summary::before, .la-quellen summary::before{
  content:''; flex:0 0 auto;
  inline-size:.54em; block-size:.54em;
  border-inline-end:1.7px solid currentColor;
  border-block-end:1.7px solid currentColor;
  rotate:-45deg; translate:.08em 0;
  transition:rotate var(--takt), translate var(--takt); }.la-weg[open] summary::before, .kat-bund[open] summary::before, .la-quellen[open] summary::before{ rotate:45deg; translate:0 -.12em; }
.formular input[type="checkbox"], .kat-tor__haken input[type="checkbox"],
.medienchip input[type="checkbox"]{ width:1.35rem; height:1.35rem; }
.kat-tor__haken{ min-height:44px; align-items:center; padding-block:.4rem; }
.standort__mehr{ min-height:44px; }
.fuss__nav a{ min-height:44px; display:flex; align-items:center;
  text-decoration:none; font-size:var(--schrift-4); padding-block:.52rem; }
.fuss__nav a[aria-current="page"]{ color:#fff; font-weight:650; }
.fuss__nav a[data-zweig]{ color:#fff; font-weight:500; }
.fuss__nav a:hover{ color:#fff; text-decoration:underline; text-underline-offset:4px; }
.fuss__nav--partner a{ flex-direction:column; align-items:flex-start;
  gap:.1rem; padding-block:.42rem; line-height:1.25; }
.fuss__nav--partner a strong{ font-weight:600; }
.fuss__nav--partner a span{ font-size:var(--schrift-2); }
.fuss__nav--partner a:hover{ text-decoration:none; }
.fuss__nav--partner a:hover strong{ text-decoration:underline; text-underline-offset:4px; }
.fuss__licht{
  width:min(calc(100% - 2 * clamp(1rem, 4vw, 2.5rem)), calc(var(--mass) - 2 * clamp(1rem, 4vw, 2.5rem)));
  margin:0 auto; padding-block:1rem .2rem;
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; font-size:var(--schrift-2); }
.fuss__licht > span{ opacity:.92; }
.lichtwahl{ display:flex; gap:.3rem; flex-wrap:wrap; }
.lichtwahl button{
  font:inherit; font-size:var(--schrift-2); cursor:pointer; border:0; border-radius:0;
  padding:.34rem .8rem; min-height:34px;
  background:none; color:#fff; box-shadow:inset 0 0 0 1px rgb(255 255 255 / .38);
  transition:background var(--takt), box-shadow var(--takt); }
.lichtwahl button:hover{ background:rgb(255 255 255 / .14); }
.lichtwahl button[aria-pressed="true"]{
  background:#fff; color:var(--herz-tief); font-weight:650;
  box-shadow:inset 0 0 0 1px #fff; }
@media (prefers-reduced-motion: reduce){ .lichtwahl button{ transition:none; } }
.fuss__zeile{
  width:min(calc(100% - 2 * clamp(1rem, 4vw, 2.5rem)), calc(var(--mass) - 2 * clamp(1rem, 4vw, 2.5rem)));
  margin:0 auto; padding:1rem 0 1.5rem;
  border-top:1px solid #2B251F; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:var(--schrift-2); }
@media (max-width: 64rem){
  .fuss__innen{ flex-direction:column; }
  .suchkarte{ grid-template-columns:1fr 1fr; }
  .suchkarte .knopf{ grid-column:1 / -1; justify-content:center; }
  .werk{ grid-template-columns:1fr; }
  .werk.werk--karte{ grid-template-columns:1fr; }
  .werk__liste{ max-height:none; overflow:visible; }
  .werk__karte{ position:static; }
  #karte{ height:24rem; min-height:0; }
  .werk.werk--karte .kacheln,.werk.werk--karte .zeilenliste,.werk.werk--karte [data-leer]{ display:none; }
  .profil__raster,.eintrag{ grid-template-columns:1fr; }
  .profil__raster > .fakten,
  .profil__raster > div:not(.fakten),
  .profil__raster > .meldung{ grid-column:auto; grid-row:auto; }
  .spiegel{ position:static; z-index:auto; }
}
.kopf__menue summary{ list-style:none; cursor:pointer;
  display:inline-grid; justify-items:stretch; align-content:center; gap:.2533em;
  font-size:.9375rem; min-width:44px; min-height:44px; padding:.35rem .4rem;
  transition:color var(--takt) var(--bogen); }
.kopf__menue summary::-webkit-details-marker{ display:none; }
.kopf__balken{ display:grid; gap:.2533em; position:relative; height:calc(.147em * 2 + .2533em);
  margin-inline:.0696em .0597em; }
.kopf__menue summary i{ display:block; height:.147em; background:currentColor;
  transition:transform var(--takt) var(--bogen), opacity var(--takt); }
.kopf__wort{ font-family:var(--titel); font-size:1em; font-weight:650; letter-spacing:.09em;
  text-transform:uppercase; line-height:.78; display:inline-flex; margin-inline-end:-.09em;
  padding-block-start:.3453em; }
.kopf__ue{ position:relative; display:inline-block; }
.kopf__ue::before, .kopf__ue::after{ content:''; position:absolute; top:-.3453em; left:.0597em;
  width:.5795em; height:.147em; background:currentColor;
  transition:top var(--takt) var(--bogen), left var(--takt) var(--bogen), width var(--takt) var(--bogen),
    height var(--takt) var(--bogen), border-radius var(--takt) var(--bogen); }
.kopf__menue[open] summary{ color:var(--herz-wort); }
.kopf__menue[open] summary i{ position:absolute; left:50%; top:50%; width:1.34em;
  margin-left:-.67em; margin-top:-.0735em; }
.kopf__menue[open] summary i:nth-child(1){ transform:translateY(.2em) rotate(45deg); }
.kopf__menue[open] summary i:nth-child(2){ transform:translateY(.2em) rotate(-45deg); }
.kopf__menue[open] .kopf__ue::before, .kopf__menue[open] .kopf__ue::after{ top:-.1695em; width:.1562em; height:.159em; border-radius:50%; }
.kopf__menue[open] .kopf__ue::before{ left:.1626em; }
.kopf__menue[open] .kopf__ue::after{ left:.3801em; }
@media (min-width: 42.01rem) and (max-width: 69.99rem){
  .kopf{ padding-block:.5rem; position:relative; gap:.7rem; }
  html[data-kopf] .kopf{ position:sticky; top:0;
    transition:transform var(--takt) var(--bogen); }
  html[data-kopf="weg"] .kopf{ transform:translateY(-101%); }
  html[data-kopf="da"] .kopf{ transform:none; }
  html[data-kopf]{ scroll-padding-top:4.5rem; }
  .kopf__nav > a:not(.kopf__cta){ display:none; }
  .kopf__nav{ margin-left:auto; }
  .kopf__nav :is(a, span).kopf__cta{ padding-block:.62rem; white-space:nowrap; }
  .kopf__menue{ display:block; position:relative; flex:none; }
  .kopf__menue[open]::before{ content:''; position:fixed; inset:0; z-index:-1;
    pointer-events:none; background:rgb(10 8 8 / .45); }
  .kopf__klapp{ position:absolute; right:0; top:calc(100% + .5rem - 1px); z-index:60;
    border-top:3px solid var(--herz);
    display:grid; min-width:15.5rem; padding:.5rem;
    background:var(--karte); box-shadow:var(--wurf-hoch); border:1px solid var(--linie); }
  .kopf__klapp a{ text-decoration:none; color:var(--wort); font-weight:550;
    padding:.72rem .85rem; }
  .kopf__klapp a[aria-current="page"]{ color:var(--herz-wort); font-weight:700; }
  .kopf__klapp a[data-zweig]{ color:var(--herz-wort); font-weight:600; }
}
.marke{ flex:0 0 auto; }
.kopf__nav{ min-width:0; }
@media (max-width: 42rem){
  .kopf{ padding-block:.5rem; position:relative; gap:.7rem; }
  html[data-kopf] .kopf{ position:sticky; top:0;
    transition:transform var(--takt) var(--bogen); }
  html[data-kopf="weg"] .kopf{ transform:translateY(-101%); }
  html[data-kopf="da"] .kopf{ transform:none; }
  @media (prefers-reduced-motion: reduce){
    html[data-kopf] .kopf{ transition:none; }
  }
  html[data-kopf]{ scroll-padding-top:4.5rem; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf{ animation:none;
    background:var(--grund); border-bottom-color:var(--linie); color:var(--wort);
    -webkit-backdrop-filter:none; backdrop-filter:none; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) .kopf .marke__zeichen{
    animation:none; --herzweiss:0; }
  body:has(.held, .profil__kopf, .blattheld, .bd-ecke--seite) main{ margin-top:0; }
  .marke__zeichen{ height:2.2rem; }
  .kopf__nav > a:not(.kopf__cta){ display:none; }
  .kopf__nav{ margin-left:auto; }
  .kopf__nav :is(a, span).kopf__cta{ padding-block:.62rem; white-space:nowrap; }
  .kopf__menue{ display:block; position:relative; flex:none; }
  .kopf__menue[open]::before{ content:''; position:fixed; inset:0; z-index:-1;
    pointer-events:none; background:rgb(10 8 8 / .45); }
  .kopf__klapp{ position:absolute; right:0; top:calc(100% + .5rem - 1px); z-index:60;
    border-top:3px solid var(--herz);
    display:grid; min-width:15.5rem; padding:.5rem;
    background:var(--karte); box-shadow:var(--wurf-hoch); border:1px solid var(--linie); }
  .kopf__klapp a{ text-decoration:none; color:var(--wort); font-weight:550;
    padding:.72rem .85rem; }
  .kopf__klapp a[aria-current="page"]{ color:var(--herz-wort); font-weight:700; }
  .kopf__klapp a[data-zweig]{ color:var(--herz-wort); font-weight:600; }
  .held{ min-height:88svh; padding-top:calc(36vw + 2.5rem); }
  .blatt h1{ font-size:2.35rem; }
  .blatt h2{ font-size:1.42rem; }
  .blatt > h3{ font-size:1.12rem; }
  .blatt :is(h1, h2, h3), .abschnitt__kopf :is(h1, h2), .held h1{
    hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word; }
  .abschnitt:has(.blatt) .netz{ display:none; }
  .leitzitat{ padding:1.35rem 1.15rem; }
  .suchkarte{ grid-template-columns:1fr; }
  .feld--reihe{ grid-template-columns:1fr; }
  .feld--reihe > .feld, .feld--reihe > .infoklapp{ grid-row:auto; grid-column:auto; }
  .feld--reihe > .feld{ grid-template-rows:none; }
  .fuss__innen{ gap:1.7rem; }
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) :is(.tor, .schritt, .betrieb, .suchkarte,
    .filterleiste, .fakten, .meldung, .formular fieldset){
    box-shadow:var(--wurf), inset 0 0 0 1px var(--linie); }
  :root:not([data-licht="hell"]) .leaflet-tile-pane{
    filter:brightness(.72) saturate(.72) contrast(1.05); }
  :root:not([data-licht="hell"]) :is(#karte, #karte-kataster){ box-shadow:inset 0 0 0 1px var(--linie); }
}
@media screen{ 
[data-licht="dunkel"] :is(.tor, .schritt, .betrieb, .suchkarte,
  .filterleiste, .fakten, .meldung, .formular fieldset){
  box-shadow:var(--wurf), inset 0 0 0 1px var(--linie); }
}
@media screen{ 
[data-licht="dunkel"] .leaflet-tile-pane{
  filter:brightness(.72) saturate(.72) contrast(1.05); }
}
@media screen{ 
[data-licht="dunkel"] :is(#karte, #karte-kataster){ box-shadow:inset 0 0 0 1px var(--linie); }
}
:root{
  --glas-blur:9px; --glas-blur-an:10px; --glas-saettigung:.92;
  --glas-weich:blur(var(--glas-blur)) saturate(var(--glas-saettigung));
  --glas-weich-an:blur(var(--glas-blur-an)) saturate(calc(var(--glas-saettigung) - .04));
  --glas-rgb:255 255 255; --glas-deckung:.58; --glas-deckung-an:.84;
  --glas-hell:rgb(var(--glas-rgb) / var(--glas-deckung));
  --glas-hell-an:rgb(var(--glas-rgb) / var(--glas-deckung-an));
  --glas-rim-hell:.55; --glas-rim-dunkel:.16;
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]){
    --glas-rgb:26 22 18; --glas-deckung:.62; --glas-deckung-an:.84;
    --glas-rim-hell:.14; --glas-rim-dunkel:.3;
  }
}
@media screen{ 
[data-licht="dunkel"]{
  --glas-rgb:26 22 18; --glas-deckung:.62; --glas-deckung-an:.84;
  --glas-rim-hell:.14; --glas-rim-dunkel:.3;
}
}
.suchkarte, .tor, .schritt, .leer, .filterleiste, .betrieb, .fakten,
.meldung, .leitzitat,
.zahlen__feld, .statistik__fig, .arbeiten > div, .formular fieldset,
.einbau__ergebnis, .zeilenliste, .ansicht, .blatt__sprung{
  --ist-glas:1;
  position:relative; isolation:isolate; overflow:hidden; background:var(--glas-hell);
  background-image:radial-gradient(var(--glas-glanz-groesse) at var(--glanz-x, 50%) var(--glanz-y, -10%),
    rgb(255 255 255 / calc(var(--glas-glanz) * var(--glanz-an))) 0%,
    rgb(255 255 255 / calc(var(--glas-glanz) * .35 * var(--glanz-an))) 38%, transparent 72%);
  -webkit-backdrop-filter:var(--glas-weich);
  backdrop-filter:var(--glas-weich);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(29 29 27 / var(--glas-rim-dunkel)), var(--wurf); }
.suchkarte:hover, a.tor:hover, .schritt:hover, .betrieb:hover,
.filterleiste:hover, .fakten:hover, .zahlen__feld:hover, .statistik__fig:hover,
.arbeiten > div:hover, .einbau__ergebnis:hover{ --glanz-an:1; transition:--glanz-an var(--takt) var(--bogen); }
.suchkarte::after, .tor::after, .schritt::after, .filterleiste::after,
.betrieb::after, .fakten::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  border-radius:inherit; padding:1px;
  background:linear-gradient(135deg,
    rgb(255 255 255 / var(--glas-rim-hell)) 0%,
    rgb(255 255 255 / calc(var(--glas-rim-hell) * .18)) 40%,
    rgb(255 255 255 / calc(var(--glas-rim-hell) * .5)) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude; }
a.tor:hover, .betrieb:hover{
  background:var(--glas-hell-an);
  -webkit-backdrop-filter:var(--glas-weich-an);
  backdrop-filter:var(--glas-weich-an);
  translate:0 -2px;
  box-shadow:inset 0 4px 0 var(--herz),
    inset 0 1px 0 rgb(255 255 255 / var(--glas-rim-hell)),
    inset 0 -1px 0 rgb(29 29 27 / var(--glas-rim-dunkel)), var(--wurf-hoch);
  transition:background var(--takt) var(--bogen), translate var(--takt) var(--bogen),
    box-shadow var(--takt) var(--bogen); }
:root{
  --schein-breite:70px;          --schein-kern:.34;
  --schein-kernfarbe:#F9CDD4;
  --schein-linie:.15;
  --schein-hof:.13;              --schein-hof-breite:80px; --schein-feder:32px; --schein-hof-verzug:3; --schein-uebergabe:0;
  --eckfunke-staerke:.85; --eckfunke-groesse:120px; --eckfunke-kern:.9; --eckfunke-hof:.16;
  --eckfunke-versatz:14px; --eckfunke-quer:1.28; --eckfunke-laengs:.78; --eckfunke-dispersion:1; --eckfunke-dispersion-versatz:1.5px;
  --knie-anlauf:26; --knie-nachglut:45; --knie-scheitel:.25; --knie-schweif:.45; --knie-groesse:80px; --knie-abstand:60;
  --schein-weich:0px;            --schein-deckung:.54;
  --schein-linie-weich:2;
  --schein-ein:8%;               --schein-aus:66%;
  --glas-brechung:4;             --glas-brechung-rand:40;
  --glas-kantenglanz:.15;
  --kantenglow-staerke:1;
  --kantenglow-anlauf:40;
  --kantenglow-nachglut-ein:95;  --kantenglow-nachglut-aus:120;
  --kantenglow-laenge:200px;     --kantenglow-breite:36px;
  --kantenglow-weich:0px;        --kantenglow-bloom:1;
  --schein-versatz:0;            --schein-verzug:0;
  --puls-tempo:130; --puls-motor:0; --puls-anzahl:0;
  --glas-glanz:.10;              --glas-glanz-groesse:62% 52%;
  --glas-licht-staerke:0;
  --puls-kern:#FFE3DC; --puls-glut:222 60 74;
}
html{ overflow-x:clip; }
.netz{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg, #000 88%, transparent 99%);
  mask-image:linear-gradient(180deg, #000 88%, transparent 99%); }
section:has(+ section) > .netz{ -webkit-mask-image:none; mask-image:none; }
.netz svg{ position:absolute; inset:0; width:100%; height:100%; }
.knotenfeld{ position:absolute; inset:0; display:block; pointer-events:none; }
.netz__leitung{ fill:none; stroke:currentColor; }
.netz__leitung--l0{ stroke-width:1.6; opacity:.22; }
.netz__leitung--l1{ stroke-width:1.1; opacity:.14; }
.netz__leitung--l2{ stroke-width:.8;  opacity:.08; }
:is(.held, .streifen, .blattheld, .profil__kopf) > .netz .netz__leitung--l0{ opacity:.42; }
:is(.held, .streifen, .blattheld, .profil__kopf) > .netz .netz__leitung--l1{ opacity:.26; }
:is(.held, .streifen, .blattheld, .profil__kopf) > .netz .netz__leitung--l2{ opacity:.15; }
.netz[data-dicht="0"]{ opacity:.55; }
.held > .netz, .streifen > .netz, .blattheld > .netz{ z-index:2; color:#fff; }
.abschnitt{ position:relative; }
.abschnitt > .netz{ left:50%; right:auto; width:100vw; margin-left:-50vw; }
.abschnitt > :not(.netz){ position:relative; }
.profil__kopf > .netz{ z-index:1; color:#fff; }
@property --licht-r{ syntax:'<length>'; inherits:false; initial-value:0px; }
@property --mx{ syntax:'*'; inherits:false; }
@property --my{ syntax:'*'; inherits:false; }
@property --glanz-x{ syntax:'*'; inherits:false; }
@property --glanz-y{ syntax:'*'; inherits:false; }
@property --glas-t{ syntax:'*'; inherits:false; }
.netz::before, .netz::after{ --mx:inherit; --my:inherit; }
.netz::after{ content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(var(--schleier-breite, 56%) var(--schleier-hoehe, 400%)
    at var(--schleier-x, 50%) var(--schleier-y, 50%),
    var(--netz-schleier, transparent) 0%,
    var(--netz-schleier, transparent) 30%,
    transparent 66%);
  -webkit-mask-image:radial-gradient(var(--licht-r) circle at var(--mx, 50%) var(--my, 50%),
    transparent 0%, rgba(0,0,0,.35) 46%, #000 100%);
  mask-image:radial-gradient(var(--licht-r) circle at var(--mx, 50%) var(--my, 50%),
    transparent 0%, rgba(0,0,0,.35) 46%, #000 100%);
  transition:--licht-r .55s var(--bogen); }
.netz::before{ content:''; position:absolute; inset:0; pointer-events:none; opacity:0;
  transition:opacity .55s var(--bogen);
  background:radial-gradient(300px circle at var(--mx, 50%) var(--my, 50%),
    rgb(var(--puls-glut) / .14) 0%, rgb(var(--puls-glut) / .05) 42%, transparent 72%); }
.leuchtet .netz::after{ --licht-r:330px; }
.leuchtet .netz::before{ opacity:1; }
.abschnitt{ --netz-schleier:rgb(250 247 241 / .94);
  --puls-kern:var(--herz); --kantenglow-bloom:.5; --eckfunke-dispersion:.5; }
.held, .streifen, .blattheld, .profil__kopf{ --netz-schleier:rgb(20 23 22 / .52);
  --schleier-breite:125%; --schleier-x:14%;
  --schein-kern:.65; --schein-hof:.17;
  --schein-breite:60px; --schein-ein:4%; --schein-aus:56%; --schein-linie:.85; }
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) .abschnitt{ --netz-schleier:rgb(20 17 16 / .94);
    --puls-kern:#FFE3DC; --kantenglow-bloom:1; --eckfunke-dispersion:1;
    --schein-kern:.2; --schein-kernfarbe:#F4B8C0; }
}
@media screen{ 
[data-licht="dunkel"] .abschnitt{ --netz-schleier:rgb(20 17 16 / .94);
  --puls-kern:#FFE3DC; --kantenglow-bloom:1; --eckfunke-dispersion:1;
  --schein-kern:.2; --schein-kernfarbe:#F4B8C0; }
}
@media (max-width: 42rem){
  .abschnitt{ --schleier-breite:120%; }
  .held, .streifen, .profil__kopf{ --schleier-breite:100%; }
}
:root{
  --schnitt-1:#C8102E; --schnitt-2:#A50D26; --schnitt-3:#7F0A1E; --schnitt-4:#590816;
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]){
    --schnitt-1:#A10D26; --schnitt-2:#850B20; --schnitt-3:#650819; --schnitt-4:#470611;
  }
}
@media screen{ 
[data-licht="dunkel"]{
  --schnitt-1:#A10D26; --schnitt-2:#850B20; --schnitt-3:#650819; --schnitt-4:#470611;
}
}
.bd{ pointer-events:none; }
::placeholder{ color:color-mix(in srgb, var(--wort) 68%, transparent); opacity:1; }
input[type="range"]{ accent-color:var(--herz); }
:root{ --feldrand:color-mix(in srgb, var(--wort) 52%, var(--karte)); }
.feld input, .feld select, .feld textarea,
.suchkarte input, .suchkarte select,
.filterfeld input[type="text"], .filterfeld input[type="search"], .filterfeld select{
  border-color:var(--feldrand); }
.feld input:focus-visible, .feld select:focus-visible, .feld textarea:focus-visible,
.suchkarte input:focus-visible, .suchkarte select:focus-visible,
.filterfeld input[type="text"]:focus-visible,
.filterfeld input[type="search"]:focus-visible,
.filterfeld select:focus-visible{
  outline:none; border-color:var(--herz-kante);
  box-shadow:0 0 0 3px var(--herz-kante); }
input[type="range"]{ appearance:none; -webkit-appearance:none; height:1.3rem; background:none; }
input[type="range"]::-webkit-slider-runnable-track{ height:4px; border-radius:2px;
  background:color-mix(in srgb, var(--wort) 30%, var(--karte)); }
input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none;
  width:1.5rem; height:1.5rem; border-radius:50%; background:var(--herz);
  border:0; margin-top:calc((4px - 1.5rem) / 2); }
input[type="range"]::-moz-range-track{ height:4px; border-radius:2px;
  background:color-mix(in srgb, var(--wort) 30%, var(--karte)); }
input[type="range"]::-moz-range-thumb{ width:1.5rem; height:1.5rem; border-radius:50%;
  background:var(--herz); border:0; }
.feld input[type="range"], .filterfeld input[type="range"]{
  border:0; padding:0; background:none; }
a[href^="tel:"]{ white-space:nowrap; }
.feld input:focus-visible, .feld textarea:focus-visible{
  box-shadow:0 0 0 3px rgb(200 16 46 / .45); }
.bd svg{ display:block; width:100%; height:100%; overflow:visible; }
:root{ --ecke-breite:min(72vw, 880px);
  --ecke-hoehe:calc(var(--ecke-breite) * 226 / 640); }
.bd-ecke{ position:absolute; inset:0 auto auto 0; z-index:2;
  width:var(--ecke-breite); height:auto; aspect-ratio:640 / 226; }
.bd-ecke{ --anspiel-x:-7%; --anspiel-y:-12%; }
.bd-trenner{ --anspiel-x:0%; --anspiel-y:15%; }
.bd-fussstapel{ --anspiel-x:0%; --anspiel-y:22%; }
@media (prefers-reduced-motion: no-preference){
  html[data-anspiel] .bd--anspiel .bd__lage{
    transform:translate(var(--anspiel-x, 0), var(--anspiel-y, 0)); opacity:0; }
  html[data-anspiel] .bd--anspiel.eingefahren .bd__lage{
    animation:papierLegen 1.05s cubic-bezier(.16,.76,.28,1) both;
    animation-delay:calc(.18s + var(--n, 0) * .13s); }
  @keyframes papierLegen{
    from{ transform:translate(var(--anspiel-x, 0), var(--anspiel-y, 0)); opacity:0; }
    34%{ opacity:1; }
    to{ transform:none; opacity:1; } }
}
main{ position:relative; }
.bd-ecke--seite{ inset:0 auto auto 0; z-index:2; }
main > section{ position:relative; z-index:1; }
main:has(> .bd-ecke--seite) > section:first-of-type{
  padding-block-start:calc(1.6rem + var(--ecke-hoehe)); }
:root{ --balkenragen:calc(.36 * clamp(300px, 40vw, 580px)); }
.bd-trenner{ position:relative; z-index:3;
  height:clamp(300px, 40vw, 580px);
  margin-block:calc(-1 * var(--balkenragen)); }
:is(.held, .profil__kopf, .blattheld) + .bd-trenner{
  margin-top:calc(-1.4 * var(--balkenragen)); }
.profil__kennung--beispiel{ display:block; max-width:52ch;
  padding:.6rem .85rem; background:rgb(255 255 255 / .14);
  box-shadow:inset 3px 0 0 #fff; }
:is(.held, .profil__kopf, .blattheld):has(+ .bd-trenner){ padding-bottom:calc(5.5rem + 1.4 * var(--balkenragen)); }
:is(.held, .profil__kopf, .blattheld):has(+ .bd-trenner)
  > :is(.blattheld__innen, .abschnitt){ padding-block-end:0; }
.bd-trenner + .abschnitt{ padding-block-start:calc(clamp(3rem, 6.5vw, 5rem) + var(--balkenragen)); }
.profil__kopf + .bd-trenner + .abschnitt{ padding-block-start:calc(2.4rem + var(--balkenragen)); }
.abschnitt:has(+ .bd-trenner){ padding-block-end:calc(clamp(3rem, 6.5vw, 5rem) + var(--balkenragen)); }
.bd-trenner + .streifen{ padding-block-start:calc(clamp(5rem, 9vw, 8rem) + var(--balkenragen)); }
.streifen:has(+ .bd-trenner){ padding-block-end:calc(clamp(5rem, 9vw, 8rem) + 1.6 * var(--balkenragen)); }
.streifen + .bd-trenner{ margin-block-start:calc(-1.6 * var(--balkenragen)); }
.bd-trenner + .streifen .streifen__innen{ margin-block-start:clamp(4.5rem, 10vw, 9.5rem); }
.fuss{ position:relative; margin-top:0; }
main > section:last-of-type{
  padding-block-end:calc(clamp(3rem, 6.5vw, 5rem) + .53 * clamp(280px, 36vw, 540px)); }
.bd-fussstapel{ position:absolute; left:0; right:0;
  height:clamp(280px, 36vw, 540px);
  top:calc(-.528 * clamp(280px, 36vw, 540px)); }
.fuss{ background-color:var(--schnitt-1); background-image:none;
  color:rgb(255 255 255 / .96); }
.fuss__zeile{ color:#fff; }
.fuss__zeile{ border-top:1px solid rgb(255 255 255 / .28); }
.fuss__nav a:hover{ color:#fff; }
@media (prefers-reduced-motion: reduce){
  .bd-ecke, .bd__lage{ animation:none !important; transform:none !important; opacity:1 !important; }
  .knopf, .tor, .betrieb{ transition-property:background, box-shadow, border-color; }
  .knopf:hover, .tor:hover, .betrieb:hover{ translate:none; }
}
.held{ --schleier-breite:190%; --schleier-x:50%; --netz-schleier:rgb(20 23 22 / .20); }
.knoten{ position:absolute; inset-block-start:var(--ky); inset-inline-start:var(--kx);
  width:11px; height:11px; margin:-5.5px 0 0 -5.5px; background:currentColor;
  transform:rotate(45deg); pointer-events:none; }
.knoten--l0{ opacity:.30; }
.knoten--l1{ opacity:.19; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; }
.knoten--l2{ opacity:.11; width:7px; height:7px; margin:-3.5px 0 0 -3.5px; }
.impuls{ position:absolute; top:0; inset-inline-start:var(--ix); width:3px; height:100%;
  margin-inline-start:-1.5px; opacity:0; will-change:transform;
  background-image:
    linear-gradient(to bottom, transparent 0%, rgb(var(--puls-glut) / .55) 38%, var(--puls-kern) 62%, rgb(var(--puls-glut) / .35) 74%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, rgb(var(--puls-glut) / .16) 50%, transparent 100%);
  background-size:3px 130px, 13px 260px;
  background-position:center top, center top;
  background-repeat:no-repeat, no-repeat;
  transform:translateY(-150px);
}
.laeuft .impuls{ animation:impuls var(--dauer,9s) linear infinite; animation-delay:var(--verzug,0s); }
.laeufer{ position:absolute; top:0; inset-inline-start:0; width:3px; height:260px; opacity:0; will-change:transform;
  pointer-events:none; transform-origin:1.5px 0;
  background-image:
    linear-gradient(to bottom, transparent 0%, rgb(var(--puls-glut) / .55) 38%, var(--puls-kern) 62%, rgb(var(--puls-glut) / .35) 74%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, rgb(var(--puls-glut) / .16) 50%, transparent 100%);
  background-size:3px 130px, 13px 260px;
  background-position:center top, center top;
  background-repeat:no-repeat, no-repeat; }
html[data-lauf="an"] .impuls{ display:none; }
@keyframes impuls{
  0%   { transform:translateY(-150px); opacity:0; }
  7%   { opacity:1; }
  90%  { opacity:1; }
  100% { transform:translateY(100%); opacity:0; }
}
.fundpunkt-lage{ position:absolute; inset:0; }
.fundpunkt{ position:absolute; inset-block-start:var(--fy, 38%); inset-inline-start:var(--fx);
  width:0; height:0; color:var(--herz-hell); }
.fundpunkt__raute{ position:absolute; width:11px; height:11px; margin:-5.5px 0 0 -5.5px;
  background:currentColor; transform:rotate(45deg); }
.fundpunkt__ring{ position:absolute; width:38px; height:38px; margin:-19px 0 0 -19px;
  border:1.5px solid currentColor; border-radius:50%; opacity:0; }
.laeuft .fundpunkt__ring{ animation:fundpuls 4.5s var(--bogen) infinite; }
.laeuft .fundpunkt__ring--b{ animation-delay:1.6s; }
@keyframes fundpuls{
  0%   { opacity:.8; transform:scale(.2); }
  70%  { opacity:0;  transform:scale(1.9); }
  100% { opacity:0;  transform:scale(1.9); }
}
.knoten--licht{ background:rgb(var(--puls-glut)); opacity:.5;
  box-shadow:0 0 9px 2px rgb(var(--puls-glut) / .5), 0 0 24px 8px rgb(var(--puls-glut) / .15); }
.laeuft .knoten--licht{ animation:knotenlicht 6.5s var(--bogen) infinite; }
@keyframes knotenlicht{
  0%,100% { opacity:.28; }
  50%     { opacity:.6; }
}
.fuss{ position:relative; }
.netz--auslauf{ inset:0 0 auto 0; height:clamp(9rem, 16vw, 13rem); opacity:.7;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, rgb(0 0 0 / .45) 45%, transparent 80%);
          mask-image:linear-gradient(to bottom, #000 0%, rgb(0 0 0 / .45) 45%, transparent 80%); }
@supports (animation-timeline:view()){
}
@property --glanz-an{ syntax:'<number>'; inherits:false; initial-value:0; }
.glasschicht{ position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; opacity:var(--glas-t,1); }
.laeufer-huelle,.schein-huelle,.glasdrift{ position:absolute; inset:0; pointer-events:none; }
@keyframes glasdrift{ from{ transform:translateY(calc(-1 * var(--drift-px, 0px))); } to{ transform:translateY(var(--drift-px, 0px)); } }
.glasschicht--rand{
  -webkit-mask-image:
    linear-gradient(to right, #000 0, transparent calc(var(--glas-brechung-rand) * 1px), transparent calc(100% - var(--glas-brechung-rand) * 1px), #000 100%),
    linear-gradient(to bottom, #000 0, transparent calc(var(--glas-brechung-rand) * 1px), transparent calc(100% - var(--glas-brechung-rand) * 1px), #000 100%);
          mask-image:
    linear-gradient(to right, #000 0, transparent calc(var(--glas-brechung-rand) * 1px), transparent calc(100% - var(--glas-brechung-rand) * 1px), #000 100%),
    linear-gradient(to bottom, #000 0, transparent calc(var(--glas-brechung-rand) * 1px), transparent calc(100% - var(--glas-brechung-rand) * 1px), #000 100%);
  -webkit-mask-composite:source-over; mask-composite:add;
  will-change:transform;
  transform:scale(calc(1 + var(--glas-brechung) / 100)); transform-origin:50% 50%; }
.glasschein{ position:absolute; inset-block-start:0; inset-inline-start:0;
  width:calc(var(--schein-breite) + 2 * var(--schein-hof-breite)); height:260px;
  pointer-events:none; opacity:0; transform-origin:50% 0; will-change:transform;
  filter:blur(var(--schein-weich));
  --schein-linie-spitze:calc(100% * var(--schein-linie) * (1 - .19 * var(--schein-linie-weich)));
  --schein-linie-bild:
    linear-gradient(to right,
      transparent calc(50% - 2.2px - 2.2px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.08 * var(--schein-linie-spitze)), transparent) calc(50% - 1.3px - 1.9px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.23 * var(--schein-linie-spitze)), transparent) calc(50% - 1.3px - 1.3px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.48 * var(--schein-linie-spitze)), transparent) calc(50% - 1.3px - .7px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.81 * var(--schein-linie-spitze)), transparent) calc(50% - .9px - .3px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) var(--schein-linie-spitze), transparent) 50%,
      color-mix(in srgb, var(--schein-kernfarbe) calc(.81 * var(--schein-linie-spitze)), transparent) calc(50% + .9px + .3px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.48 * var(--schein-linie-spitze)), transparent) calc(50% + 1.3px + .7px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.23 * var(--schein-linie-spitze)), transparent) calc(50% + 1.3px + 1.3px * var(--schein-linie-weich)),
      color-mix(in srgb, var(--schein-kernfarbe) calc(.08 * var(--schein-linie-spitze)), transparent) calc(50% + 1.3px + 1.9px * var(--schein-linie-weich)),
      transparent calc(50% + 2.2px + 2.2px * var(--schein-linie-weich)));
  --schein-kern-bild:
    linear-gradient(to right, transparent 25%,
      rgb(var(--puls-glut) / calc(.037 * var(--schein-kern))) 30%,
      rgb(var(--puls-glut) / calc(.135 * var(--schein-kern))) 34.5%,
      rgb(var(--puls-glut) / calc(.29 * var(--schein-kern))) 38%,
      color-mix(in srgb, color-mix(in srgb, var(--schein-kernfarbe) 80%, rgb(var(--puls-glut))) calc(61% * var(--schein-kern)), transparent) 42%,
      color-mix(in srgb, var(--schein-kernfarbe) calc(85% * var(--schein-kern)), transparent) 45.5%,
      color-mix(in srgb, var(--schein-kernfarbe) calc(100% * var(--schein-kern)), transparent) 50%,
      color-mix(in srgb, var(--schein-kernfarbe) calc(85% * var(--schein-kern)), transparent) 54.5%,
      color-mix(in srgb, color-mix(in srgb, var(--schein-kernfarbe) 80%, rgb(var(--puls-glut))) calc(61% * var(--schein-kern)), transparent) 58%,
      rgb(var(--puls-glut) / calc(.29 * var(--schein-kern))) 62%,
      rgb(var(--puls-glut) / calc(.135 * var(--schein-kern))) 65.5%,
      rgb(var(--puls-glut) / calc(.037 * var(--schein-kern))) 70%, transparent 75%);
  --schein-hof-bild:
    linear-gradient(to right, transparent 0%,
      rgb(var(--puls-glut) / calc(.03 * var(--schein-hof))) 5%, rgb(var(--puls-glut) / calc(.07 * var(--schein-hof))) 12%,
      rgb(var(--puls-glut) / calc(.14 * var(--schein-hof))) 20%, rgb(var(--puls-glut) / calc(.26 * var(--schein-hof))) 27%,
      rgb(var(--puls-glut) / calc(.42 * var(--schein-hof))) 33%, rgb(var(--puls-glut) / calc(.62 * var(--schein-hof))) 38%,
      rgb(var(--puls-glut) / calc(.82 * var(--schein-hof))) 43%, rgb(var(--puls-glut) / calc(.92 * var(--schein-hof))) 46%,
      rgb(var(--puls-glut) / var(--schein-hof)) 50%,
      rgb(var(--puls-glut) / calc(.92 * var(--schein-hof))) 54%, rgb(var(--puls-glut) / calc(.82 * var(--schein-hof))) 57%,
      rgb(var(--puls-glut) / calc(.62 * var(--schein-hof))) 62%, rgb(var(--puls-glut) / calc(.42 * var(--schein-hof))) 67%,
      rgb(var(--puls-glut) / calc(.26 * var(--schein-hof))) 73%, rgb(var(--puls-glut) / calc(.14 * var(--schein-hof))) 80%,
      rgb(var(--puls-glut) / calc(.07 * var(--schein-hof))) 88%, rgb(var(--puls-glut) / calc(.03 * var(--schein-hof))) 95%, transparent 100%);
  background-image:var(--schein-linie-bild), var(--schein-kern-bild), var(--schein-hof-bild);
  background-size:100% 100%, var(--schein-breite) 100%, 100% 100%;
  background-position:0 0, 50% 0, 0 0; background-repeat:no-repeat;
  --schein-profil:linear-gradient(to bottom, transparent 0%, transparent var(--schein-ein), rgb(0 0 0 / .45) 18.8%, #000 31.2%, rgb(0 0 0 / .55) 36.9%, transparent var(--schein-aus));
  --schein-profil-hof:linear-gradient(to bottom, transparent 0%, transparent var(--schein-ein), rgb(0 0 0 / .40) 18.8%, #000 31.2%, rgb(0 0 0 / .66) 38.5%, rgb(0 0 0 / .28) 46%, transparent calc(var(--schein-aus) + 8%));
  -webkit-mask-image:var(--schein-profil); mask-image:var(--schein-profil);
  -webkit-mask-composite:source-in; mask-composite:intersect; }
.glasschein--linie{ background-image:var(--schein-linie-bild); background-size:100% 100%; background-position:0 0; width:16px; }
.glasschein--hof{ background-image:var(--schein-kern-bild), var(--schein-hof-bild); background-size:var(--schein-breite) 100%, 100% 100%; background-position:50% 0, 0 0;
  -webkit-mask-image:var(--schein-profil-hof); mask-image:var(--schein-profil-hof); }
.eckfunke{ position:absolute; inset-block-start:0; inset-inline-start:0;
  width:var(--eckfunke-groesse); height:var(--eckfunke-groesse); pointer-events:none; opacity:0; will-change:transform; transform-origin:50% 50%;
  background-image:
    radial-gradient(circle at 50% 50%, rgb(var(--puls-glut) / calc(.40 * var(--eckfunke-kern))) 0, rgb(var(--puls-glut) / calc(.18 * var(--eckfunke-kern))) 9px, transparent 24px),
    radial-gradient(ellipse 3.5px 11px at 50% calc(50% + 9px), rgb(var(--puls-glut) / calc(.32 * var(--eckfunke-kern))) 0, rgb(var(--puls-glut) / calc(.12 * var(--eckfunke-kern))) 60%, transparent 100%),
    radial-gradient(circle at 50% 50%, rgb(var(--puls-glut) / calc(var(--eckfunke-hof) * var(--kantenglow-bloom))) 0, rgb(var(--puls-glut) / calc(.45 * var(--eckfunke-hof) * var(--kantenglow-bloom))) 40%, transparent 50%);
  background-repeat:no-repeat; }
.eckfunke--blitz{ width:var(--knie-groesse); height:var(--knie-groesse);
  background-image:
    radial-gradient(circle 4px at 50% 50%, #FFF3F0 0, var(--puls-kern) 45%, transparent 100%),
    radial-gradient(circle 5px at calc(50% + var(--eckfunke-dispersion-versatz)) 50%, rgb(var(--puls-glut) / calc(.55 * var(--eckfunke-dispersion))) 0, transparent 100%),
    radial-gradient(circle 5px at calc(50% - var(--eckfunke-dispersion-versatz)) 50%, rgb(198 216 255 / calc(.045 * var(--eckfunke-dispersion))) 0, transparent 100%),
    radial-gradient(ellipse 1.1px 15px at 50% 50%, var(--puls-kern) 0, transparent 100%),
    radial-gradient(ellipse 3px 30px at 50% 50%, rgb(var(--puls-glut) / .28) 0, transparent 100%),
    radial-gradient(ellipse 14px 34px at 50% 50%, rgb(var(--puls-glut) / calc(.09 * var(--kantenglow-bloom))) 0, transparent 100%);
  background-repeat:no-repeat; }
.kantenglow{ position:absolute; inset-block-start:0; inset-inline-start:0;
  width:var(--kantenglow-laenge); height:var(--kantenglow-breite); pointer-events:none; opacity:0;
  transform-origin:50% 50%; will-change:transform; filter:blur(var(--kantenglow-weich));
  background-image:
    radial-gradient(ellipse 40px 1.2px at 50% 50%, var(--puls-kern) 0%, var(--puls-kern) 50%, color-mix(in srgb, var(--puls-kern) 50%, transparent) 80%, transparent 100%),
    radial-gradient(ellipse 90px 5px at 50% 50%, rgb(var(--puls-glut) / calc(.38 * var(--kantenglow-bloom))) 0%, rgb(var(--puls-glut) / calc(.20 * var(--kantenglow-bloom))) 40%, rgb(var(--puls-glut) / calc(.08 * var(--kantenglow-bloom))) 70%, transparent 100%),
    radial-gradient(ellipse 100px 18px at 50% 50%, rgb(var(--puls-glut) / calc(.12 * var(--kantenglow-bloom))) 0%, rgb(var(--puls-glut) / calc(.07 * var(--kantenglow-bloom))) 40%, rgb(var(--puls-glut) / calc(.025 * var(--kantenglow-bloom))) 70%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0%, rgb(0 0 0 / .15) 12.5%, rgb(0 0 0 / .29) 25%, rgb(0 0 0 / .54) 37.5%, #000 50%, rgb(0 0 0 / .54) 62.5%, rgb(0 0 0 / .29) 75%, rgb(0 0 0 / .15) 87.5%, transparent 100%);
          mask-image:linear-gradient(to right, transparent 0%, rgb(0 0 0 / .15) 12.5%, rgb(0 0 0 / .29) 25%, rgb(0 0 0 / .54) 37.5%, #000 50%, rgb(0 0 0 / .54) 62.5%, rgb(0 0 0 / .29) 75%, rgb(0 0 0 / .15) 87.5%, transparent 100%); }
.glasschicht{ transition:opacity .12s var(--bogen); }
a.tor:hover .glasschicht, .betrieb:hover .glasschicht{ opacity:calc(.38 * var(--glas-t,1)); }
.glaslicht{ position:absolute; inset:0; pointer-events:none; opacity:0; will-change:opacity;
  box-shadow:inset 0 0 0 1px rgb(var(--puls-glut) / .45),
    inset 0 0 24px rgb(var(--puls-glut) / .18); }
@media (prefers-contrast: more){
  .glasschicht{ display:none; }
  .netz{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .laeuft .impuls{ animation:none; opacity:.75; transform:translateY(30%); }
  .laeuft .fundpunkt__ring{ animation:none; opacity:.4; transform:scale(1.3); }
  .netz,.netz svg,.knotenfeld{ animation:none !important; }
  .knoten--licht{ animation:none !important; }
}
@media print {
  :root, :root[data-licht="dunkel"], :root[data-licht="hell"] {
    --grund:#fff !important; --karte:#fff !important; --wort:#000 !important;
    --neben:#333 !important; --linie:#999 !important; --herz:#000 !important;
    --herz-wort:#000 !important; --herz-tief:#000 !important;
    --herz-kante:#000 !important; --rund:0 !important; --rund-gross:0 !important;
    --wurf:none !important; --wurf-hoch:none !important;
    --creme:#F3EDE3 !important;
    --gas:#E3A800 !important; --wasser:#1F7AC2 !important;
    --strom:#E14A2B !important; --kanal:#8F5E1F !important;
    --daten:#279457 !important;
    --muster-mat:var(--creme) !important; --muster-papier:#FFFFFF !important;
    --muster-kante:#E1DACC !important; --muster-wurf:var(--wurf) !important;
    --nacht-kante:initial !important;
  }
  html, body { background:#fff !important; color:#000 !important; }
  body { font-size:10.5pt; line-height:1.45; }
  .kopf, .fuss, .sprung, .kopf__menue,
  .bd, .netz, .schleier,
  video, .held__halt, .held__film,
  .filterleiste, .ansicht, .werk__karte, #karte, #karte-kataster,
  .kat-suchform, .kat-tor, .kat-zoomhinweis, .kat-gross, .kat-raus,
  .kontakt, .meldung, .spiegel, .formular__merk,
  .statistik__fig, .diagramm, .hochweg, .blatt__schluss,
  .leaflet-container, .tiefen__weg { display:none !important; }
  .held, .blattheld, .profil__kopf, .streifen, .rotbuehne {
    min-height:0 !important; padding:0 0 .6cm !important;
    color:#000 !important; background:none !important; }
  .held::before, .blattheld::before, .profil__kopf::before,
  .streifen::before, .rotbuehne::before { display:none !important; }
  .held, .held *, .blattheld, .blattheld *, .profil__kopf, .profil__kopf *,
  .streifen, .streifen *, .rotbuehne, .rotbuehne * {
    color:#000 !important; text-shadow:none !important; }
  .rotbuehne .merkkasten, .streifen .merkkasten { background:none !important; }
  .vorwort, .vorspann { color:#000 !important; text-shadow:none !important; }
  @page { margin:1.6cm 1.4cm; }
  .abschnitt { max-width:none !important; padding:0 !important; }
  main > section:last-child { padding-block-end:0 !important; }
  .blatt, .rotbuehne__innen > *, .kontakt { max-width:none !important; }
  h1, h2, h3 { break-after:avoid; page-break-after:avoid; color:#000 !important; }
  h2 { margin-top:.8cm; border-top:1px solid #999; padding-top:.25cm; }
  li, tr, .la-stelle, .standort, .vt-sparte { break-inside:avoid; page-break-inside:avoid; }
  p, blockquote { orphans:3; widows:3; }
  a[href^="http"]::after { content:" (" attr(href) ")"; font-size:8.5pt; color:#333;
    word-break:break-all; }
  a[href^="mailto:"]::after { content:" (" attr(href) ")"; font-size:8.5pt; color:#333; }
  a[href^="mailto:"]::after, a[href^="http"]::after { }
  a[href^="#"]::after, a[href^="/"]::after { content:""; }
  a { color:#000 !important; text-decoration:underline; }
  details { display:block !important; }
  details > summary { display:block !important; font-weight:700;
    list-style:none; margin-block:.35cm .15cm; }
  details > summary::marker, details > summary::-webkit-details-marker { display:none; }
  .la-weg summary::before, .kat-bund summary::before, .la-quellen summary::before{ content:"" !important; }
  details > *:not(summary) { display:revert !important; }
  .vt-rolle { overflow:visible !important; }
  .vt-tafel { display:table !important; width:100% !important; min-width:0 !important;
    border-collapse:collapse; font-size:8.5pt; }
  .vt-tafel thead { display:table-header-group !important; position:static !important;
    width:auto !important; height:auto !important; clip-path:none !important; }
  .vt-tafel tbody { display:table-row-group !important; }
  .vt-tafel tr { display:table-row !important; padding:0 !important; }
  .vt-tafel th, .vt-tafel td { display:table-cell !important; grid-template-columns:none !important;
    border:1px solid #999 !important; padding:2pt 4pt !important; vertical-align:top; }
  .vt-tafel tbody th::before, .vt-tafel td::before { content:"" !important; }
  .la-stelle { border-bottom:1px solid #ccc; padding-bottom:.2cm; margin-bottom:.2cm; }
  main::after {
    content:"Ausdruck von infrastrukturverzeichnis.at — Stand der Angaben siehe oben. "
      "Diese Seite ist eine Orientierungshilfe und ersetzt keine Leitungsauskunft "
      "beim Netzbetreiber.";
    display:block; margin-top:.8cm; padding-top:.25cm;
    border-top:1px solid #999; font-size:8.5pt; color:#333;
  }
}
.werkstatt__zeile{ font-size:var(--schrift-2); color:var(--neben); margin-block:.3rem 1.4rem; }
.karten-kachelausfall{ position:absolute; left:.6rem; bottom:2.4rem; z-index:700;
  margin:0; max-width:26rem; padding:.5rem .75rem;
  background:color-mix(in srgb, var(--karte) 94%, transparent);
  box-shadow:var(--wurf), inset 0 0 0 1px var(--linie);
  border-inline-start:3px solid var(--herz);
  font-size:var(--schrift-2); line-height:1.45; color:var(--wort); }
.karten-ausfall{ color:var(--herz-wort); font-weight:600; }
.kat-zoomwink{ max-width:22rem; padding:.6rem .8rem; margin:0 0 .4rem;
  background:color-mix(in srgb, var(--karte) 95%, transparent);
  box-shadow:var(--wurf), inset 0 0 0 1px var(--linie);
  border-inline-start:3px solid var(--herz);
  font-size:.8rem; line-height:1.45; color:var(--wort);
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.kat-zoomwink button, .kat-zoomwink a{ font:inherit; font-size:.78rem;
  font-weight:600; cursor:pointer; text-decoration:none;
  border:0; border-radius:0; padding:.34rem .8rem; min-height:34px;
  display:inline-flex; align-items:center;
  background:var(--herz); color:#fff; }
.kat-zoomwink button:hover, .kat-zoomwink a:hover{ background:var(--herz-tief); }
.lagepaar{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
  margin-block:1.2rem 1.6rem; align-items:start;
  width:min(62rem, 100% + 12rem, 100vw - 3rem);
  margin-inline:auto; }
@media (max-width: 52rem){
  .lagepaar{ grid-template-columns:1fr; width:100%; }
}
.lagepaar__feld{ background:var(--karte); box-shadow:var(--wurf);
  border-radius:var(--rund); padding:1.1rem 1.2rem; }
.lagepaar__feld[open]{ box-shadow:var(--wurf), inset 3px 0 0 var(--herz); }
.lagepaar__marke{ display:flex; align-items:baseline; justify-content:space-between;
  gap:.8rem; cursor:pointer; list-style:none; font-family:var(--titel);
  font-size:var(--schrift-6); color:var(--wort); }
.lagepaar__marke::-webkit-details-marker{ display:none; }
.lagepaar__land{ font-weight:600; }
.lagepaar__wink{ flex:0 0 auto; font-family:var(--grund);
  font-size:var(--schrift-1); letter-spacing:.06em; text-transform:uppercase;
  color:var(--neben); }
.lagepaar__feld[open] .lagepaar__wink{ color:var(--herz-wort); }
.lagepaar__marke:hover .lagepaar__land{ color:var(--herz-wort); }
.lagepaar__marke:focus-visible{ outline:2px solid var(--herz);
  outline-offset:3px; border-radius:2px; }
.lagepaar__text{ margin-top:.7rem; }
.lagepaar__text p{ margin:0 0 .6rem; font-size:var(--schrift-4); line-height:1.6; }
.lagepaar__text p:last-child{ margin-bottom:0; }
.lagepaar__weg{ margin-top:.9rem; }
.lagepaar__nach{ margin-top:0; }
#karte-kataster .kat-gewaehlt{
  filter:drop-shadow(0 0 0 #fff) drop-shadow(0 0 3px #fff)
         drop-shadow(0 0 6px rgb(200 16 46 / .55)) !important; }
#karte-kataster .kat-beschriftung.kat-gewaehlt span{
  box-shadow:0 0 0 2px var(--herz), 0 0 0 4px rgb(255 255 255 / .9); }
#karte-kataster .kat-griff{
  width:14px; height:14px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 2px var(--herz), 0 1px 4px rgb(0 0 0 / .4);
  cursor:grab; }
#karte-kataster .kat-griff::after{
  content:''; position:absolute; inset:-5px; border-radius:50%; }
#karte-kataster .kat-griff:hover{ background:var(--herz); box-shadow:0 0 0 2px #fff; }
#karte-kataster.karte--griff-zieht,
#karte-kataster.karte--griff-zieht *{ cursor:grabbing !important; }
.zw-liste{
  list-style:none; margin:1.1rem 0 0; padding:0;
  display:grid; gap:.85rem;
}
.zw-liste li{
  padding-inline-start:1.1rem; border-inline-start:3px solid var(--herz);
  line-height:1.55;
}
.zw-liste strong{ display:block; }
.zw-herkunft{
  margin-block-start:1.4rem; padding:1rem 1.15rem;
  border-radius:.6rem; background:var(--flaeche-still, rgb(0 0 0 / .04));
  line-height:1.6;
}
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) .zw-herkunft{ background:rgb(255 255 255 / .06); }
}
@media screen{ 
:root[data-licht="dunkel"] .zw-herkunft{ background:rgb(255 255 255 / .06); }
}
#karte-kataster .kat-fadenkreuz{
  position:absolute; left:50%; top:50%; width:38px; height:38px;
  margin:-19px 0 0 -19px; z-index:640; pointer-events:none;
}
#karte-kataster .kat-fadenkreuz::before,
#karte-kataster .kat-fadenkreuz::after{
  content:''; position:absolute; background:#fff;
  box-shadow:0 0 0 1px rgb(25 21 17 / .85);
}
#karte-kataster .kat-fadenkreuz::before{ left:50%; top:0; width:1px; height:100%; margin-left:-.5px; }
#karte-kataster .kat-fadenkreuz::after{ top:50%; left:0; height:1px; width:100%; margin-top:-.5px; }
#karte-kataster .kat-fadenkreuz > span,
#karte-kataster .kat-fadenkreuz{ box-sizing:border-box; }
#karte-kataster .kat-fadenkreuz{
  border-radius:50%;
  box-shadow:inset 0 0 0 2px var(--herz), 0 0 0 1px rgb(255 255 255 / .7);
}
#karte-kataster .kat-fadenkreuz[hidden]{ display:none; }
.kat-dialog{
  position:fixed; inset:0; z-index:9000;
  display:flex; align-items:center; justify-content:center;
  padding:1.4rem; background:rgb(25 21 17 / .58);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
.kat-dialog__blatt{
  width:min(30rem, 100%); max-height:90vh; overflow:auto;
  display:flex; flex-direction:column; gap:.9rem;
  padding:clamp(1.2rem, 3vw, 1.8rem);
  border-radius:.9rem; background:var(--grund);
  box-shadow:0 18px 48px rgb(0 0 0 / .4);
}
.kat-dialog__kopf{ margin:0; font-size:var(--schrift-1); line-height:1.2; }
.kat-dialog__text{ margin:0; color:var(--neben); line-height:1.55; }
.kat-dialog__knoepfe{
  display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end;
}
.kat-dialog__knoepfe .knopf{ min-height:44px; }
@media (max-width: 34rem){
  .kat-dialog{ align-items:flex-end; padding:0; }
  .kat-dialog__blatt{
    width:100%; max-height:82vh;
    border-radius:1rem 1rem 0 0;
    padding-bottom:calc(1.4rem + env(safe-area-inset-bottom, 0px));
  }
  .kat-dialog__knoepfe .knopf{ flex:1 1 8rem; justify-content:center; }
}
@media (prefers-reduced-motion: no-preference){
  .kat-dialog__blatt{ animation:kat-dialog-auf .18s ease-out; }
  @keyframes kat-dialog-auf{ from{ opacity:0; transform:translateY(10px) } }
  @media (max-width: 34rem){
    @keyframes kat-dialog-auf{ from{ opacity:0; transform:translateY(28px) } }
  }
}
#karte-kataster .kat-schreibfeld{
  position:absolute; z-index:720; transform:translate(-50%, -50%);
  display:flex; flex-direction:column; gap:.3rem; align-items:center;
}
#karte-kataster .kat-schreibfeld textarea{
  font:inherit; font-weight:700; font-size:var(--kat-schriftmass, .82rem);
  line-height:1.25; text-align:center;
  min-width:9rem; max-width:min(22rem, 60vw); resize:none; overflow:hidden;
  padding:.34rem .5rem; border-radius:.4rem;
  border:2px solid currentColor; background:var(--grund, #fff);
  color:var(--wasser); box-shadow:0 2px 12px rgb(0 0 0 / .28);
}
#karte-kataster .kat-schreibfeld.kat-farbe--gas    textarea{ color:var(--gas); }
#karte-kataster .kat-schreibfeld.kat-farbe--wasser textarea{ color:var(--wasser); }
#karte-kataster .kat-schreibfeld.kat-farbe--strom  textarea{ color:var(--strom); }
#karte-kataster .kat-schreibfeld.kat-farbe--kanal  textarea{ color:var(--kanal); }
#karte-kataster .kat-schreibfeld.kat-farbe--daten  textarea{ color:var(--daten); }
#karte-kataster .kat-schreibfeld.kat-schrift--klein  textarea{ --kat-schriftmass:.68rem; }
#karte-kataster .kat-schreibfeld.kat-schrift--mittel textarea{ --kat-schriftmass:.82rem; }
#karte-kataster .kat-schreibfeld.kat-schrift--gross  textarea{ --kat-schriftmass:1.06rem; }
#karte-kataster .kat-schreibfeld__hinweis{
  font-size:.66rem; font-weight:600; line-height:1.2; white-space:nowrap;
  padding:.18rem .42rem; border-radius:.3rem;
  background:rgb(25 21 17 / .82); color:#fff;
}
.kat-menue{
  position:absolute; z-index:700; min-width:13.5rem; padding:.3rem;
  background:var(--karte); border-radius:var(--rund);
  box-shadow:0 8px 28px rgb(0 0 0 / .28), inset 0 0 0 1px var(--linie);
  display:flex; flex-direction:column; }
.kat-menue button{
  display:block; width:100%; text-align:left; font:inherit;
  font-size:var(--schrift-3); color:var(--wort);
  background:none; border:0; border-radius:calc(var(--rund) - .1rem);
  padding:.5rem .7rem; min-height:44px; cursor:pointer; }
.kat-menue button:hover:not(:disabled){ background:var(--creme); color:var(--herz-wort); }
.kat-menue button:focus-visible{ outline:2px solid var(--herz); outline-offset:-2px; }
.kat-menue button:disabled{ color:var(--neben); opacity:.55; cursor:default; }
.kat-menue hr{ border:0; border-top:1px solid var(--linie); margin:.25rem .4rem; }
@media screen and (prefers-color-scheme: dark){
  :root:not([data-licht="hell"]) .kat-menue{
    box-shadow:0 8px 28px rgb(0 0 0 / .55), inset 0 0 0 1px var(--linie); }
}
#karte-kataster .kat-griff--neu{
  width:12px; height:12px; background:rgb(255 255 255 / .55);
  box-shadow:0 0 0 1.5px rgb(200 16 46 / .55); }
#karte-kataster .kat-griff--neu:hover{
  background:#fff; box-shadow:0 0 0 2px var(--herz); }
@media (prefers-reduced-motion: no-preference){
  #karte-kataster .kat-griff{ transition:background .12s ease, box-shadow .12s ease; }
}
.kat-stand--zeichnung:empty{ display:none; }
.kat-befundkopf{ display:flex; align-items:baseline; justify-content:space-between;
  gap:.8rem; flex-wrap:wrap; }
.kat-befundkopf .kat-titel{ margin:0; }
.kat-abwaehlen{ flex:0 0 auto; font:inherit; font-size:var(--schrift-2);
  color:var(--neben); background:none; border:0; padding:.25rem .5rem;
  border-radius:var(--rund); cursor:pointer;
  box-shadow:inset 0 0 0 1px var(--linie); }
.kat-abwaehlen:hover{ color:var(--herz-wort); box-shadow:inset 0 0 0 1px var(--herz-kante); }
.kat-abwaehlen:focus-visible{ outline:2px solid var(--herz); outline-offset:2px; }
.kat-leer{ margin:0; color:var(--neben); font-size:var(--schrift-4); }
#karte-kataster.karte--mitte-zieht,
#karte-kataster.karte--mitte-zieht *{ cursor:grabbing !important; }
#karte-kataster .kat-blattrahmen{ pointer-events:none; }
#karte-kataster .kat-blattgriff{ cursor:grab; }
#karte-kataster.karte--rahmen-zieht .kat-blattgriff{ cursor:grabbing; }
#karte-kataster.karte--rahmen-zieht{ cursor:grabbing; }
#karte-kataster .kat-blattgriff{ transition:stroke-opacity .12s ease; }
#karte-kataster .kat-blattgriff:hover{ stroke-opacity:.14; }
@media (prefers-reduced-motion: reduce){
  #karte-kataster .kat-blattgriff{ transition:none; }
}
.kwz{ position:relative; display:block; min-width:0; }
.kwz > input[type]{ padding-right:6.2rem; }
.kwz__knopf{
  position:absolute; inset-block:1px; inset-inline-end:1px;
  display:inline-flex; align-items:center;
  padding:0 .8rem; border:0; background:none;
  font:inherit; font-size:var(--schrift-3); color:var(--wort);
  text-decoration:underline; text-underline-offset:.18em;
  text-decoration-thickness:from-font;
  cursor:pointer; border-radius:var(--rund);
}
.kwz__knopf:hover{ text-decoration-thickness:2px; }
.kwz__knopf:focus-visible{
  outline:2px solid var(--herz-kante); outline-offset:-2px;
  text-decoration-thickness:2px;
  box-shadow:0 0 0 3px rgb(200 16 46 / .18);
}
.geheimnis{
  display:inline-block; font-family:var(--fest, ui-monospace, "Cascadia Mono", Consolas, monospace);
  font-size:var(--schrift-6); letter-spacing:.08em; line-height:1.7;
  padding:.5rem .8rem; background:var(--karte); border:1px solid var(--linie);
  border-radius:var(--rund); user-select:all; word-break:keep-all;
}
.ersatzcodes{
  list-style:none; margin:1.2rem 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(11rem, 1fr)); gap:.6rem;
}
.ersatzcodes li{ margin:0; }
.ersatzcodes code{
  display:block; font-family:var(--fest, ui-monospace, "Cascadia Mono", Consolas, monospace);
  font-size:var(--schrift-5); letter-spacing:.06em; text-align:center;
  padding:.6rem .4rem; background:var(--karte); border:1px solid var(--linie);
  border-radius:var(--rund); user-select:all; white-space:nowrap;
}
@media print{
  .ersatzcodes code{ background:none; border:1px solid #999; color:#000; }
}
.qr-feld{
  display:inline-block; margin:1.1rem 0; padding:.6rem;
  background:#fff; border-radius:var(--rund);
  line-height:0;   
}
.qr-feld .qr{ display:block; }
@media print{ .qr-feld{ padding:0; } }
.brotkrumen{ margin:0 0 1rem; font-size:var(--schrift-3); }
.brotkrumen ol{ display:flex; flex-wrap:wrap; align-items:center; gap:.15rem .45rem; margin:0; padding:0; list-style:none; }
.blatt .brotkrumen li{ margin:0; max-width:none; }
.brotkrumen li + li::before{ content:'›'; margin-right:.45rem; color:var(--neben); }
.blatt nav.brotkrumen li a:not(.knopf){ color:var(--neben); text-decoration:none;
  display:inline-block; padding-block:.35rem; }
.blatt nav.brotkrumen li a:not(.knopf):hover{ color:var(--herz-wort); text-decoration:underline; }
.brotkrumen [aria-current]{ color:var(--wort); font-weight:600; }
.lk-auch{ font-size:var(--schrift-4); color:var(--neben); }
.lk-auch strong{ color:var(--wort); font-weight:600; }
.lk-hinweis{ font-size:var(--schrift-3); color:var(--neben); }
.lk-zahl{ font-size:var(--schrift-2); font-weight:500; color:var(--neben); font-variant-numeric:tabular-nums; }
.la-sprungnav .lk-zahl{ margin-left:.25rem; }
.lk-land{ margin:0 0 .4rem; }
.lk-land__kopf{ display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap;
  margin:1.8rem 0 0; font-size:1.35rem;
  padding-block-end:.4rem; border-block-end:1px solid var(--linie); }
.lk-sprung{ align-items:center; }
.lk-sprung__land{ font-size:var(--schrift-2); font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--neben); margin-right:.3rem; }
.lk-weiter{ margin-top:.9rem; font-size:var(--schrift-4); max-width:62ch; }
.blatt .schlagreihe a.schlag.lk-chip{ text-decoration:none; color:var(--wort);
  box-shadow:inset 0 0 0 1px var(--linie); transition:box-shadow var(--takt) var(--bogen); }
.blatt .schlagreihe a.schlag.lk-chip:hover{ box-shadow:inset 0 0 0 1px var(--herz-kante); color:var(--herz-wort); }
.blatt ul.lk-leistungen{ margin:.6rem 0 0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); gap:.1rem 1.2rem; }
.blatt ul.lk-leistungen li a:not(.knopf){ color:var(--wort); font-weight:600; text-decoration:none; }
.blatt ul.lk-leistungen li a:not(.knopf):hover{ color:var(--herz-wort); text-decoration:underline; }
.lk-leistungen .lk-zahl{ white-space:nowrap; }
.blatt .lk-leistungen li{ margin:0; padding-block:.4rem; border-block-end:1px solid var(--linie);
  display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; }
.blatt ul.lk-stellen{ margin:.6rem 0 0; }
.blatt ul.la-betreiber{ margin:.8rem 0 0; padding-left:1.1rem; columns:2 16rem; column-gap:1.6rem; }
.blatt .la-betreiber li{ break-inside:avoid; margin-bottom:.35rem; font-size:var(--schrift-4); }
.lk-held{ display:grid; gap:2.2rem; max-width:64rem; margin-inline:auto; align-items:center; }
@media (min-width: 60rem){
  .lk-held{ grid-template-columns:minmax(0, 36rem) minmax(15rem, 22rem); justify-content:center; gap:3.5rem; } }
.lk-held__text{ margin-inline:0; }
@media (max-width: 59.99rem){ .lk-held__text{ margin-inline:auto; } }
.vk{ margin:0; width:100%; max-width:22rem; justify-self:center; }
@media (max-width: 59.99rem){ .vk{ max-width:19rem; } }
.vk__bild{ display:block; width:100%; height:auto; overflow:visible; }
.vk__land{ fill:color-mix(in srgb, var(--wort) 7%, var(--grund)); stroke:var(--grund); stroke-width:1.4; stroke-linejoin:round;
  transition:fill var(--takt) var(--bogen); }
.vk__land--1{ fill:color-mix(in srgb, var(--herz) 20%, var(--grund)); }
.vk__land--2{ fill:color-mix(in srgb, var(--herz) 36%, var(--grund)); }
.vk__land--3{ fill:color-mix(in srgb, var(--herz) 54%, var(--grund)); }
.vk__land--4{ fill:color-mix(in srgb, var(--herz) 74%, var(--grund)); }
.vk__land--5{ fill:var(--herz); }
.vk__land--aktiv{ stroke:var(--wort); stroke-width:3; }
.vk a:hover .vk__land{ fill:color-mix(in srgb, var(--herz) 82%, var(--wort)); }
.vk__legende{ display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .55rem; margin-top:.7rem;
  font-size:var(--schrift-2); color:var(--neben); }
.vk__skala{ display:inline-flex; }
.vk__skala i{ width:1rem; height:.6rem; display:block; }
.vk__skala .vk__land--1{ background:color-mix(in srgb, var(--herz) 20%, var(--grund)); }
.vk__skala .vk__land--2{ background:color-mix(in srgb, var(--herz) 36%, var(--grund)); }
.vk__skala .vk__land--3{ background:color-mix(in srgb, var(--herz) 54%, var(--grund)); }
.vk__skala .vk__land--4{ background:color-mix(in srgb, var(--herz) 74%, var(--grund)); }
.vk__skala .vk__land--5{ background:var(--herz); }
.vk__quelle{ flex-basis:100%; font-size:var(--schrift-1); }
body:has(.lk-abschnitt){
  --wellenhoehe:clamp(120px, 13vw, 190px); --balkenragen:calc(.36 * var(--wellenhoehe)); }
body:has(.lk-abschnitt) .bd-trenner{ height:var(--wellenhoehe); }
.zeilenliste.lk-zeilen{ display:flex; margin-top:.8rem; }
.lk-zeilen + .lk-weiter, .lk-zeilen + .lk-fuss{ margin-top:.8rem; }
.lk-fuss{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.4rem 1rem;
  margin-top:.5rem; font-size:var(--schrift-3); }
.blatt .lk-fuss a.lk-hoch{ color:var(--neben); text-decoration:none; display:inline-block; padding-block:.4rem; }
.blatt .lk-fuss a.lk-hoch:hover{ color:var(--herz-wort); text-decoration:underline; }
.lk-land + .lk-land{ margin-top:1.4rem; }
.lk-vorwort .lk-sparte{ display:inline-flex; align-items:center; gap:.4em; margin-inline-end:.5em; }
.lk-vorwort .ader{ width:.62em; height:.62em; border-radius:50%; display:inline-block;
  box-shadow:0 0 0 1px color-mix(in srgb, var(--wort) 35%, transparent); }
.lk-sprung a{ border-radius:0; }
.blatt ul.lk-leistungen li a:not(.knopf){ min-width:0; overflow-wrap:anywhere; hyphens:auto; }
.lk-leistungen .lk-zahl{ flex:none; }
.profil__leitungen{ position:absolute; right:0; bottom:calc(1.1 * var(--balkenragen)); width:min(64%, 54rem); height:58%; z-index:1;
  pointer-events:none; -webkit-mask-image:linear-gradient(90deg, transparent, #000 38%);
  mask-image:linear-gradient(90deg, transparent, #000 38%); }
.profil__leitung{ fill:none; stroke:var(--l); stroke-linecap:round; opacity:.92; }
.profil__glanz{ fill:none; stroke:rgb(255 255 255 / .32); stroke-linecap:round; }
@media (max-width: 40rem){ .profil__leitungen{ width:100%; height:48%; opacity:.6; } }
.lk-zeilen .zeile__km{ display:none; }
@media (min-width: 761px){
  .lk-zeilen .zeile{ grid-template-columns:minmax(17rem, 1.6fr) minmax(8.5rem, .75fr) minmax(0, 1.6fr); } }
@media (max-width: 760px){ .lk-zeilen .zeile{ grid-template-columns:minmax(0, 1fr); } }
@media (max-width: 59.99rem){ .vk{ max-width:15rem; } }
.lk-land__kopfzeile{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.3rem 1rem;
  margin:1.8rem 0 0; padding-block-end:.4rem; border-block-end:1px solid var(--linie); }
.lk-land__kopfzeile .lk-land__kopf{ margin:0; padding:0; border:0; }
.lk-land__kopfzeile .melden{ font-size:var(--schrift-2); }
.liste__mehr.knopf--rand{ color:var(--wort); background:transparent;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--wort) 45%, transparent); }
.liste__mehr.knopf--rand:hover{ box-shadow:inset 0 0 0 1px var(--wort);
  background:color-mix(in srgb, var(--herz) 6%, transparent); }
.vk a:focus-visible{ outline:none; }
.vk a:focus-visible .vk__land{ stroke:var(--wort); stroke-width:4; }
