/* Основа: переменные, сброс, курсор, шапка */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:    #FFFFFF;
  --bg2:   #F2F2F2;
  --ink:   #100F0C;
  --red:   #D43C20;
  --amber: #BF7830;
  --muted: #8A8378;
  --faint: #C4BFAF;
  --line:  rgba(16,15,12,.1);
  --base-size: 18px;
}
html { font-size: var(--base-size); }
body { background: var(--bg); color: var(--ink); font-family: 'Barlow', sans-serif; cursor: none; overflow-x: hidden; }

/* ═══ CURSOR — adaptive color ═══ */
#cur {
  position: fixed; width: 10px; height: 10px;
  border-radius: 50%; pointer-events: none; z-index: 9000;
  transform: translate(-50%,-50%);
  transition: width .2s, height .2s, background .3s;
  background: var(--red);
}
#cur.on-dark { background: #fff; mix-blend-mode: normal; }
#cur.xl { width: 48px; height: 48px; opacity: 0.18; }
#cur.on-dark.xl { background: #fff; }

nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 800;
  padding: 24px 52px; display: flex; justify-content: space-between;
  align-items: center; pointer-events: none;
}
.n-switch {
  pointer-events: all; text-decoration: none; color: rgba(255,255,255,.7); font-size: .6rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; padding: 10px 16px; border: 1px solid rgba(255,255,255,.2);
  background: rgba(8,8,8,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background .2s, color .2s;
}
.n-switch:hover { background: var(--red); color: #fff; border-color: var(--red); }
.n-cta { margin-left: auto;
  background: var(--ink); color: var(--bg); font-size: .62rem;
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  padding: 11px 24px; text-decoration: none; transition: background .2s;
  pointer-events: all;
}
.n-cta:hover { background: var(--red); }
/* Общее меню сайта: кнопка справа от «Gespräch buchen» */
nav .sm-btn { margin-left: 10px; }
@media (max-width: 640px) { nav .n-switch { display: none; } }
