/* ── Reset ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base ── */
html, body {
  cursor: url("cursor.svg") 0 0, auto;
  background: #fff;
  color: #000;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: url("cursor.svg") 0 0, auto;
}

/* ────────────────────────────────────────
   ROW
   Height: 74px at 1728px → 4.28vw fluid
   Padding: 31px left / 32px right → vw
──────────────────────────────────────── */
.row {
  position: relative;
  width: 100%;
  height: clamp(44px, 4.28vw, 74px);
  display: flex;
  align-items: center;
  padding: 0 clamp(16px, 1.85vw, 32px);
}

/* ── Text shared ── */
.row-text {
  font-size: clamp(9px, 0.69vw, 12px);
  letter-spacing: -0.04em;
  line-height: 1;
  white-space: nowrap;
  font-style: normal;
  color: #000;
  user-select: none;
}

/* ── Row 1: logo row ── */
.row--logo {
  border-bottom: 1px solid #000;
}

.row--logo .logo {
  font-weight: 700;
}

/* MANIFESTO sits in the same row, pushed right */
.row--logo .manifesto {
  font-weight: 700;
  margin-left: auto;
}

/* ── Rows 2 & 3: nav rows ── */
.row--nav {
  cursor: url("cursor.svg") 0 0, auto;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.row--nav .row-text {
  font-weight: 500;
}

/* dot indicator — right side, hidden by default */
.row--nav::after {
  content: '';
  position: absolute;
  right: clamp(16px, 1.85vw, 32px);
  top: 50%;
  transform: translateY(-50%);
  width: clamp(6px, 0.46vw, 8px);
  height: clamp(6px, 0.46vw, 8px);
  border-radius: 333px;
  background: #191921;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.row--nav:hover::after {
  opacity: 1;
}
