:root {
  color-scheme: dark;
  --night: #08111f;
  --night-soft: #0f1728;
  --steel: #3e6e88;
  --lagoon: #2d4f68;
  --coral: #5ea7c6;
  --cloud: #eaf0f7;
}

* {
  box-sizing: border-box;
}

html {
  font-family: "Trebuchet MS", "Avenir Next", "Segoe UI", sans-serif;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(62, 110, 136, 0.24), transparent 26%),
    radial-gradient(circle at top right, rgba(45, 79, 104, 0.28), transparent 24%),
    linear-gradient(180deg, var(--night) 0%, var(--night-soft) 58%, #121b2d 100%);
  color: var(--cloud);
}

.hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background-image: url("./assets/crew-pools-bg.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 17, 31, 0.3) 0%, rgba(8, 17, 31, 0.62) 100%),
    radial-gradient(circle at top left, rgba(62, 110, 136, 0.32), transparent 30%),
    radial-gradient(circle at top right, rgba(45, 79, 104, 0.34), transparent 28%),
    linear-gradient(180deg, rgba(8, 17, 31, 0.48) 0%, rgba(15, 23, 40, 0.72) 58%, rgba(18, 27, 45, 0.85) 100%);
}

h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 1.5rem;
  color: #ffffff;
  font-size: clamp(3.4rem, 10vw, 7.5rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 0.95;
  text-transform: uppercase;
  text-align: center;
  text-shadow:
    0 0 26px rgba(94, 167, 198, 0.18),
    0 18px 48px rgba(8, 17, 31, 0.75);
}

::selection {
  background: rgba(94, 167, 198, 0.35);
}

@media (max-width: 640px) {
  h1 {
    letter-spacing: 0.05em;
  }
}
