* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #2d2a32;
  background: linear-gradient(160deg, #ffe8a3 0%, #ffb38a 55%, #ff8c94 100%);
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.hero {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 1.5rem 2rem;
}
.sun { font-size: 4rem; margin-bottom: 1rem; }
h1 { font-size: clamp(2.5rem, 7vw, 4.5rem); letter-spacing: -0.02em; }
.intro { max-width: 36rem; margin: 1.25rem auto 2rem; font-size: 1.2rem; line-height: 1.6; }
.button {
  background: #2d2a32; color: #fff; text-decoration: none;
  padding: 0.85rem 1.8rem; border-radius: 999px; font-weight: 600;
  transition: transform 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-2px); }
}
.about {
  background: rgba(255, 255, 255, 0.6);
  width: min(40rem, calc(100% - 2rem));
  margin: 0 auto 3rem; padding: 2rem;
  border-radius: 1rem; text-align: center;
}
.about h2 { margin-bottom: 0.5rem; }
footer { text-align: center; padding: 1.5rem; font-size: 0.9rem; opacity: 0.8; }
@media (max-width: 420px) {
  footer .dot { display: none; }
  footer .vibes { display: block; margin-top: 0.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}
