.brand {
  text-decoration: none;
}

.brand > span:not(.mark) {
  display: none !important;
}

.mark {
  position: relative;
  width: 118px !important;
  height: 78px !important;
  flex: 0 0 118px;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url("../logo-acu-site.png") center / contain no-repeat !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  transform: perspective(220px) rotateX(0deg) rotateY(-7deg);
  transform-origin: center;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.38));
  transition: transform 0.35s ease, filter 0.35s ease, opacity 0.35s ease;
}

.mark::before {
  content: none !important;
  display: none !important;
}

.brand:hover .mark {
  transform: perspective(220px) rotateX(4deg) rotateY(0deg) translateY(-1px);
  filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.46));
}

@media (max-width: 640px) {
  .mark {
    width: 92px !important;
    height: 62px !important;
    flex-basis: 92px;
  }
}

/* Consistent topbar styling across all pages */
.topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 18px clamp(18px, 4vw, 56px) !important;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12) !important;
  background: rgba(var(--coal-rgb), 0.66) !important;
  overflow: hidden !important;
  contain: paint !important;
  isolation: isolate !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

@media (min-width: 821px) {
  .topbar {
    height: 118px !important;
    padding: 0 clamp(48px, 5vw, 76px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .topbar .brand {
    position: absolute !important;
    left: clamp(48px, 5vw, 76px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .topbar .main-nav {
    position: absolute !important;
    right: clamp(48px, 5vw, 76px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    gap: clamp(24px, 2.2vw, 42px) !important;
  }
}

/* Remove copper border and standardize hero sections */
.intro,
.portfolio-head,
.contact-hero {
  border-top: none !important;
  display: block !important;
  margin-top: var(--header-height) !important;
  padding: 48px clamp(18px, 5vw, 72px) 32px !important;
  text-align: center !important;
  min-height: auto !important;
}

/* Center all text content */
.eyebrow {
  margin-left: auto !important;
  margin-right: auto !important;
}

h1 {
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero-copy,
.intro p {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
}

/* Kontaktblock am Seitenende (NAP) — auf allen Unterseiten identisch */
.site-footer {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 40px clamp(18px, 5vw, 76px) 56px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: "Inter", "Avenir Next", sans-serif;
  font-size: 13px;
  line-height: 1.8;
}
.site-footer address { font-style: normal; max-width: 40em; }
.site-footer strong { color: var(--ink); font-weight: 700; letter-spacing: 0.04em; }
.site-footer a { white-space: nowrap; color: inherit; text-decoration: none; border-bottom: 1px solid var(--line); }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--ink); }
@media (max-width: 640px) { .site-footer { padding-bottom: 88px; } }
.vision-top .geo-summary { margin-top: 18px; }
