@font-face{font-family:'Bebas Neue';src:url(../fonts/bebas/BebasNeue-Regular.ttf) format('truetype');font-display:swap}
/* Neuer Startbereich: Video + 4 Kacheln */
.stage{display:none!important}
.scroll-animation{opacity:1!important;transform:none!important}
.hero{--hero-blue:#00628a;--hero-teal:#3aa393;--hero-coral:#eb4b5f;--hero-sand:#9c7152;
  position:relative;display:grid;grid-template-rows:33svh auto;gap:3px;background:#fff;font-family:Montserrat,sans-serif}
.hero-video{position:relative;overflow:hidden;background:#002c3e;container-type:size}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,44,62,.45),rgba(0,44,62,.25) 50%,rgba(0,44,62,.55))}
.hero-title{position:absolute;inset:0;z-index:2;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;
  color:#fff;font-family:'Bebas Neue',Montserrat,sans-serif;font-weight:400;font-size:min(28.1cqh,28cqw);line-height:.9;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero-play{position:absolute;z-index:3;left:1rem;bottom:1rem;width:3.25rem;height:3.25rem;border:0;border-radius:9999px;background:#fff;color:var(--hero-blue);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:transform .15s}
.hero-play:hover{transform:scale(1.08)}
.hero-play svg{width:1.4rem;height:1.4rem;margin-left:.15rem}
.hero-tiles{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff;min-height:0}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.85rem;padding:1rem;min-width:0;aspect-ratio:1;
  color:#fff;text-decoration:none;overflow:hidden;transition:filter .15s}
a.tile:hover,.tile-1:hover{filter:brightness(1.1)}
.tile-1{background:var(--hero-blue)}.tile-2{background:var(--hero-teal)}.tile-3{background:var(--hero-coral)}.tile-4{background:var(--hero-sand)}
.tile-small{font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.9}
.tile-text{font-size:clamp(1.5rem,7vw,2.2rem);font-weight:800;line-height:1.1}
.tile .arrow{position:absolute;top:.9rem;right:.9rem;width:1.5rem;height:1.5rem;opacity:.85}
.tile-form{display:flex;width:100%;background:#fff;border-radius:9999px;overflow:hidden}
.tile-form input{flex:1;min-width:0;border:0;padding:.5rem .3rem .5rem .8rem;font:600 .7rem Montserrat,sans-serif;color:#002c3e;outline:0;background:transparent}
.tile-form button{border:0;background:#fff;color:var(--hero-blue);padding:0 .5rem;cursor:pointer;display:grid;place-items:center}
.tile-form button svg{width:1.1rem;height:1.1rem}

/* Mobil: Logo weg, nur Burger */
@media (max-width:998px){
  .nav-mobile .logo{display:none!important}
  .nav-mobile{display:block}
  .menu-icon{z-index:60}
}
/* Desktop: Video links, Kacheln rechts */
@media (min-width:999px){
  .hero{grid-template-rows:none;grid-template-columns:1fr auto;gap:4px}
  .hero-play{left:2rem;bottom:2rem;width:4rem;height:4rem}
  .hero-tiles{gap:4px;width:min(50vw,calc(100vh - 5rem))}
  .tile{padding:2rem}
  .tile-text{font-size:clamp(1.8rem,2.7vw,2.9rem)}
  .tile-small{font-size:1rem}
  .tile-form input{font-size:1rem;padding:.75rem 1.1rem}
}
/* Burger-Menü */
.mmenu{position:fixed;inset:0;z-index:50;background:#00628a;color:#fff;padding:5rem 1.5rem 2rem;overflow:auto;display:none;font-family:Montserrat,sans-serif}
.mmenu.open{display:block}
.mmenu h3{margin:1.2rem 0 .4rem;font-size:1.3rem;font-weight:800}
.mmenu a{display:block;color:#fff;text-decoration:none;padding:.3rem 0;opacity:.9}
/* Pop-up */
.vdialog{border:0;padding:0;background:#000;width:min(960px,94vw);border-radius:.5rem;overflow:hidden}
.vdialog::backdrop{background:rgba(0,0,0,.75)}
.vdialog .yt{aspect-ratio:16/9;width:100%}
.vdialog iframe{display:block;width:100%;height:100%;border:0}
.vdialog .close{position:absolute;top:.5rem;right:.5rem;z-index:2;width:2.4rem;height:2.4rem;border:0;border-radius:9999px;background:#fff;font-size:1.4rem;cursor:pointer}
.hero-title span{font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit}

/* PLZ-Ergebnisse: kleine Liste unter dem Eingabefeld */
.tile-1{overflow:visible;z-index:6}
.plz-results{position:absolute;left:.5rem;top:calc(100% - .5rem);width:min(calc(100vw - 1rem),22rem);z-index:7;background:#fff;color:#002c3e;
  border-radius:.7rem;box-shadow:0 6px 24px rgba(0,0,0,.35);padding:.35rem}
.plz-results[hidden]{display:none}
.plz-head{margin:0;padding:.3rem .5rem;font-size:.72rem;font-weight:600;opacity:.65}
.plz-results ol{list-style:none;margin:0;padding:0}
.plz-results li a{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:.5rem;padding:.4rem .5rem;border-radius:.45rem;color:inherit;text-decoration:none;line-height:1.25}
.plz-results li a:hover{background:#e8f1f5}
.plz-city{font-size:.95rem;font-weight:800}
.plz-km{font-size:.75rem;font-weight:700;color:#00628a;text-align:right}
.plz-date{grid-column:1/3;font-size:.72rem;opacity:.7}
.plz-loc{display:none}
/* Burger-Menue: X beim Oeffnen */
.nav-mobile .menu-icon .x-icon{display:none;width:1.5rem;height:1.5rem}
.nav-mobile.open .menu-icon .x-icon{display:block}
.nav-mobile.open .menu-icon .navigation-menu{display:none}
.mmenu{z-index:45}

/* Fotos in den Kacheln, mit transparenter Kachelfarbe überdeckt */
.tile::before{content:"";position:absolute;inset:0;z-index:0;background:var(--photo,none) var(--pos,center)/cover no-repeat}
.tile::after{content:"";position:absolute;inset:0;z-index:1;background:var(--tint);opacity:.8;pointer-events:none}
.tile>*{z-index:2}
.tile-1{--tint:var(--hero-blue);--photo:url(img/tile-zuschauer.jpg);--pos:50% 65%}
.tile-2{--tint:var(--hero-teal);--photo:url(img/tile-teilnehmer.jpg);--pos:50% 60%}
.tile-3{--tint:var(--hero-coral);--photo:url(img/tile-mitarbeiter.jpg);--pos:50% 35%}
.tile-4{--tint:var(--hero-sand)}
.tile-4::after{opacity:1}
.tile-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.tile .tile-small+.tile-text{margin-top:-.2rem}
.tile-1 .tile-form{margin-top:.1rem}

/* Kachel 1: Text einzeilig */
.tile-1{container-type:inline-size}
@media (max-width:998px){.tile-1{padding:.75rem}}
.tile-1 .tile-text{font-family:'Bebas Neue',Montserrat,sans-serif;font-weight:400;font-size:10.4cqw;letter-spacing:.02em;text-transform:uppercase;line-height:1.1;white-space:nowrap}
