.home-page {
  background-color: #fafaf8;
}
.home-page main {
  background-image: linear-gradient(rgba(250,250,248,.28), rgba(250,250,248,.28)), url('hintergrund-startseite.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.home-page header { background: #fafaf8; }
.home-page .hero { background: rgba(250,250,248,.64); }
.home-page .welcome { background: rgba(233,228,218,.94); }
.home-page footer { background: #fafaf8; }
.wordmark { letter-spacing: -1px; }
.house-rules-document { margin: 32px 0 60px; }
.pdf-pages { width: 100%; height: 78vh; min-height: 480px; overflow: auto; padding: 24px; border: 1px solid #c6c2ba; background: #dedbd4; }
.pdf-pages img { display: block; width: 100%; max-width: 1000px; height: auto; margin: 0 auto 24px; box-shadow: 0 2px 8px #0002; }
@media(max-width:600px){.pdf-pages{padding:8px}.pdf-pages img{min-width:600px}}
.pdf-download { margin-top: 24px; }
.access-guide { margin: 34px 0 60px; }
.access-guide section { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(0, 2fr); gap: 28px 48px; padding: 36px; }
.access-guide section:first-child { background: #e9e4da; }
.access-guide section + section { border-top: 1px solid #c6c2ba; margin-top: 28px; }
.access-guide h2 { margin: 0; font-size: 32px; font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
.access-copy { max-width: 780px; }
.access-copy p { margin: 0 0 20px; font-size: 18px; line-height: 1.7; }
.access-copy p:last-child { margin-bottom: 0; }
@media(max-width:700px) { .access-guide section { grid-template-columns: 1fr; padding: 26px; gap: 22px; } .access-copy p { font-size: 16px; } }
.location-section { margin: 32px 0 55px; }
.address-card { padding: 30px 36px; background: #e9e4da; }
.address-card h2 { margin: 0 0 20px; font-size: 32px; font-weight: 400; letter-spacing: -.025em; }
.address-card address { font-style: normal; font-size: 18px; line-height: 1.75; }
.address-card strong { font-size: 23px; }
.location-details { display: grid; grid-template-columns: 1fr 1.6fr; gap: 32px 48px; }
.directions p { display: grid; grid-template-columns: 105px minmax(0,1fr); column-gap: 20px; margin: 0 0 12px; font-size: 18px; line-height: 1.75; }
.site-map { margin: 32px 0 0; }
.site-map img { display: block; width: 100%; height: auto; }
.site-map figcaption { margin-top: 12px; font-size: 14px; line-height: 1.6; color: #656159; }
.directions strong { font-size: inherit; }
@media (max-width:700px) { .location-details { grid-template-columns: 1fr; } }
.location-map { display: block; width: 100%; height: clamp(320px, 48vw, 510px); border: 0; margin-top: 24px; background: #e9e4da; }
.nav-button { font-size: 16px; font-weight: 600; }
.dropdown a, .menu-logout { font-size: 16px; font-weight: 500; }
.footer-brand { display: inline; }
@media (max-width:600px) {
  .nav-button { font-size: 15px; }
  .home-page main { background-position: 58% top; }
  .footer-brand { margin-left: 0; }
}
