
/* =========================================================
   CYRTIX ACADEMY - STREAMS DETAILS v4.1
   Brand-aligned with design tokens
========================================================= */


/* ============= SECTION BASE ============= */

.section-spacing {
  padding-top: var(--cx-space-16);
  padding-bottom: var(--cx-space-16);
}

.section-spacing-lg {
  padding-top: var(--cx-space-24);
  padding-bottom: var(--cx-space-24);
}

.container {
  width: 100%;
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.bg-alt {
  background: var(--cx-surface-800);
}

.grid {
  display: grid;
  gap: var(--cx-space-6);
}



/* =============  SVG ICON SYSTEM  =================== */

.icon {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  margin-right: 6px;
}

.icon-sm {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  margin-right: 6px;
  vertical-align: -2px;
}

.icon-stat {
  width: 20px;
  height: 20px;
  stroke: var(--cx-cyan-400);
  margin-bottom: 6px;
  opacity: 0.9;
}

/* Mobile scaling */
@media (max-width: 640px) {
  .icon-stat {
    width: 18px;
    height: 18px;
  }
}

.icon-sm {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  margin-right: 6px;
  vertical-align: -2px;
}


/* ================= STREAM HERO (FINAL) ================= */

/* ========== HERO BASE ========== */
.stream-hero {
  position: relative;
  padding: 140px 0 80px; /* offset fixed header */
  min-height: calc(100vh - 80px);
  background-size: cover;
  background-position: center;
  color: #fff;
}


.stream-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(10,26,63,.92),
    rgba(10,26,63,.78)
  );
}

.stream-hero-inner {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}

/* ========== ICON SYSTEM ========== */
.icon,
.icon-sm,
.icon-stat {
  display: inline-block;
  stroke: currentColor;
  flex-shrink: 0;
}

.icon { width:16px; height:16px; }
.icon-sm { width:14px; height:14px; }
.icon-stat { width:20px; height:20px; color:var(--cx-cyan-400); }

/* ========== BADGES ========== */
.hero-badges {
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.badge {
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.badge-foundation { background:var(--cx-crimson-600); }
.badge-specialization { background:var(--cx-cyan-500); color:#081018; }
.badge-family {
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
}

/* ========== TITLE ========== */
.hero-title {
  font-size:clamp(36px,5vw,56px);
  font-weight:800;
  margin-bottom:12px;
}

.hero-subtitle {
  font-size:18px;
  color:var(--cx-cyan-300);
  max-width:760px;
  margin:0 auto 32px;
}

/* ========== INTENT ========== */
.hero-intent {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
  align-items: justify;
  margin-bottom:40px;
}

.intent-card {
  background:rgba(255,255,255,.06);
  padding:20px;
  border-radius:12px;
}

.intent-head {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cx-slate-400);
  margin-bottom:8px;
}

/* ========== STATS ========== */
.hero-stats {
  display:flex;
  flex-wrap: wrap;
  justify-content:center;
  gap:20px;
  margin-bottom:40px;
}

.stat {
  min-width: 140px;
  max-width: 180px;

  background:rgba(0,224,255,0.10);
  border:1px solid rgba(255,255,255,.2);
  border-radius:10px;
  padding:3px; 
  align-items:center;
}

.stat strong {
  font-size:28px;
  color:var(--cx-cyan-400);
}

.stat span {
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--cx-slate-400);
}

/* ========== NAV ========== */
.hero-nav {
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
}

.hero-nav a {
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-weight:600;
  text-decoration:none;
}

.hero-nav a:hover {
  background:var(--cx-cyan-500);
  color:#081018;
}


/* ================= STREAM OVERVIEW ================= */

.stream-overview {
  background: linear-gradient(
    180deg,
    var(--cx-slate-950) 0%,
    var(--cx-steel-950) 100%
  );
}

.overview-about {
  display: grid;
  align-items: center;
  justify-content: center;
  gap: var(--cx-space-6);
  margin: 0 auto;
  max-width:90%;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.overview-grid {
  display: grid;
  gap: var(--cx-space-6);
  margin: var(--cx-space-10);
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}



/* Cards */
.overview-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--cx-radius-xl);
  padding: var(--cx-space-6);
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.overview-card:hover {
  transform: translateY(-6px);
  border-color: var(--cx-grad-cyan);
  box-shadow: 0 12px 36px rgba(0,0,0,.35);
}

/* Icon */
.overview-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--cx-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--cx-space-4);
}

.icon-lg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
}

/* Title & text */
.overview-title {
  font-size: var(--cx-text-lg);
  font-weight: var(--cx-weight-bold);
  color: #fff;
  margin-bottom: var(--cx-space-6);
}

.overview-text {
  font-size: var(--cx-text-base);
  color: var(--cx-slate-300);
  line-height: 1.65;
}

/* Accent variants */
.overview-primary {
  border-color: var(--cx-crimson-soft);
}

.crimson-icon {
  background: rgba(210, 13, 111, 0.12);
  color: var(--cx-grad-crimson);
}

.cyan-icon {
  background: rgba(0, 224, 255, 0.12);
  color: var(--cx-electric-cyan);
}

.success-icon {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
}

.accent-icon {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
}

/* ================= CAREER PATHWAYS ================= */

.career-pathways {
  background: var(--cx-glass-dark);
}

/* Grid */
.pathway-grid {
  display: grid;
  align-items: center;
  justify-content: center;
  gap: var(--cx-space-6);
  margin: auto;
  max-width: 90%;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

/* Card */
.pathway-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--cx-radius-xl);
  padding: var(--cx-space-6);
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.pathway-card:hover {
  transform: translateY(-6px);
  border-color: var(--cx-crimson-500);
  box-shadow: 0 14px 42px rgba(0,0,0,.35);
}

/* Index */
.pathway-index {
  font-size: 28px;
  font-weight: 800;
  color: var(--cx-grad-crimson);
  opacity: .9;
  margin-bottom: var(--cx-space-4);
}

/* Content */
.pathway-title {
  font-size: var(--cx-text-xl);
  font-weight: var(--weight-bold);
  color: #fff;
  margin-bottom: var(--cx-space-3);
}

.pathway-summary {
  font-size: var(--cx-text-base);
  color: var(--cx-slate-300);
  line-height: 1.6;
  margin-bottom: var(--cx-space-4);
}

/* Blocks */
.pathway-block {
  margin-top: var(--cx-space-4);
}

.pathway-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cx-slate-400);
  margin-bottom: var(--cx-space-2);
}

.pathway-text {
  font-size: var(--cx-text-sm);
  color: var(--cx-slate-300);
  line-height: 1.6;
}

/* Footer */
.pathway-footer {
  margin-top: auto;
  padding-top: var(--cx-space-5);
}

.pathway-cta {
  font-weight: 700;
  font-size: var(--cx-text-sm);
  color: var(--cx-cyan-500);
  text-decoration: none;
}

.pathway-cta:hover {
  text-decoration: underline;
}

/* ================= PROGRAM LADDER ================= */

.program-ladder {
  background: var(--cx-surface-900);
}

/* Ladder Block */
.ladder-block {
  margin-top: var(--space-12);
}

/* Header */
.ladder-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: var(--space-6);
  gap: var(--space-6);
}

.ladder-title {
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  color: var(--cx-cyan-400);
}

.ladder-desc {
  font-size: var(--text-sm);
  color: var(--cx-slate-400);
  max-width: 520px;
}

.ladder-count {
  font-size: var(--text-xs);
  padding: 4px 10px;
  margin-top: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: var(--cx-slate-300);
}

/* Grid */
.ladder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-6);
}

/* Program Card */
.program-card {
  position: relative;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.01)
  );
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}

.program-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--cx-glow-cyan-soft);
}

/* Thumbnail */
.program-thumb {
  height: 160px;
  flex-shrink: 0;
  background: #0b1220;
  overflow: hidden;
}

.program-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.program-thumb-placeholder {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-sm);
  color: var(--cx-slate-400);
  background: linear-gradient(
    135deg,
    rgba(0,224,255,.15),
    rgba(210,13,111,.15)
  );
}

/* Badge */
.program-badge {
  position: absolute;
  margin: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.badge-cp { background: var(--cx-cyan-500); color:#081018; }
.badge-pd { background: var(--cx-crimson-500); }
.badge-ad { background: var(--cx-purple-500); }

/* Body */
.program-body {
  padding: var(--cx-space-5);
  flex: 1;
}

.program-title {
  font-size: var(--cx-text-lg);
  font-weight: var(--cx-weight-bold);
  color: #fff;
  margin-bottom: 6px;
}

.program-subtitle {
  font-size: var(--cx-text-sm);
  color: var(--cx-cyan-300);
  margin-bottom: 8px;
}

.program-summary {
  font-size: var(--cx-text-sm);
  color: var(--cx-slate-300);
  line-height: 1.6;
}

.program-meta {
  margin-top: var(--cx-space-3);
  display: flex;
  gap: 14px;
  font-size: var(--cx-text-xs);
  color: var(--cx-slate-400);
}

/* Footer */
.program-footer {
  padding: var(--cx-space-4);
  border-top: 1px solid rgba(255,255,255,.08);
  text-align: right;
}

.program-cta {
  font-weight: 600;
  color: var(--cx-cyan-400);
  text-decoration: none;
}

.program-cta:hover {
  text-decoration: underline;
}
/* ======================ROADMAP ==================  */
/* ---------- ROADMAP ---------- */
.roadmap {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
}

.roadmap::before {
  content: '';
  position: absolute;
  left: 1rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(
    to bottom,
    var(--cx-cyan-500),
    transparent
  );
}

.roadmap-item {
  position: relative;
  display: flex;
  gap: var(--cx-space-4);
  margin-bottom: var(--cx-space-8);
}

.roadmap-marker {
  width: 2rem;
  height: 2rem;
  background: var(--cx-surface-700);
  border: 2px solid var(--cx-cyan-500);
  border-radius: 50%;
  flex-shrink: 0;
  z-index: 1;
}

.roadmap-content {
  flex: 1;
  padding-top: var(--cx-space-1);
}

.roadmap-stage {
  margin-bottom: var(--cx-space-1);
  color: var(--cx-slate-100);
}


/* ================= LEARNING JOURNEY ================= */

.learning-journey {
  background: var(--cx-surface-800);
}

/* Timeline wrapper */
.journey-timeline {
  max-width: 820px;
  margin: var(--cx-space-12) auto 0;
  position: relative;
}

/* Vertical line */
.journey-timeline::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(
    to bottom,
    var(--cx-cyan-500),
    rgba(0,224,255,0.15)
  );
}

@media (max-width: 640px) {
  .journey-timeline::before {
    left: 12px;
  }
}

/* Step */
.journey-step {
  position: relative;
  display: flex;
  gap: var(--cx-space-6);
  margin-bottom: var(--cx-space-12);
}

/* Marker */
.journey-marker {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--cx-surface-900);
  border: 2px solid;
  z-index: 2;
}

/* Marker colors */
.journey-marker.cp { border-color: var(--cx-cyan-500); }
.journey-marker.pd { border-color: var(--cx-crimson-600); }
.journey-marker.ad { border-color: var(--cx-purple-600); }
.journey-marker.md { border-color: var(--cx-amber-500); }

/* Content */
.journey-content {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--cx-radius-lg);
  padding: var(--cx-space-6);
  transition: all .3s ease;
}

.journey-content:hover {
  border-color: var(--cx-cyan-500);
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,.35);
}

/* Text */
.journey-title {
  font-size: var(--cx-text-lg);
  font-weight: var(--cx-weight-bold);
  color: #fff;
  margin-bottom: var(--cx-space-2);
}

.journey-desc {
  font-size: var(--cx-text-sm);
  color: var(--cx-slate-300);
  line-height: 1.6;
  margin-bottom: var(--cx-space-3);
}

.journey-outcome {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--cx-cyan-400);
}

/* Responsive */
@media (max-width: 640px) {
  .journey-step {
    gap: var(--cx-space-4);
  }

  .journey-content {
    padding: var(--cx-space-5);
  }
}



/* ---------- CTA SECTION ---------- */
.cta-card {
  background: var(--cx-surface-800);
  border: 1px solid var(--cx-cyan-a20);
  padding: var(--cx-space-8);
  text-align: center;
}

.glow-cyan {
  box-shadow: var(--cx-glow-cyan-soft);
}

.cta-title {
  margin-bottom: var(--cx-space-3);
}

.cta-description {
  max-width: 500px;
  margin: 0 auto var(--cx-space-6);
  color: var(--cx-slate-300);
}

.cta-actions {
  display: flex;
  flex-wrap:wrap;
  gap: var(--cx-space-4);
  justify-content: center;
}

/* ---------- BUTTONS ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cx-space-2) var(--cx-space-4);
  font-weight: var(--cx-weight-medium);
  border-radius: var(--cx-radius-md);
  border: 1px solid transparent;
  transition: var(--cx-duration-base) var(--cx-ease-smooth);
  cursor: pointer;
  text-decoration: none;
}

.btn-sm {
  padding: var(--cx-space-1) var(--cx-space-3);
  font-size: var(--cx-text-sm);
}

.btn-primary {
  background: var(--cx-grad-cyan);
  color: var(--cx-steel-900);
  border: none;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--cx-glow-cyan-strong);
}

.btn-ghost {
  background: transparent;
  color: var(--cx-cyan-400);
  border: 1px solid var(--cx-cyan-a40);
}

.btn-ghost:hover {
  background: var(--cx-cyan-a10);
  border-color: var(--cx-cyan-500);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 768px) {
  .stream-stats-bar {
    flex-direction: column;
    gap: var(--cx-space-4);
    padding: var(--cx-space-3);
  }

  .stat-divider {
    width: 100%;
    height: 1px;
  }

  .pathways-grid,
  .featured-courses-grid,
  .courses-grid {
    grid-template-columns: 1fr;
  }

  .cta-actions {
    flex-direction: column;
  }

  .roadmap::before {
    left: 0.75rem;
  }
}

@media (max-width: 480px) {
  .stream-hero-section {
    min-height: 480px;
  }

  .section-spacing {
    padding: var(--cx-space-8) 0;
  }
}
