:root {
  --white: #ffffff;
  --red: #e0402a;
  --mono: 'IBM Plex Mono', 'SF Mono', Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }

html, body {
  height: 100%;
  overflow: hidden;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--red);
  font-family: var(--mono);
  -webkit-font-smoothing: antialiased;
}

.hero {
  height: 100vh;
  height: 100dvh;
  display: flex;
  align-items: center;
  padding: 0 6vw;
}

.hero-text {
  max-width: 640px;
}

.line {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.line.title {
  letter-spacing: 0.02em;
}

.line a {
  color: inherit;
  text-decoration: none;
}

.line a:hover {
  text-decoration: underline;
}

@media (max-width: 480px) {
  .line { font-size: 13px; line-height: 1.5; }
}

@media (max-height: 500px) {
  .line { font-size: 12px; line-height: 1.35; }
}
