html{scroll-padding-top:88px}
.skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:12px 16px;border-radius:10px;background:var(--accent);color:#08090c;font-weight:850;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.section{padding:96px 0}
.card{min-height:250px}
.menu{min-width:44px;min-height:44px;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent2);outline-offset:3px}
@media(max-width:900px){.section{padding:70px 0}}
@media(max-width:600px){h1{font-size:clamp(2.75rem,14vw,3.35rem)}.section{padding:58px 0}.section-head{margin-bottom:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.compact-contact{display:flex;align-items:center;justify-content:space-between;gap:48px}.compact-contact h2{max-width:720px}.compact-contact p{max-width:640px}.compact-contact .actions{justify-content:flex-end}.dark-home-button{background:#090a0c;color:#fff;border-color:#090a0c}.dark-home-button:hover{background:#20232c;border-color:#20232c}.home-explore .card{min-height:235px}
@media(max-width:760px){.compact-contact{display:grid;gap:28px}.compact-contact .actions{justify-content:flex-start}.compact-contact .button{width:100%}}

.review-proof{padding-top:32px}
.review-proof-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:clamp(28px,5vw,54px);border:1px solid #353a45;border-radius:28px;background:linear-gradient(135deg,#171920,#0d0f13);box-shadow:0 24px 70px #0005}
.review-proof-card h2{margin:.25rem 0 .65rem}
.review-proof-card p{max-width:650px;margin:0;color:#c9cbd2}
.review-stars{color:var(--accent);font-size:1.4rem;letter-spacing:.14em}
.mini-rating{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;width:fit-content;margin:24px 0;padding:14px 18px;border:1px solid #424751;border-radius:16px;background:#171920;color:#fff;text-decoration:none}
.mini-rating span{grid-row:1 / span 2;color:var(--accent);letter-spacing:.08em}
.mini-rating strong{font-size:1rem}
.mini-rating small{color:#c9cbd2}
.mini-rating:hover,.mini-rating:focus-visible{border-color:var(--accent)}
.detailed-list{display:grid;gap:18px;padding-left:1.5rem}
.detailed-list li{padding-left:.35rem;line-height:1.7}
.event-area-link{margin-top:28px;color:#c9cbd2}
@media(max-width:760px){.review-proof-card{grid-template-columns:1fr;gap:26px}.review-proof-card .button{width:100%}.mini-rating{width:100%}}


/* Text card in the regional gallery */
.photo-card.info-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 26px 30px;
}
.photo-card.info-card h2 {
  margin: .55rem 0 .8rem;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1;
}
.photo-card.info-card p {
  margin: 0;
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.5;
}
@media (max-width: 600px) {
  .photo-card.info-card { padding: 26px; }
}


/* Hochzeits-DJ dropdown navigation */
.nav-dropdown { position: relative; }
.nav-dropdown-trigger { display: flex; align-items: center; gap: 3px; }
.submenu-toggle {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #d9dbe2;
  font: inherit;
  font-size: 1.05rem;
  cursor: pointer;
  transition: color .2s, background .2s, transform .2s;
}
.nav-dropdown:hover .submenu-toggle,
.nav-dropdown.open .submenu-toggle { color: var(--accent); }
.nav-dropdown.open .submenu-toggle { transform: rotate(180deg); }
.submenu {
  position: absolute;
  top: calc(100% + 10px);
  left: -18px;
  z-index: 40;
  display: grid;
  min-width: 230px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #11131a;
  box-shadow: 0 22px 50px rgba(0,0,0,.42);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s, visibility .18s, transform .18s;
}
.submenu::before {
  content: "";
  position: absolute;
  inset: -11px 0 auto;
  height: 11px;
}
.submenu a {
  padding: 10px 12px;
  border-radius: 10px;
  color: #f5f5f2;
  font-size: 1rem;
  line-height: 1.35;
}
.submenu a:hover,
.submenu a:focus-visible { background: #20232c; color: var(--accent); }
.nav-dropdown:hover .submenu,
.nav-dropdown:focus-within .submenu,
.nav-dropdown.open .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
@media (max-width: 900px) {
  .links.open .nav-dropdown { width: 100%; }
  .nav-dropdown-trigger { justify-content: space-between; }
  .submenu {
    position: static;
    display: none;
    min-width: 0;
    margin-top: 8px;
    padding: 8px;
    border-radius: 12px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .submenu::before { display: none; }
  .nav-dropdown:hover .submenu,
  .nav-dropdown:focus-within .submenu { display: none; }
  .nav-dropdown.open .submenu { display: grid; }
}

.location-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.location-card{display:flex;min-height:230px;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--panel);transition:transform .2s,border-color .2s}.location-card:hover,.location-card:focus-visible{transform:translateY(-3px);border-color:var(--accent)}.location-card span{display:none}.location-card h2{margin:auto 0 12px;color:var(--accent);font-size:2rem}.location-card p{margin:0 0 16px;color:var(--muted)}.location-card strong{font-size:.95rem}.location-planning{padding-top:36px}@media(max-width:900px){.location-directory{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.location-directory{grid-template-columns:1fr}.location-card{min-height:210px}}

.nav-dropdown+.nav-dropdown{margin-left:0}.article-body img,.portrait img,.gallery img{max-width:100%;height:auto}.review-link-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}@media(max-width:1180px) and (min-width:901px){.links{gap:12px}.links>a,.nav-dropdown-trigger>a{font-size:.92rem}}
