/* styles.css - shared across all pages */
:root{
  --bg:#071028;
  --panel:#0f1724;
  --muted:#9aa7bf;
  --text:#e6eef8;
  --accent1:#7dd3fc;
  --accent2:#fbcfe8;
  --accent3:#ffd580;
  --glass: rgba(255,255,255,0.04);
  --radius:12px;
  --maxw:1100px;
  --footer-bg: rgba(255,255,255,0.03);
}

/* Page basics */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:
    radial-gradient(900px 400px at 10% 10%, rgba(125,211,252,0.04), transparent 8%),
    radial-gradient(700px 300px at 90% 90%, rgba(251,207,232,0.03), transparent 6%),
    var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding:28px;
}

/* Container max width */
.container { max-width: var(--maxw); margin: 0 auto; }

/* Reusable panels/cards */
.panel{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,0.03);
  padding:20px;
}

/* Headings & muted text */
.lead-muted{color:var(--muted)}
.muted{color:var(--muted)}

/* Logo box */
.logo-box{
  width:64px;height:64px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent1),var(--accent2));
  box-shadow:0 8px 30px rgba(0,0,0,0.6);
}

/* Fade-in reveal */
.fade-in { opacity:0; transform:translateY(8px); transition:opacity .6s ease, transform .6s ease; }
.fade-in.visible{ opacity:1; transform:none; }

/* Footer: high contrast and accessible */
.site-footer{
  color:var(--text);
  background:var(--footer-bg);
  padding:14px 18px;
  font-size:14px;
  border-top:1px solid rgba(255,255,255,0.04);
  border-radius:8px;
}
.site-footer .muted { color:#cbd5e1; }
.site-footer a { color: #ffffff; text-decoration:none; font-weight:600; }
.site-footer a:hover { text-decoration:underline; }

/* Small helpers */
.small-link{color:var(--muted); text-decoration:none}
.small-link:hover{text-decoration:underline}

/* Utility */
.text-muted-compact { color: var(--muted); font-size:13px; }

/* Hero caption: stronger and legible */
.hero-note {
  color: var(--text);
  opacity: 0.96;
  font-weight: 600;
  letter-spacing: 0.1px;
}

/* Responsive tweaks */
@media (max-width:768px){
  body{padding:18px}
  .logo-box{width:56px;height:56px}
}
