/* VOIS AICTE Oct2025 · Landing Page Styles
   Author: Aditya Yadav
   Notes: Modern, professional, fully responsive layout
*/
:root{
  --bg: #0b1020;
  --card: #121932;
  --elev: #0e1530;
  --brand: #5ad1e8;
  --brand-strong: #3cbdd8;
  --accent: #9b86f1;
  --text: #e6e9f2;
  --muted: #a9b0c7;
  --border: rgba(255,255,255,0.08);
  --success: #2dd4bf;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 80% -10%, rgba(90,209,232,0.10), transparent 60%),
              radial-gradient(800px 600px at -10% 20%, rgba(155,134,241,0.10), transparent 60%),
              var(--bg);
  line-height:1.6;
}
img{max-width:100%; display:block}
a{color:var(--brand)}

/* Containers */
.container{width:min(1120px, 92%); margin-inline:auto}
.section{padding:72px 0}
.section--alt{background:
  linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 30%),
  linear-gradient(0deg, rgba(255,255,255,.02), rgba(255,255,255,0) 30%)
}
.section h2{font-size:clamp(1.6rem, 1.1rem + 1.6vw, 2.2rem); margin:0 0 12px}
.section__lead{color:var(--muted); margin:0 0 32px}

/* Header / Nav */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(10px); background:rgba(11,16,32,.6); border-bottom:1px solid var(--border)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand__logo{display:inline-grid; place-items:center; width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg, var(--brand), var(--accent)); color:#081020; font-weight:800}
.brand__text{color:var(--text); font-weight:600; letter-spacing:.2px}
.nav__menu{display:flex; gap:20px}
.nav__menu a{color:var(--text); text-decoration:none; padding:8px 10px; border-radius:8px; transition:background .2s ease}
.nav__menu a:hover{background:rgba(255,255,255,.06)}
.nav__toggle{display:none; background:none; border:1px solid var(--border); color:var(--text); border-radius:10px; padding:8px 12px; font-size:18px}

/* Hero */
.hero{padding:72px 0}
.hero__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center}
.hero h1{font-size:clamp(2rem, 1.2rem + 2.6vw, 3rem); line-height:1.15; margin:0 0 12px}
.subtitle{color:var(--muted); margin:0 0 24px; max-width:60ch}
.cta-group{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-block; border-radius:12px; padding:12px 18px; text-decoration:none; font-weight:600; border:1px solid var(--border); transition:transform .04s ease, background .2s ease, border-color .2s ease}
.btn:active{transform:translateY(1px)}
.btn--primary{background:linear-gradient(135deg, var(--brand), var(--accent)); color:#0b1020; border-color:transparent}
.btn--primary:hover{filter:brightness(1.05)}
.btn--ghost{background:rgba(255,255,255,.04); color:var(--text)}
.btn--ghost:hover{background:rgba(255,255,255,.07)}
.nbviewer-hint{color:var(--muted); font-size:.95rem; margin-top:10px}
.hero__visual{display:grid; gap:16px}
.chart-card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; box-shadow:var(--shadow)}

/* Features */
.features__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.feature{background:var(--card); border:1px solid var(--border); padding:18px; border-radius:14px; box-shadow:var(--shadow)}
.feature__icon{font-size:22px; width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:rgba(90,209,232,.08); border:1px solid var(--border); margin-bottom:10px}
.feature h3{margin:6px 0 8px; font-size:1.05rem}
.feature p{color:var(--muted); margin:0}

/* Tech */
.tech__list{display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:12px 0 0; list-style:none}
.badge{display:inline-block; padding:8px 12px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.04); color:var(--text); font-weight:600}

/* Demo */
.demo__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.demo__card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; box-shadow:var(--shadow)}
.demo__card h3{margin:0 0 10px}
.demo__card p{color:var(--muted); margin:0 0 14px}

/* Contact */
.contact{display:grid; gap:12px}
.contact__actions{display:flex; gap:12px; flex-wrap:wrap}

/* Footer */
.site-footer{border-top:1px solid var(--border); padding:22px 0; color:var(--muted); text-align:center; background:rgba(0,0,0,.15)}

/* Responsive */
@media (max-width: 1024px){
  .hero__grid{grid-template-columns:1fr; gap:24px}
}
@media (max-width: 880px){
  .features__grid{grid-template-columns:repeat(2,1fr)}
  .demo__grid{grid-template-columns:1fr}
  .nav__toggle{display:block}
  .nav__menu{position:absolute; right:4%; top:62px; background:var(--elev); border:1px solid var(--border); border-radius:12px; padding:10px; display:none; flex-direction:column; gap:6px; width:min(280px, 92vw)}
  .nav__menu a{padding:10px 12px}
  .nav__menu.show{display:flex}
}
@media (max-width: 520px){
  .features__grid{grid-template-columns:1fr}
  .brand__text{display:none}
}
