/* Base layout */
html, body { margin:0; padding:0; height:100%; }
body {
  font-family: 'Sora', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color:#fff;
  display:flex; flex-direction:column; min-height:100vh;
  text-align:center; overflow-x:hidden;
}
/* Animated gradient background */
body::before {
  content:""; position:fixed; inset:0;
  background: linear-gradient(-45deg, #13355f, #2a5285, #1b4470, #133053);
  background-size:400% 400%; animation: gradientShift 40s ease infinite;
  z-index:-1;
}
@keyframes gradientShift {
  0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%}
}

/* Main wrapper */
main { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:32px 20px; }

/* Headings & copy */
h1 {
  margin:0 0 8px; font-weight:700; font-size:clamp(28px,4vw,44px); line-height:1.1;
  background: linear-gradient(180deg, #fff 0%, #cfe2ff 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
p { margin:0 auto 24px; max-width:720px; color:#cfd8e3; font-size:clamp(15px,2.1vw,18px); line-height:1.7; }

/* Hero */
.hero { position:relative; }
.hero::before {
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:400px; height:400px; background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
  border-radius:50%; z-index:-1;
}
.hero img { width:clamp(140px,20vw,220px); height:auto; display:block; margin:12px auto 28px; filter: drop-shadow(0 0 12px rgba(0,0,0,0.6)); }
.cta { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.cta img { height:54px; width:auto; display:block; }

/* Footer */
footer { text-align:center; padding:24px 16px; color:#c0ccdc; font-size:13px; line-height:1.6; position:relative; }
footer::before {
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background: linear-gradient(to right, transparent, rgba(255,255,255,.25), transparent); opacity:.5;
}
footer a { color:#4da3ff; text-decoration:none; font-weight:500; }
footer a:hover { text-decoration:underline; }
footer > *:not(:last-child)::after { content:" • "; opacity:.6; }

/* Content card for text-heavy pages (e.g., Privacy) */
.card {
  width:min(860px, 80vw);
  text-align:left;
  margin: 12px auto 8px;
  padding: clamp(18px, 3vw, 28px);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius:16px;
  backdrop-filter: blur(6px);
}
.card h1, .card h2, .card h3 { color:#ffffff; background:none; -webkit-background-clip:initial; color: #ffffff; }
.card h1 { font-size: clamp(24px, 3.6vw, 36px); margin-top:0; }
.card h2 { font-size: clamp(18px, 2.6vw, 22px); margin-top:20px; }
.card p, .card li { color:#cfd8e3; max-width: none; }
.card ul { padding-left: 1.2rem; }
.card > *:last-child {
  margin-bottom: 0;
}
