:root {
  --charcoal: #1a1712;
  --charcoal-deep: #100e0b;
  --amber: #c17a3a;
  --amber-soft: #d9a35c;
  --cream: #f2ece1;
  --cream-muted: #a89c8a;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  background:
    radial-gradient(ellipse at 50% 30%, rgba(193, 122, 58, 0.08), transparent 60%),
    linear-gradient(180deg, var(--charcoal) 0%, var(--charcoal-deep) 100%);
  color: var(--cream);
  font-family: 'Inter', sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

/* dezentes Holzmaserungs-Rauschen */
body::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    95deg,
    rgba(255, 255, 255, 0.012) 0px,
    rgba(255, 255, 255, 0.012) 1px,
    transparent 1px,
    transparent 3px
  );
  pointer-events: none;
}

.page {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 5vh 6vw;
}

.logo-wrap {
  width: min(260px, 55vw);
  margin-bottom: clamp(28px, 5vh, 48px);
}

.logo-wrap svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.logo-fill {
  fill: var(--cream);
}

.sawblade-fill {
  fill: var(--cream-muted);
  transform-origin: 264.92px 192.83px;
  animation: spin 9s linear infinite;
  filter: drop-shadow(0 0 14px rgba(217, 163, 92, 0.35));
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--amber-soft);
  margin: 0 0 14px;
}

h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: clamp(2.2rem, 6vw, 3.6rem);
  letter-spacing: 0.02em;
  margin: 0 0 18px;
  color: var(--cream);
}

p.sub {
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--cream-muted);
  max-width: 420px;
  margin: 0 0 30px;
}

.divider {
  width: 46px;
  height: 1px;
  background: var(--amber);
  opacity: 0.6;
  margin: 0 0 30px;
}

.contact {
  font-size: 0.85rem;
  color: var(--cream-muted);
}

.contact a {
  color: var(--amber-soft);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.contact a:hover {
  border-color: var(--amber-soft);
}

@media (prefers-reduced-motion: reduce) {
  .sawblade-fill {
    animation: none;
  }
}