/* Maja Jiranek — gemeinsames Grunddesign (Header, Footer, Basiselemente)
   Basiert auf dem Layout der Vita-Seite. Bei Änderungen an Menü oder
   Fußzeile bitte hier UND in allen Seiten-<head>s synchron halten,
   sofern das <style> dort nicht per <link> auf diese Datei verweist. */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #f7f5f1; }
body { color: #1b1a18; font-family: 'Cormorant Garamond', Georgia, serif; }
a { color: #1b1a18; text-decoration: none; }
a:hover { color: #c72121; }

.wrap { max-width: 1180px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }

/* Header / Navigation */
header.site { position: sticky; top: 0; z-index: 20; background: rgba(247,245,241,.92); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(27,26,24,.10); }
header.site .wrap { padding-top: 18px; padding-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand img { width: 44px; height: auto; display: block; mix-blend-mode: multiply; opacity: .9; }
.brand span { font-family: Montserrat, sans-serif; font-size: 11px; letter-spacing: .34em; text-transform: uppercase; }
nav.site { display: flex; gap: 34px; font-family: Montserrat, sans-serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }
nav.site a { padding-bottom: 3px; border-bottom: 1px solid transparent; }
nav.site a:hover { border-bottom-color: rgba(27,26,24,.35); }
nav.site a.active { border-bottom-color: #c72121; color: #c72121; }

/* Mobile menu toggle (hidden on desktop) */
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 6px; }
.nav-toggle span { display: block; width: 22px; height: 1px; background: #1b1a18; margin: 5px 0; }

/* Footer */
footer.site { border-top: 1px solid rgba(27,26,24,.12); background: #f2efe9; }
footer.site .wrap { padding-top: 34px; padding-bottom: 34px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; font-family: Montserrat, sans-serif; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
footer.site .links { display: flex; gap: 28px; }

/* Shared section helpers */
.section { padding: 90px 40px; }
.label { margin: 0 0 8px; font-family: Montserrat, sans-serif; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: rgba(27,26,24,.5); }
h1.page-title { margin: 0 0 40px; font-family: Montserrat, sans-serif; font-weight: 300; font-size: 44px; line-height: 1.15; letter-spacing: .2em; text-transform: uppercase; }

@media (max-width: 820px) {
  .wrap { padding-left: 22px; padding-right: 22px; }
  nav.site { gap: 18px; font-size: 10px; }
  header.site .wrap { flex-wrap: wrap; gap: 14px; }
  h1.page-title { font-size: 32px; }
}
