/* Gear Galaxy teaser. Colours from 01_brand (brand guide). Everything loads from this site: no outside fonts or scripts. */
@font-face {
  font-family: "Inter";
  src: url("fonts/inter.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --teal: #3FEDE7;
  --orange: #FEB446;
  --orange-deep: #FF7A1A;
  --navy: #0F121F;
  --deep: #07080D;
  --outline: #2E3550;
  --cream: #FFFCEE;
  --muted: #B8BDD6;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }

html { background: var(--deep); }

body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  color: var(--cream);
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(7, 8, 13, 0) 0%, rgba(7, 8, 13, 0.3) 70%, rgba(7, 8, 13, 0.7) 100%),
    url("space-1280.jpg") center / cover no-repeat fixed,
    var(--deep);
}

@media (min-width: 1400px) {
  body {
    background:
      radial-gradient(ellipse at 50% 40%, rgba(7, 8, 13, 0) 0%, rgba(7, 8, 13, 0.3) 70%, rgba(7, 8, 13, 0.7) 100%),
      url("space-1920.jpg") center / cover no-repeat fixed,
      var(--deep);
  }
}

a { color: var(--teal); text-underline-offset: 3px; }
a:hover { color: var(--cream); }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; border-radius: 6px; }

.skip {
  position: absolute; left: -9999px; top: 8px;
  background: var(--cream); color: var(--deep); padding: 8px 12px; border-radius: 8px;
}
.skip:focus { left: 16px; }

main {
  flex: 1;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 16px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.badge {
  display: inline-block;
  margin: 0 0 12px;
  padding: 6px 16px;
  border: 2px solid var(--teal);
  border-radius: 999px;
  color: var(--teal);
  background: rgba(15, 18, 31, 0.6);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

h1 { margin: 0; line-height: 0; }

.logo {
  width: min(520px, 82vw);
  height: auto;
  animation: float 7s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.tagline {
  margin: 8px 0 4px;
  font-size: clamp(1.25rem, 4.2vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -0.01em;
}
.tagline .t { color: var(--teal); }
.tagline .o { color: var(--orange); }

.lede {
  margin: 0 0 28px;
  max-width: 34em;
  color: var(--muted);
  font-size: clamp(1rem, 3vw, 1.125rem);
}

.follow h2, .contact h2 {
  margin: 0 0 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.links {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.links a {
  display: inline-block;
  min-width: 112px;
  padding: 10px 18px;
  border: 2px solid var(--outline);
  border-radius: 999px;
  background: rgba(15, 18, 31, 0.75);
  color: var(--cream);
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
}
.links a:hover { border-color: var(--orange); color: var(--orange); }

.contact p { margin: 0; color: var(--muted); }
.contact a { font-weight: 600; }

footer {
  padding: 16px;
  text-align: center;
  font-size: 0.85rem;
  color: var(--muted);
}
footer a { color: var(--muted); }
footer a:hover { color: var(--cream); }

/* Text pages (privacy, 404) */
.page {
  justify-content: flex-start;
  text-align: left;
  align-items: stretch;
}
.page .home { display: inline-block; margin-bottom: 24px; line-height: 0; }
.page .home img { width: 160px; height: auto; }
.page h1 { line-height: 1.2; font-size: clamp(1.6rem, 5vw, 2.2rem); margin-bottom: 16px; }
.page h2 { font-size: 1.1rem; margin: 28px 0 6px; color: var(--teal); }
.page p, .page li { color: var(--cream); }
.page ul { padding-left: 1.2em; }
.page .panel {
  background: rgba(15, 18, 31, 0.82);
  border: 2px solid var(--outline);
  border-radius: 16px;
  padding: 24px 20px;
}
.todo { background: var(--orange); color: var(--deep); padding: 0 4px; border-radius: 4px; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  .logo { animation: none; }
  .links a { transition: none; }
}
