:root{
  --bg:#0b0d10;
  --bg-2:#101317;
  --surface:#14181d;
  --surface-2:#1a1f25;
  --border:#23292f;
  --text:#e6e9ef;
  --muted:#8a93a0;
  --accent:#FF014F;
  --accent-2:#ff3a72;
  --radius:14px;
  --sidebar-w:260px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ===== Sidebar ===== */
.sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);
  background:linear-gradient(180deg,#0d1014, #0b0d10);
  border-right:1px solid var(--border);
  z-index:50;
}
.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:28px 22px}
.logo{display:flex;align-items:center;gap:10px;margin-bottom:48px}
.logo-mark{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;font-weight:700;display:grid;place-items:center;
}
.logo-text{font-weight:600;letter-spacing:.3px}
.nav{display:flex;flex-direction:column;gap:4px;flex:1}
.nav-link{
  padding:11px 14px;border-radius:10px;color:var(--muted);
  font-weight:500;font-size:.95rem;transition:.2s;
  position:relative;
}
.nav-link:hover{color:var(--text);background:var(--surface)}
.nav-link.active{color:var(--text);background:var(--surface)}
.nav-link.active::before{
  content:"";position:absolute;left:-22px;top:50%;transform:translateY(-50%);
  width:3px;height:22px;border-radius:2px;background:var(--accent);
}
.sidebar-footer{color:var(--muted);font-size:.8rem}
.socials{display:flex;gap:8px;margin-bottom:14px}
.socials a{
  width:34px;height:34px;border:1px solid var(--border);border-radius:8px;
  display:grid;place-items:center;font-size:.75rem;color:var(--muted);transition:.2s;
}
.socials a:hover{color:var(--accent);border-color:var(--accent)}

/* ===== Topbar (mobile) ===== */
.topbar{
  display:none;position:sticky;top:0;z-index:60;
  background:rgba(11,13,16,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  padding:14px 18px;justify-content:space-between;align-items:center;
}
.brand{font-weight:700}
.brand span{color:var(--accent)}
.hamburger{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);transition:.25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== Main ===== */
.main{margin-left:var(--sidebar-w);padding:64px 6vw;max-width:1280px}
.section{padding:40px 0;scroll-margin-top:80px}
.section-head{
  margin-bottom:28px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;
}
.section-head > div{max-width:852px}
.section-link{
  color:var(--accent);font-size:.9rem;font-weight:500;white-space:nowrap;
  border-bottom:1px solid transparent;transition:.2s;
}
.section-link:hover{border-color:var(--accent)}
.eyebrow{
  display:inline-block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:1.1;font-weight:600;letter-spacing:-.02em;margin-bottom:18px}
h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;letter-spacing:-.01em;margin-bottom:10px}
h3{font-size:1.1rem;font-weight:600;margin-bottom:8px;line-height:1.35}
.lead{color:var(--muted);font-size:1.1rem;max-width:560px}
.muted{color:var(--muted)}
.accent{color:var(--accent)}

/* ===== Hero ===== */
.hero{position:relative;padding:40px 0 30px;display:flex;align-items:center}
.hero-inner{position:relative;z-index:2;max-width:720px}
.cta-row{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.btn{
  padding:12px 22px;border-radius:10px;font-weight:500;font-size:.95rem;
  transition:.2s;border:1px solid transparent;display:inline-block;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-2)}
.btn-ghost{border-color:var(--border);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

.stats{display:flex;gap:48px;margin-top:36px;flex-wrap:wrap}
.stats div{display:flex;flex-direction:column}
.stats strong{font-size:1.8rem;font-weight:600;color:var(--text)}
.stats span{color:var(--muted);font-size:.85rem;margin-top:2px}

.hero-glow{
  position:absolute;top:-10%;right:-10%;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,1,79,.18),transparent 65%);
  filter:blur(10px);pointer-events:none;
}

/* ===== Filters ===== */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filter{
  padding:8px 16px;border:1px solid var(--border);border-radius:999px;
  color:var(--muted);font-size:.85rem;transition:.2s;background:var(--surface);
}
.filter:hover{color:var(--text);border-color:var(--accent)}
.filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ===== Cards ===== */
.cards{
  display:grid;gap:28px;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.cards.two-col{grid-template-columns:repeat(2,1fr)}
.cards.two-col .card-media{aspect-ratio:16/9}
.card-meta{
  display:flex;align-items:center;gap:10px;margin-bottom:8px;
  font-size:.75rem;color:var(--muted);
}
.card-meta .dot{width:3px;height:3px;background:var(--muted);border-radius:50%}
.card-date{color:var(--muted)}
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;transition:.3s;display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-4px);border-color:#2e353d;box-shadow:var(--shadow)}
.card-media{aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .card-media img{transform:scale(1.04)}
.card-body{padding:20px;display:flex;flex-direction:column;gap:6px;flex:1}
.tag{
  align-self:flex-start;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);margin-bottom:6px;
}
.card-body p{color:var(--muted);font-size:.92rem;flex:1}
.read-more{color:var(--accent);font-size:.88rem;font-weight:500;margin-top:10px}
.read-more:hover{color:var(--accent-2)}

/* Hidden card (filter) */
.card.hidden{display:none}

/* Course feature cards */
.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.courses-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.courses-full-grid .course-card{
  flex-direction:column;align-items:stretch;min-height:auto;
}
.courses-full-grid .course-image{height:200px}
.course-card{
  position:relative;border-radius:18px;overflow:hidden;
  min-height:340px;border:1px solid var(--border);
  display:flex;align-items:flex-end;isolation:isolate;
  transition:.3s;
}
.course-grid .course-card{
  flex-direction:column;align-items:stretch;min-height:auto;
}
.course-grid .course-image{height:200px}
.course-card::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center;transition:.5s;
}
.course-card::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,13,16,.2) 0%, rgba(11,13,16,.95) 90%);
}
.course-card:hover{transform:translateY(-4px);border-color:var(--accent)}
.course-card:hover::before{transform:scale(1.05)}
.course-1::before{background-image:url('https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=1200&q=75')}
.course-2::before{background-image:url('https://images.unsplash.com/photo-1551434678-e076c223a692?w=1200&q=75')}
.course-3::before{background-image:url('https://images.unsplash.com/photo-1633356122544-f134324ef6db?w=1200&q=75')}
.course-4::before{background-image:url('https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=1200&q=75')}
.course-5::before{background-image:url('https://images.unsplash.com/photo-1516321318423-f06f70674e90?w=1200&q=75')}
.course-6::before{background-image:url('https://images.unsplash.com/photo-1552664730-d307ca884978?w=1200&q=75')}
.course-image{width:100%;height:200px;object-fit:cover;display:block}
.course-content{padding:32px;width:100%}
.course-badge{
  display:inline-block;padding:5px 12px;border-radius:999px;
  background:var(--accent);color:#fff;font-size:.7rem;
  letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px;font-weight:500;
}
.course-card h3{font-size:1.5rem;margin-bottom:10px}
.course-card p{color:#c7ccd4;max-width:480px;margin-bottom:16px}
.course-info{display:flex;gap:18px;color:var(--muted);font-size:.85rem}

/* About */
.about-content{max-width:720px}
.about-content p{color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:16px}

.page-wrap{width:100%;max-width:860px;margin:0 auto;padding:32px 4px 80px}
.about-hero{align-items:start;width:100%}
.about-image{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow);object-fit:cover}
.about-callout{display:flex;gap:16px;background:rgba(255,1,79,.08);border:1px solid rgba(255,1,79,.18);border-radius:16px;padding:18px;margin:28px 0}
.about-callout-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:1.15rem}
.about-callout-body{color:var(--text);line-height:1.75}
.icon-list{list-style:none;padding:0;margin:24px 0 0}
.icon-list li{position:relative;padding-right:34px;color:var(--muted);margin-bottom:14px;line-height:1.8}
.icon-list li::before{content:'✔';position:absolute;right:0;top:0;color:var(--accent);font-size:1rem;line-height:1}

.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:20px}
.team-card{padding:32px;max-width:none;text-align:center;min-height:auto;display:flex;flex-direction:column}
.team-card .profile-img{width:160px;height:160px;object-fit:cover;border-radius:14px;margin:0 auto 20px;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.team-card h3{margin:16px 0 8px}
.team-card p{margin-bottom:12px}
.team-card p:last-child{margin-bottom:0}

.section-head--spaced{margin-top:40px}

.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:flex;align-items:center;gap:12px;color:var(--muted);margin-bottom:14px;line-height:1.7}
.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:rgba(255,1,79,.12);color:var(--accent);font-size:1rem}
.contact-card--wide{text-align:left;max-width:720px;padding:36px}

@media (max-width: 900px){
  .about-hero{display:block}
  .page-wrap{padding:24px 0 60px}
  .course-image{height:150px}
  .team-card .profile-img{width:140px;height:140px}
}


/* ===== Responsive ===== */
@media (max-width: 900px){
  .sidebar{
    transform:translateX(-100%);
    transition:transform .3s ease;
    width:280px;
    box-shadow:var(--shadow);
  }
  .sidebar.open{transform:translateX(0)}
  .topbar{display:flex}
  .main{margin-left:0;padding:8px 5vw 32px}
  .section{padding:32px 0}
  .hero{padding:20px 0}
  .stats{gap:28px}
  .stats strong{font-size:1.4rem}
  .cards.two-col{grid-template-columns:1fr}
  .course-grid{grid-template-columns:1fr;gap:18px}
  .courses-full-grid{grid-template-columns:repeat(2,1fr)}
  .courses-full-grid .course-image{height:150px}
  .course-card{min-height:280px}
  .course-content{padding:24px}
}

@media (max-width: 640px){
  .courses-full-grid{grid-template-columns:1fr}
  .courses-full-grid .course-image{height:120px}
  .contact-card{padding:28px 20px}
  .profile-img{width:100px;height:100px}
  .team-card .profile-img{width:120px;height:120px}
  .team-card{padding:24px}
  .urgency-grid{grid-template-columns:1fr}
  .course-image{height:120px}
}

/* ===== Urgency Cards (Consultation & Limited Seats) ===== */
.urgency-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:28px 0}
.urgency-card{
  padding:28px;border-radius:var(--radius);border:2px solid;
  display:flex;flex-direction:column;gap:12px;
  transition:.3s;
}
.urgency-card--consultation{
  background:rgba(255,1,79,.08);border-color:rgba(255,1,79,.3);
}
.urgency-card--consultation:hover{border-color:var(--accent);background:rgba(255,1,79,.12)}
.urgency-card--alert{
  background:rgba(255,140,0,.08);border-color:rgba(255,140,0,.3);
}
.urgency-card--alert:hover{border-color:#ff8c00;background:rgba(255,140,0,.12)}
.urgency-icon{
  font-size:2rem;line-height:1;margin-bottom:8px;
}
.urgency-card h3{
  font-size:1.15rem;margin:0;line-height:1.3;
}
.urgency-card p{
  margin:0;font-size:.95rem;color:var(--muted);line-height:1.6;
}
.urgency-detail{
  font-size:.9rem;color:var(--muted);opacity:.85;margin-top:4px;
}
.urgency-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 20px;border-radius:10px;font-weight:500;font-size:.95rem;
  transition:.2s;border:1px solid transparent;margin-top:8px;
  text-decoration:none;width:fit-content;
}
.urgency-card--consultation .urgency-btn{
  background:var(--accent);color:#fff;
}
.urgency-card--consultation .urgency-btn:hover{
  background:var(--accent-2);transform:translateY(-2px);
}
.urgency-card--alert .urgency-btn{
  background:#ff8c00;color:#fff;
}
.urgency-card--alert .urgency-btn:hover{
  background:#ffaa1a;transform:translateY(-2px);
}
.urgency-btn--secondary{
  background:transparent !important;border-color:currentColor !important;color:#ff8c00 !important;
}
.urgency-btn--secondary:hover{background:#ff8c00 !important;color:#fff !important}

@media (max-width:900px){
  .urgency-grid{grid-template-columns:1fr;gap:20px}
  .urgency-card{padding:24px}
}
