:root{
  --ink:#0B1120;
  --ink-2:#121D33;
  --ink-3:#1B2A47;
  --paper:#EDF2F6;
  --card:#FFFFFF;
  --text:#10161F;
  --muted:#5B677A;
  --muted-light:#96A3B8;
  --line:#DCE3EA;
  --on-dark:#E9EFF6;

  --flame-1:#E4032E;
  --flame-2:#FF6A2C;
  --flame-3:#FFC229;
  --flame: linear-gradient(90deg, var(--flame-1) 0%, var(--flame-2) 55%, var(--flame-3) 100%);
  --teal:#0FB8B0;

  --radius:18px;
  --maxw:1180px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Hind Siliguri', sans-serif;
  background:var(--paper);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}

h1,h2,h3,h4,.display{
  font-family:'Baloo Da 2', 'Hind Siliguri', sans-serif;
  font-weight:700; letter-spacing:.2px; line-height:1.25;
}
.eyebrow{
  font-family:'Space Grotesk', sans-serif; font-size:12.5px; letter-spacing:3px;
  text-transform:uppercase; font-weight:600; color:var(--flame-2);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--flame); display:inline-block; border-radius:2px; }
.section-head{max-width:640px; margin-bottom:44px;}
.section-head p{color:var(--muted); font-size:17px; margin-top:14px; line-height:1.75;}
.flame-text{ background:var(--flame); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ===== Scroll progress spine ===== */
#spine{ position:fixed; top:0; right:22px; height:100vh; width:34px; z-index:60; display:flex; align-items:center; justify-content:center; pointer-events:none; }
#spine .track{ position:relative; width:2px; height:64vh; background:rgba(255,255,255,.12); border-radius:2px; }
#spine .fill{ position:absolute; left:0; top:0; width:100%; height:0%; background:var(--flame); border-radius:2px; transition:height .08s linear; }
#spine .node{ position:absolute; left:50%; width:9px; height:9px; border-radius:50%; background:var(--ink-2); border:2px solid rgba(255,255,255,.35); transform:translate(-50%,-50%); transition:.25s; }
#spine .node.on{ background:var(--flame-3); border-color:var(--flame-3); box-shadow:0 0 10px var(--flame-3); }
@media (max-width:980px){ #spine{display:none;} }

/* ===== Cursor interactions ===== */
#curGlow{
  position:fixed; top:0; left:0; width:520px; height:520px; border-radius:50%; pointer-events:none; z-index:40;
  background:radial-gradient(circle, rgba(255,106,44,.16), rgba(255,194,41,.07) 45%, transparent 72%);
  transform:translate(-50%,-50%); mix-blend-mode:screen; opacity:0; transition:opacity .35s ease; will-change:transform;
}
#curGlow.active{opacity:1;}
#curDot{
  position:fixed; top:0; left:0; width:9px; height:9px; border-radius:50%; background:var(--flame-3); pointer-events:none; z-index:41;
  transform:translate(-50%,-50%); opacity:0; transition:opacity .3s, transform .12s ease-out; box-shadow:0 0 12px var(--flame-3);
}
#curDot.active{opacity:1;}
.tilt{ transform-style:preserve-3d; transition:transform .35s ease, box-shadow .35s ease; will-change:transform; }
@media (hover:none), (pointer:coarse){ #curGlow, #curDot{ display:none; } }
@media (prefers-reduced-motion: reduce){ #curGlow, #curDot{ display:none; } .tilt{ transition:none; } }

/* ===== Nav ===== */
header{ position:sticky; top:0; z-index:50; background:rgba(11,17,32,.86); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08); }
nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:var(--maxw); margin:0 auto; }
.brand{display:flex; align-items:center; gap:10px;}
.brand img{height:34px; width:auto;}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{ color:var(--on-dark); font-size:15.5px; font-weight:500; position:relative; padding:6px 0; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--flame); transition:width .25s; }
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:16px;}
.btn{
  font-family:'Hind Siliguri', sans-serif; display:inline-flex; align-items:center; gap:8px;
  padding:12px 26px; border-radius:100px; font-weight:600; font-size:15.5px; cursor:pointer; border:none; transition:transform .2s, box-shadow .2s;
}
.btn-flame{ background:var(--flame); color:#1a0900; box-shadow:0 8px 24px -8px rgba(228,3,46,.55);}
.btn-flame:hover{ transform:translateY(-2px); box-shadow:0 12px 28px -8px rgba(228,3,46,.7);}
.btn-ghost{ background:transparent; color:var(--on-dark); border:1.5px solid rgba(255,255,255,.28);}
.btn-ghost:hover{ border-color:var(--flame-3); color:var(--flame-3);}
.btn-dark{ background:var(--ink); color:#fff; }
.btn-dark:hover{ transform:translateY(-2px); box-shadow:0 10px 22px -10px rgba(0,0,0,.5);}
.btn-outline{ background:#fff; color:var(--text); border:1.5px solid var(--line); }
.btn-outline:hover{ border-color:var(--flame-2); color:var(--flame-2); }
.btn-sm{ padding:9px 18px; font-size:13.5px; }
.hamburger{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:24px; height:2px; background:#fff; border-radius:2px;}

@media (max-width:980px){
  .nav-links{
    position:fixed; inset:64px 0 auto 0; background:var(--ink-2); flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 24px 20px; border-bottom:1px solid rgba(255,255,255,.1); transform:translateY(-130%); transition:transform .3s ease;
  }
  .nav-links.open{transform:translateY(0);}
  .nav-links a{width:100%; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06);}
  .nav-cta .btn-ghost{display:none;}
  .hamburger{display:flex;}
}

/* ===== Hero / Banner slider ===== */
.hero{ position:relative; background:var(--ink); color:var(--on-dark); overflow:hidden; }
.hero-grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:42px 42px; mask-image:radial-gradient(ellipse 90% 70% at 60% 20%, #000 30%, transparent 80%); z-index:1;
}
.hero-glow{
  position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(255,106,44,.3), transparent 65%);
  top:-220px; right:-160px; filter:blur(10px); pointer-events:none; transition:transform .3s ease-out; z-index:1;
}

.slider{ position:relative; height:clamp(220px, 32vw, 480px); }
.slide{
  position:absolute; inset:0; background-size:contain; background-repeat:no-repeat; background-position:center;
  background-color:var(--ink); opacity:0; transition:opacity .9s ease; display:flex; align-items:center;
}
.slide.active{opacity:1; z-index:2;}
.slide-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,17,32,.92) 10%, rgba(11,17,32,.55) 55%, rgba(11,17,32,.25) 100%); }
.slide-overlay-light{ background:linear-gradient(180deg, rgba(11,17,32,0) 75%, rgba(11,17,32,.35) 100%); }
.slide-content{ position:relative; z-index:2; max-width:640px; }
.slide h1{ font-size:clamp(30px,4.2vw,52px); color:#fff; }
.hero-sub{ margin-top:18px; font-size:17px; line-height:1.85; color:var(--muted-light); max-width:560px; }

.slide-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#fff; font-size:24px; cursor:pointer; backdrop-filter:blur(6px);
}
.slide-arrow:hover{background:var(--flame); border-color:transparent;}
.slide-arrow.prev{left:20px;} .slide-arrow.next{right:20px;}
.slide-dots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:3; display:flex; gap:9px; }
.slide-dots .dot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.35); border:none; cursor:pointer; transition:.25s; }
.slide-dots .dot.active{ width:26px; border-radius:5px; background:var(--flame); }
@media (max-width:700px){ .slide-arrow{display:none;} }

.hero-below{ position:relative; z-index:2; padding:44px 24px 60px; }
.hero-cta{display:flex; gap:16px; margin-top:20px; flex-wrap:wrap;}
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:38px; border-top:1px solid rgba(255,255,255,.12); padding-top:26px; }
.stat-row div{border-left:1px solid rgba(255,255,255,.12); padding-left:18px;}
.stat-row div:first-child{border-left:none; padding-left:0;}
.stat-num{ font-family:'Space Grotesk', sans-serif; font-size:clamp(20px,2.2vw,28px); font-weight:700; background:var(--flame); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-label{font-size:13.5px; color:var(--muted-light); margin-top:4px;}
@media (max-width:980px){ .stat-row{grid-template-columns:repeat(2,1fr); row-gap:20px;} .stat-row div:nth-child(3){border-left:none; padding-left:0;} }

.hero-panel-list{margin-top:18px; display:flex; flex-direction:column; gap:12px;}
.hero-panel-list li{ display:flex; align-items:center; gap:10px; font-size:15px; color:var(--on-dark); }
.hero-panel-list li .dot{ width:8px; height:8px; border-radius:50%; background:var(--flame); flex:none; }

/* ===== Marquee ===== */
.marquee-strip{ background:var(--ink-3); overflow:hidden; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.marquee-track{ display:flex; width:max-content; animation:scroll-left 32s linear infinite; }
.marquee-strip:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{ font-family:'Space Grotesk', sans-serif; font-size:15px; font-weight:500; color:var(--muted-light); padding:0 28px; white-space:nowrap; display:flex; align-items:center; gap:28px; }
.marquee-track span b{color:var(--flame-3); font-weight:600;}
@keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ===== Sections ===== */
section{padding:96px 0;}
.on-dark{background:var(--ink); color:var(--on-dark);}

/* ===== Why us ===== */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.why-card{background:var(--card); border-radius:var(--radius); padding:30px 24px; border:1px solid var(--line); transition:.25s;}
.why-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px -20px rgba(11,17,32,.25); border-color:transparent;}
.why-ico{ width:52px; height:52px; border-radius:14px; background:var(--flame); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.why-ico svg{width:26px; height:26px; stroke:#1a0900;}
.why-card h3{font-size:19px; margin-bottom:8px;}
.why-card p{color:var(--muted); font-size:14.5px; line-height:1.7;}
@media (max-width:980px){ .why-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .why-grid{grid-template-columns:1fr;} .hero-panel-list, .hero-cta{flex-wrap:wrap;} }

/* ===== Courses ===== */
.featured-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px;}
.featured-card{ position:relative; border-radius:22px; padding:30px; overflow:hidden; background:var(--ink); color:var(--on-dark); border:1px solid rgba(255,255,255,.08); }
.featured-card::before{ content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px; background:var(--flame); opacity:.18; border-radius:50%; filter:blur(30px); }
.featured-card .badge{ font-family:'Space Grotesk',sans-serif; font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; background:rgba(255,194,41,.14); color:var(--flame-3); border:1px solid rgba(255,194,41,.35); padding:5px 12px; border-radius:100px; display:inline-block; }
.featured-card h3{color:#fff; font-size:24px; margin-top:16px;}
.featured-card > p{color:var(--muted-light); margin-top:10px; font-size:15px; line-height:1.75;}
.featured-card details{margin-top:20px; position:relative; z-index:2;}
.featured-card summary{ cursor:pointer; list-style:none; font-weight:600; font-size:14.5px; display:flex; align-items:center; gap:8px; color:var(--flame-3); }
.featured-card summary::-webkit-details-marker{display:none;}
.featured-card summary .arrow{transition:transform .25s;}
.featured-card details[open] summary .arrow{transform:rotate(90deg);}
.curric{display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin-top:16px;}
.curric li{ font-size:14px; color:var(--on-dark); padding:8px 0 8px 20px; position:relative; border-bottom:1px dashed rgba(255,255,255,.1); }
.curric li::before{ content:""; position:absolute; left:0; top:15px; width:7px; height:7px; border-radius:50%; background:var(--flame); }
@media (max-width:900px){ .featured-grid{grid-template-columns:1fr;} .curric{grid-template-columns:1fr;} }

.course-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.course-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; transition:.25s;}
.course-card:hover{ border-color:transparent; box-shadow:0 18px 36px -20px rgba(11,17,32,.22); transform:translateY(-4px);}
.course-card .cico{ width:44px; height:44px; border-radius:12px; background:var(--paper); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.course-card .cico svg{width:22px; height:22px; stroke:var(--flame-1);}
.course-card h4{font-size:16.5px; margin-bottom:8px;}
.course-card p{font-size:13.5px; color:var(--muted); line-height:1.65;}
@media (max-width:900px){ .course-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .course-grid{grid-template-columns:1fr;} }

/* ===== Admission banner ===== */
.admission{ background:var(--flame); color:#1a0900; position:relative; overflow:hidden; }
.admission::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(0,0,0,.08) 1.5px, transparent 1.5px); background-size:16px 16px; opacity:.5; }
.admission .wrap{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-top:56px; padding-bottom:56px; }
.admission h2{font-size:clamp(24px,3vw,34px);}
.admission p{margin-top:10px; font-size:16px; font-weight:500; opacity:.85;}
.admission-calls{display:flex; gap:14px; flex-wrap:wrap;}
.admission-calls a{ background:#1a0900; color:#fff; padding:13px 22px; border-radius:100px; font-weight:600; font-size:15px; display:flex; align-items:center; gap:8px; font-family:'Space Grotesk',sans-serif; }
.admission-calls a:hover{ background:#000; }

/* ===== Contact ===== */
.contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:50px;}
.contact-cards{display:flex; flex-direction:column; gap:16px;}
.ccard{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 22px; display:flex; align-items:center; gap:16px; }
.ccard .ico{ width:44px; height:44px; border-radius:12px; flex:none; background:var(--flame); display:flex; align-items:center; justify-content:center; }
.ccard .ico svg{width:20px; height:20px; stroke:#1a0900;}
.ccard h4{font-size:15px;}
.ccard a, .ccard span{font-size:14px; color:var(--muted);}
.ccard a:hover{color:var(--flame-1);}

.form-card{background:#fff; border:1px solid var(--line); border-radius:22px; padding:34px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field label{font-size:13.5px; font-weight:600; color:var(--muted); margin-bottom:7px; display:block;}
.field input, .field select, .field textarea{
  width:100%; padding:13px 15px; border-radius:10px; border:1.5px solid var(--line); font-family:'Hind Siliguri',sans-serif;
  font-size:14.5px; background:var(--paper); outline:none; transition:.2s;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--flame-2); background:#fff;}
.field{margin-bottom:16px;}
.form-card .btn-flame{width:100%; justify-content:center; margin-top:6px;}
.alert{padding:13px 16px; border-radius:10px; font-size:14px; margin-bottom:18px;}
.alert.success{background:#EFFAF3; border:1px solid #BEE8CC; color:#1E7A3D;}
.alert.error{background:#FFF1F0; border:1px solid #FFC7C2; color:#B3261E;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }

.empty{color:var(--muted); font-size:14px; padding:30px 0; text-align:center;}

/* ===== Footer ===== */
footer{background:var(--ink); color:var(--muted-light); padding:60px 0 26px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.08);}
.foot-brand img{height:32px; margin-bottom:14px;}
.foot-brand p{font-size:14px; line-height:1.8; max-width:320px;}
.foot-social{display:flex; gap:10px; margin-top:18px;}
.foot-social a{ width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; transition:.2s; }
.foot-social a:hover{background:var(--flame); border-color:transparent;}
.foot-social svg{width:17px; height:17px; stroke:var(--on-dark);}
.foot-col h4{color:#fff; font-size:15px; margin-bottom:16px;}
.foot-col li{margin-bottom:10px; font-size:14.5px;}
.foot-col a:hover{color:var(--flame-3);}
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding-top:22px; font-size:13px; }
@media (max-width:820px){ .foot-grid{grid-template-columns:1fr; gap:30px;} }

/* ===== Video course catalog ===== */
.vcourse-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:900px){ .vcourse-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .vcourse-grid{grid-template-columns:1fr;} }
.vcourse-card{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:.25s; display:flex; flex-direction:column;}
.vcourse-card:hover{ border-color:transparent; box-shadow:0 18px 36px -20px rgba(11,17,32,.22); transform:translateY(-4px);}
.vcourse-card .thumb{width:100%; height:170px; object-fit:cover; background:var(--paper);}
.vcourse-card .body{padding:20px; display:flex; flex-direction:column; flex:1;}
.vcourse-card h3{font-size:16.5px; margin-bottom:8px;}
.vcourse-card p{font-size:13.5px; color:var(--muted); line-height:1.65; flex:1;}
.vcourse-price{display:flex; align-items:baseline; gap:8px; margin:14px 0;}
.vcourse-price .old{text-decoration:line-through; color:var(--muted-light); font-size:14px;}
.vcourse-price .now{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--flame-1);}

.vcourse-hero{background:var(--ink); color:var(--on-dark); padding:60px 0 50px;}
.vcourse-hero .wrap{display:grid; grid-template-columns:1.3fr 1fr; gap:44px; align-items:start;}
.vcourse-hero img{border-radius:18px; width:100%; aspect-ratio:16/9; object-fit:cover;}
.vcourse-hero h1{color:#fff; font-size:clamp(24px,3vw,34px); margin:14px 0;}
.vcourse-hero p{color:var(--muted-light); font-size:15.5px; line-height:1.8;}
.buy-box{background:var(--ink-2); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:26px;}
.buy-box .price{font-family:'Space Grotesk',sans-serif; font-size:30px; font-weight:700; color:#fff; margin-bottom:4px;}
.buy-box .price .old{font-size:16px; color:var(--muted-light); text-decoration:line-through; margin-right:8px; font-weight:500;}

.lesson-outline{list-style:none; margin:0; padding:0;}
.lesson-outline li{display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--line);}
.lesson-outline li:last-child{border-bottom:none;}
.lesson-outline .li-icon{width:30px; height:30px; flex:none; border-radius:50%; background:var(--paper); display:flex; align-items:center; justify-content:center;}
.lesson-outline .li-icon svg{width:14px; height:14px; stroke:var(--flame-1);}
.lesson-outline .li-title{flex:1; font-size:14.5px;}
.lesson-outline .li-badge{font-size:11.5px; font-weight:600; color:var(--muted);}
.lesson-outline .li-badge.free{color:var(--flame-1);}
.module-heading{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin:22px 0 4px;}

.reviews-list{margin-top:10px;}
.review-row{border-bottom:1px solid var(--line); padding:16px 0;}
.review-row:last-child{border-bottom:none;}
.review-row .stars{color:var(--flame-3); letter-spacing:2px; font-size:15px;}
.review-row .who{font-weight:600; font-size:14px; margin-top:4px;}
.review-row .cmt{font-size:13.5px; color:var(--muted); margin-top:4px; line-height:1.6;}

/* ===== Scroll reveal ===== */
.reveal{opacity:0; transform:translateY(16px); transition:opacity .45s ease, transform .45s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} .marquee-track{animation:none;} .reveal{opacity:1; transform:none; transition:none;} }

:focus-visible{ outline:2px solid var(--flame-3); outline-offset:3px; }
