/* =========
   Base Theme
   ========= */
:root{
  --bg:#0b0e12;
  --panel:#131821;
  --text:#e5e7eb;
  --muted:#9fb3c8;
  --accent:#60a5fa;
  --link:#93c5fd;
  --border:#223045;
}

*{box-sizing:border-box}
html,body{
  margin:0; padding:0; background:transparent;
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
}

/* =========
   Layout
   ========= */
.container{max-width:1100px;margin:0 auto;padding:24px}

/* Sticky top nav */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(11,14,18,.70);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid rgba(34,48,69,.6);
}
.nav .container{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.nav a{
  color:var(--text); text-decoration:none; padding:10px 12px; border-radius:10px;
}
.nav a:hover{background:rgba(255,255,255,.06)}

/* Panels & cards sit translucently over video */
.panel{
  background:rgba(19,24,33,.60);
  border:1px solid rgba(34,48,69,.6);
  border-radius:16px;
  padding:20px; margin:16px 0;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{
  background:rgba(19,24,33,.60);
  border:1px solid rgba(34,48,69,.6);
  border-radius:14px; padding:18px;
}

/* Headings */
h1{margin:.2em 0 .4em;font-size:32px}
h2{margin:1.2em 0 .6em;font-size:24px}
h3{margin:1em 0 .4em;font-size:18px}

/* Links, code, tables */
a{color:var(--link)}
a:hover{text-decoration:underline}
pre,code{background:#0f1420;border:1px solid var(--border);border-radius:8px;padding:2px 6px}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid var(--border);padding:8px;text-align:left}

/* Forms */
input,textarea,select{
  width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);
  background:#0f1420;color:var(--text)
}
button{
  background:var(--accent);color:#0b0e12;border:none;padding:10px 14px;
  border-radius:10px;font-weight:600;cursor:pointer
}
button:hover{filter:brightness(1.08)}

/* Footer (readable, above video) */
footer{
  position:relative; z-index:10;
  padding:24px 0; text-align:center;
  color:#cbd5e1;
  background:rgba(11,14,18,.85);
  border-top:1px solid rgba(34,48,69,.6);
}

/* =========
   Video Backgrounds
   ========= */

/* Home page: bright, full-height video header */
.hero-vid{position:relative;min-height:100vh;display:flex;align-items:center}
.hero-vid .video-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-vid .video-bg video{
  position:absolute;top:50%;left:50%;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);object-fit:cover;
  opacity:.92; /* brighter on HOME */
}
.hero-vid .video-overlay{
  position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse at 30% 20%, rgba(10,14,18,.18), rgba(10,14,18,.52));
}

/* Inner pages: subdued fixed video behind everything */
.site-bg{position:fixed;inset:0;z-index:-2;overflow:hidden;background:#000}
.site-bg video{
  position:absolute;top:50%;left:50%;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);object-fit:cover;
  opacity:.28; /* subdued on inner pages */
}
.site-overlay{
  position:fixed;inset:0;z-index:-1;
  background:radial-gradient(ellipse at 30% 20%, rgba(10,14,18,.35), rgba(10,14,18,.85));
}

/* =========
   Hero fade-in polish
   ========= */
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.hero .fade-in{opacity:0;animation:fadeInUp .9s ease-out .15s forwards}
.hero .fade-in:nth-child(2){animation-delay:.25s}
.hero .fade-in:nth-child(3){animation-delay:.35s}

/* =========
   Responsive tweaks
   ========= */
@media (max-width:720px){
  .container{padding:20px}
  h1{font-size:28px}
  h2{font-size:22px}
  .nav .container{gap:8px}
  .nav a{padding:8px 10px}
}

