/* Playfair Display, lokal eingebunden (SIL OFL 1.1, siehe fonts/OFL.txt) */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/playfair-display-400-latin.woff2) format("woff2")}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#050505;color:#d4af37}
body{font-family:"Playfair Display",Didot,"Bodoni 72","Bodoni MT","Times New Roman",Georgia,serif;-webkit-font-smoothing:antialiased}
a{color:inherit}

/* Startseite: Vollbild-Slideshow */
.stage{position:fixed;inset:0;overflow:hidden;
  /* Grundstimmung (auch Fallback, solange keine Fotos da sind) */
  background:
    radial-gradient(circle at 18% 30%,rgba(212,175,55,.35) 0 4%,transparent 9%),
    radial-gradient(circle at 78% 22%,rgba(246,231,176,.25) 0 3%,transparent 7%),
    radial-gradient(circle at 66% 72%,rgba(212,175,55,.28) 0 5%,transparent 11%),
    radial-gradient(circle at 30% 80%,rgba(184,137,42,.25) 0 3%,transparent 8%),
    radial-gradient(ellipse at 50% 120%,#3a2a08 0,#120d03 45%,#050505 75%)}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;
  animation:fade 42s infinite;will-change:opacity,transform}
.slide:nth-child(1){background-image:url(img/party-1.jpg);animation-delay:0s}
.slide:nth-child(2){background-image:url(img/party-2.jpg);animation-delay:7s}
.slide:nth-child(3){background-image:url(img/party-3.jpg);animation-delay:14s}
.slide:nth-child(4){background-image:url(img/party-4.jpg);animation-delay:21s}
.slide:nth-child(5){background-image:url(img/party-5.jpg);animation-delay:28s}
.slide:nth-child(6){background-image:url(img/party-6.jpg);animation-delay:35s}
@keyframes fade{
  0%{opacity:0;transform:scale(1.08)}
  4%{opacity:1}
  16.7%{opacity:1}
  21%{opacity:0;transform:scale(1)}
  100%{opacity:0}}
.veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.15) 40%,rgba(0,0,0,.25) 65%,rgba(0,0,0,.8) 100%)}

.brand{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(86vw,640px);filter:drop-shadow(0 4px 24px rgba(0,0,0,.85))}
.brand img{display:block;width:100%;height:auto}

.foot{position:fixed;left:0;right:0;bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  text-align:center;font-size:13px;letter-spacing:.12em}
.foot a{text-decoration:none;opacity:.75}
.foot a:hover,.foot a:focus{opacity:1}

@media (prefers-reduced-motion:reduce){
  .slide{animation:none}
  .slide:nth-child(1){opacity:1}}

/* Impressum */
.page{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:48px 20px 32px;
  background:radial-gradient(ellipse at 50% 0,#2a1f06 0,#050505 60%)}
.page .logo{width:min(70vw,360px);margin-bottom:40px}
.page h1{font-weight:400;font-size:28px;letter-spacing:.1em;margin-bottom:24px}
.page address{font-style:normal;font-size:18px;line-height:1.8;text-align:center;color:#eadba6}
.page .back{margin-top:48px;font-size:13px;letter-spacing:.12em;text-decoration:none;opacity:.75}
.page .credits{margin-top:40px;max-width:560px;font-size:13px;line-height:1.7;text-align:center;color:#b9a970}
.page .credits h2{font-weight:400;font-size:16px;letter-spacing:.1em;color:#d4af37;margin-bottom:8px}
.page .credits a{text-decoration:none;border-bottom:1px solid rgba(212,175,55,.35)}
