:root {
  --gradient-start: #a8d8f0;
  --gradient-end: #eaf6ff;
  --text-color: #16232e;
  --text-secondary: #1c3346;
  --text-muted: #284863;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  background: linear-gradient(160deg, var(--gradient-start), var(--gradient-end));
  transition: background 1.5s ease, color 1.5s ease;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.corner {
  position: fixed;
  top: clamp(1.25rem, 4vw, 2.5rem);
  left: clamp(1.25rem, 4vw, 2.5rem);
}

.main {
  padding-left: clamp(1.5rem, 6vw, 4rem);
  padding-right: clamp(1.5rem, 6vw, 4rem);
  max-width: 40rem;
}

.name {
  font-size: clamp(0.95rem, 1.4vw, 1.1rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--text-color);
  transition: color 1.5s ease;
}

.roles {
  font-size: clamp(0.75rem, 1.1vw, 0.85rem);
  font-weight: 400;
  color: var(--text-muted);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  transition: color 1.5s ease;
}

.tagline {
  font-size: clamp(0.75rem, 1.1vw, 0.85rem);
  font-weight: 400;
  color: var(--text-secondary);
  margin-top: 1.5rem;
  max-width: 32rem;
  transition: color 1.5s ease;
}

.cv {
  margin-top: 1.5rem;
}

.cv a {
  font-size: clamp(0.75rem, 1.1vw, 0.85rem);
  color: var(--text-muted);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 0.2s ease;
}

.cv a:hover {
  color: var(--text-color);
}
