:root {
  --bg: #030c14; --surface: #13293e; --mid: #304c66; --slate: #4f677d;
  --accent: #247ba0; --light: #ebebeb; --white: #ffffff;
}
* { box-sizing: border-box; margin: 0; }
body {
  background: linear-gradient(160deg, var(--bg) 0%, var(--surface) 70%, var(--mid) 130%);
  color: var(--white); font-family: "Inter Tight", system-ui, sans-serif;
  min-height: 100vh; display: flex; flex-direction: column;
}
.hero { flex: 1; display: flex; flex-direction: column; justify-content: center;
  max-width: 880px; padding: 96px 32px 48px; margin: 0 auto; width: 100%; }
.kicker { color: #5db6dd; text-transform: uppercase; letter-spacing: .2em;
  font-size: 13px; font-weight: 600; margin-bottom: 20px; }
h1 { font-family: Anton, Impact, sans-serif; font-weight: 400; text-transform: uppercase;
  font-size: clamp(56px, 11vw, 124px); line-height: .95; letter-spacing: .01em; }
.sub { color: var(--light); font-size: clamp(16px, 2vw, 19px); line-height: 1.6;
  max-width: 560px; margin-top: 24px; }
.ctas { display: flex; gap: 16px; margin-top: 40px; flex-wrap: wrap; }
.btn { display: flex; flex-direction: column; gap: 2px; text-decoration: none;
  border-radius: 30px; padding: 16px 32px; font-weight: 600; font-size: 17px;
  transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.btn:hover { transform: translateY(-2px); }
.btn .meta { font-size: 12px; font-weight: 400; opacity: .75; }
.btn-primary { background: var(--accent); color: var(--white); }
.btn-primary:hover { background: #2d92bd; }
.btn-ghost { border: 1.5px solid var(--slate); color: var(--white); }
.btn-ghost:hover { border-color: var(--light); }
.partners { padding: 40px 32px 28px; border-top: 1px solid rgba(235,235,235,.12); }
.partners-label { text-align: center; color: var(--slate); font-size: 12px;
  text-transform: uppercase; letter-spacing: .18em; margin-bottom: 24px; }
.logo-row { display: flex; justify-content: center; align-items: center;
  gap: clamp(28px, 6vw, 64px); flex-wrap: wrap; }
.logo-row img { height: 26px; width: auto; opacity: .85; }
.logo-row img.logo-mid { height: 44px; }
.logo-row img.logo-tall { height: 64px; }
footer { text-align: center; padding: 20px; color: var(--slate); font-size: 13px; }
footer a { color: var(--slate); }
