:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #faf9f6;
  color: #000;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
body { margin: 0; }
main {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 64px 24px;
}
.intro {
  text-align: center;
  animation: appear 900ms ease-out both;
}
h1 {
  margin: 0;
  font-size: clamp(80px, 15vw, 176px);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.075em;
}
.line { display: block; }
.line + .line { margin-top: .075em; }
.blue { color: #0071e3; }
.period { color: #000; }
p {
  margin: 34px 0 0;
  color: #777773;
  font-size: clamp(20px, 2.5vw, 25px);
  line-height: 1.4;
  letter-spacing: -.025em;
}
.connect {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 34px;
  padding: 14px 25px;
  border-radius: 999px;
  background: #0071e3;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}
.connect:hover { background: #0065cc; transform: translateY(-1px); }
.connect:active { transform: translateY(0); background: #005bb8; }
.connect:focus-visible { outline: 3px solid #000; outline-offset: 5px; }
@keyframes appear {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 400px) {
  h1 { font-size: clamp(60px, 19vw, 80px); }
  p { margin-top: 28px; }
  .connect { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .intro { animation: none; }
  .connect { transition: none; }
  .connect:hover { transform: none; }
}
