.sap{ display:block; }


.sap-hero__inner{ align-items: start; }
.sap-hero__col{ min-width:0; }


.sap-dash{
  background: var(--dark-bg);
  border: 1px solid var(--dark-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-dark);
}
.sap-dash__bar{
  display:flex; align-items:center; gap:8px;
  padding:12px 14px;
  background: var(--dark-bg-2);
  border-bottom:1px solid var(--dark-border);
}
.sap-dash__tab{
  margin-left:8px;
  font-family:var(--font-mono);
  font-size:12.5px;
  color: var(--dark-text-dim);
}
.sap-dash__body{ padding:20px; display:flex; flex-direction:column; gap:16px; }


.sap-dash__kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sap-kpi{
  background: var(--dark-bg-2);
  border:1px solid var(--dark-border);
  border-radius: var(--radius-sm);
  padding:12px 12px 10px;
  display:flex; flex-direction:column; gap:4px;
}
.sap-kpi__label{ font-family:var(--font-mono); font-size:11px; color:var(--dark-text-dim); }
.sap-kpi__value{ font-family:var(--font-display); font-size:19px; font-weight:700; color:var(--dark-text); }
.sap-kpi__delta{ font-family:var(--font-mono); font-size:11px; font-weight:700; }
.sap-kpi__delta--up{ color: var(--success-light); }
.sap-kpi__delta--down{ color: #FF8A94; }


.sap-dash__chart{
  background: var(--dark-bg-2);
  border:1px solid var(--dark-border);
  border-radius: var(--radius-sm);
  padding:14px;
}
.sap-bars{ width:100%; height:90px; display:block; overflow:visible; }
.sap-bars rect{ fill: var(--accent-light); opacity:.85; }
.sap-bars__trend{ fill:none; stroke: var(--success-light); stroke-width:2; }


.sap-dash__code{
  background: #0C0E16;
  border:1px solid var(--dark-border);
  border-radius: var(--radius-sm);
  padding:12px 14px;
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.7;
  color: var(--dark-text-dim);
}
.sap-dash__code-tag{ display:block; color:var(--accent-3); font-size:11px; margin-bottom:6px; }
.sap-dash__code code{ color: var(--success-light); }


.sap-trust{
  max-width: var(--container);
  margin: 34px auto 0;
  padding: 0 24px;
  display:flex; flex-wrap:wrap; gap:14px 26px;
}
.sap-trust__item{
  font-family: var(--font-mono);
  font-size:13px; font-weight:600;
  color: var(--text-dim);
}


.sap-outcomes{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sap-outcome{
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.sap-outcome:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card), 0 18px 34px -22px rgba(236, 72, 153, 0.28); border-color: var(--text-faint); }
.sap-outcome__tab{
  display:block;
  font-family: var(--font-mono);
  font-size:12.5px;
  padding:10px 14px;
  border-bottom:1px solid var(--border-soft);
  color: var(--text-dim);
  background: var(--bg-soft);
  border-left:3px solid var(--accent);
}
.sap-outcome__tab--fi{ border-left-color: #EC4899; }
.sap-outcome__tab--co{ border-left-color: #8B5CF6; }
.sap-outcome__tab--integration{ border-left-color: #10B981; }
.sap-outcome__tab--closing{ border-left-color: #F59E0B; }
.sap-outcome__body{ padding:18px 18px 20px; }
.sap-outcome__body h3{ font-size:18px; margin-bottom:6px; }
.sap-outcome__body p{ font-size:14px; margin:0; }


.sap-skillmap{
  position:relative;
  min-height: 420px;
  display:flex; align-items:center; justify-content:center;
}
.sap-skillmap__core{
  position:relative; z-index:2;
  width:150px; height:150px;
  border-radius:50%;
  background: linear-gradient(135deg, #EC4899, #DB2777);
  color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; line-height:1.3;
  box-shadow: 0 20px 50px -18px rgba(236, 72, 153, .55);
}
.sap-skillmap__nodes{
  position:absolute; inset:0;
  --r: 200px;
}
.sap-skillmap__nodes li{
  position:absolute;
  top:50%; left:50%;
  transform:
    rotate(calc(var(--i) * 36deg))
    translate(var(--r))
    rotate(calc(var(--i) * -36deg))
    translate(-50%,-50%);
  font-family: var(--font-mono);
  font-size:13px;
  font-weight:600;
  color: #EC4899;
  background: var(--bg-card);
  border:1px solid var(--border);
  padding:8px 14px;
  border-radius:999px;
  box-shadow: var(--shadow-sm);
  white-space:nowrap;
  transition: transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.sap-skillmap__nodes li:hover{
  color: #fff;
  background: linear-gradient(135deg, #EC4899, #DB2777);
  border-color: transparent;
  box-shadow: 0 8px 18px -8px rgba(236, 72, 153, .55);
  transform:
    rotate(calc(var(--i) * 36deg))
    translate(var(--r))
    rotate(calc(var(--i) * -36deg))
    translate(-50%,-50%) scale(1.06);
}


.sap-flow{
  display:grid;
  grid-template-columns: repeat(6,1fr);
  gap:2px;
  background: var(--border);
  border-radius: var(--radius-md);
  overflow:hidden;
  border:1px solid var(--border);
}
.sap-flow__step{
  background: var(--bg-card);
  padding:22px 16px;
  text-align:center;
  position:relative;
  transition: background .25s var(--ease);
}
.sap-flow__step:hover{ background: #FCE7F3; }
.sap-flow__step:not(:last-child)::after{
  content:"→";
  position:absolute; right:-11px; top:50%;
  transform:translateY(-50%);
  z-index:2;
  color: #fff;
  font-weight:700;
  background: linear-gradient(135deg, #EC4899, #DB2777);
  width:22px; height:22px; line-height:22px;
  border-radius:50%;
  border:1px solid var(--border);
  box-shadow: 0 4px 10px -4px rgba(236, 72, 153, .45);
}
.sap-flow__step--final{ background: linear-gradient(180deg, #FCE7F3, var(--bg-card) 60%); }
.sap-flow__num{ display:block; font-family:var(--font-mono); font-size:12px; color:var(--text-faint); margin-bottom:8px; }
.sap-flow__step h3{ font-size:15.5px; margin-bottom:6px; }
.sap-flow__tools{ font-family:var(--font-mono); font-size:11.5px; color:var(--text-faint); margin:0; }


.sap-why{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sap-why__item{
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:22px 20px;
  box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.sap-why__item:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card); border-color: var(--text-faint); }
.sap-why__icon{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px;
  border-radius: var(--radius-sm);
  background: linear-gradient(135deg, #FCE7F3, #FBCFE8);
  font-size:20px;
  margin-bottom:14px;
}
.sap-why__item h3{ font-size:16.5px; margin-bottom:6px; }
.sap-why__item p{ font-size:14px; margin:0; }


.sap-cert{ display:grid; grid-template-columns: 1fr 1.15fr; gap:32px; align-items:center; }
.sap-cert__doc{
  background: var(--dark-bg);
  border:1px solid var(--dark-border);
  border-radius: var(--radius-md);
  overflow:hidden;
  box-shadow: var(--shadow-dark);
}
.sap-cert__doc-head{
  display:flex; align-items:center; gap:8px;
  padding:12px 14px;
  background: var(--dark-bg-2);
  border-bottom:1px solid var(--dark-border);
}
.sap-cert__doc-tag{
  margin-left:8px;
  font-family:var(--font-mono);
  font-size:12.5px;
  color: var(--dark-text-dim);
}
.sap-cert__doc-body{
  padding:36px 28px 40px;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  background:
    radial-gradient(420px 200px at 50% 0%, rgba(236, 72, 153, .18), transparent 70%);
}
.sap-cert__doc-kicker{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color: #EC4899; }
.sap-cert__doc-name{ font-family:var(--font-display); font-weight:700; font-size:22px; color: var(--dark-text); }
.sap-cert__doc-issued{ font-size:13.5px; color: var(--dark-text-dim); }
.sap-cert__doc-seal{
  margin-top:10px;
  font-family:var(--font-mono); font-size:12px; font-weight:700;
  color: #10B981;
  border:1px solid var(--dark-border);
  background: var(--dark-bg-2);
  padding:6px 14px;
  border-radius:999px;
}
.sap-cert__points{ display:flex; flex-direction:column; gap:14px; counter-reset:cert; list-style:none; padding:0; margin:0; }
.sap-cert__points li{
  counter-increment:cert;
  position:relative;
  padding-left:38px;
  font-size:14.5px;
  color: var(--text-dim);
}
.sap-cert__points li::before{
  content: counter(cert);
  position:absolute; left:0; top:0;
  width:26px; height:26px;
  border-radius:50%;
  background: #FCE7F3;
  color: #EC4899;
  font-family:var(--font-mono); font-weight:700; font-size:12.5px;
  display:flex; align-items:center; justify-content:center;
}
.sap-cert__points li span{ display:block; font-family:var(--font-display); font-weight:600; color:var(--text); font-size:15px; }


.sap-alumni{ display:flex; flex-direction:column; gap:26px; }
.sap-alumni__companies{
  display:flex; flex-direction:column; gap:12px;
  align-items:center; text-align:center;
}
.sap-alumni__companies-label{
  font-family:var(--font-mono); font-size:12.5px; color: var(--text-faint);
}
.sap-alumni__chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }


.sap-projects{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sap-project{
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.sap-project:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card), 0 18px 34px -22px rgba(236, 72, 153, 0.28); }
.sap-project__mock{ background: var(--dark-bg); padding:14px; }
.sap-project__mock svg{ width:100%; height:110px; display:block; }
.sap-project__mock rect{ fill: #EC4899; }
.sap-project__row-bg{ fill: var(--dark-border); }
.sap-project__ring{ fill:none; stroke: var(--dark-border); stroke-width:10; }
.sap-project__ring--fg{ stroke: #EC4899; stroke-dasharray: 180 283; stroke-linecap:round; }
.sap-project__line{ fill:none; stroke: #EC4899; stroke-width:2.5; }
.sap-project__area{ fill: rgba(236, 72, 153, .12); stroke:none; }
.sap-project__body{ padding:20px; }
.sap-project__body h3{ font-size:18px; margin-bottom:10px; }
.sap-project__row{ font-size:13.5px; margin:0 0 8px; }
.sap-project__tools{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }


.sap-phase-num{
  font-family: var(--font-mono);
  color: #EC4899;
  font-weight:700;
  margin-right:8px;
}
.sap-curriculum__foot{ margin-top:26px; }


.sap-lab{ display:grid; grid-template-columns: 1.2fr 1fr; gap:32px; align-items:center; }
.sap-lab__terminal .terminal__body{ min-height:220px; }
.sap-lab__steps{ display:flex; flex-direction:column; gap:14px; counter-reset:step; }
.sap-lab__steps li{
  counter-increment:step;
  position:relative;
  padding-left:38px;
  font-size:14.5px;
  color: var(--text-dim);
}
.sap-lab__steps li::before{
  content: counter(step);
  position:absolute; left:0; top:0;
  width:26px; height:26px;
  border-radius:50%;
  background: #FCE7F3;
  color: #EC4899;
  font-family:var(--font-mono); font-weight:700; font-size:12.5px;
  display:flex; align-items:center; justify-content:center;
}
.sap-lab__steps li span{ display:block; font-family:var(--font-display); font-weight:600; color:var(--text); font-size:15px; }


.sap-ai-section{
  max-width:none !important;
  background: var(--dark-bg);
  position:relative;
  overflow:hidden;
}
.sap-ai-section::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(700px 300px at 15% 0%, rgba(236, 72, 153, .22), transparent 70%),
              radial-gradient(700px 300px at 90% 100%, rgba(16, 185, 129, .18), transparent 70%);
  pointer-events:none;
}
.sap-ai__inner{ max-width: var(--container); margin:0 auto; padding:88px 24px; position:relative; z-index:1; }
.sap-ai-section .section__kicker{ color: #EC4899; }
.sap-ai-section .section__title,
.sap-ai-section .section__sub{ color: var(--dark-text); }
.sap-ai-section .section__sub{ color: var(--dark-text-dim); }
.sap-ai__grid{ display:grid; grid-template-columns: auto 1fr; gap:28px; align-items:center; margin-top:8px; }
.sap-ai__tools{ display:flex; gap:10px; flex-wrap:wrap; }
.sap-ai__tools .chip{ background: var(--dark-bg-2); border-color: var(--dark-border); color: #EC4899; font-size:13px; padding:8px 14px; }
.sap-ai__caps{ display:flex; flex-wrap:wrap; gap:10px; }
.sap-ai__caps .tag{ background: var(--dark-bg-2); border-color: var(--dark-border); color: #10B981; }


.sap-career{ max-width:780px; }


.sap-support{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }


.sap-snapshot{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:1px;
  background: var(--border);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  overflow:hidden;
}
.sap-stat{
  background: var(--bg-card);
  padding:26px 18px;
  text-align:center;
  display:flex; flex-direction:column; gap:6px;
}
.sap-stat__value{ font-family:var(--font-display); font-weight:700; font-size:24px; color:#EC4899; }
.sap-stat__label{ font-family:var(--font-mono); font-size:12px; color:var(--text-faint); }


.sap-enroll{ display:flex; justify-content:center; }
.sap-enroll .price-card{ max-width:420px; width:100%; }
.sap-enroll__ctas{ display:flex; flex-direction:column; gap:10px; }


.sap-faq{ max-width:780px; }


.sap-sticky-cta{
  display:none;
  position:fixed; left:0; right:0; bottom:0;
  z-index:60;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background: var(--bg-card);
  border-top:1px solid var(--border);
  box-shadow: 0 -8px 24px rgba(20,23,34,0.10);
  transform: translateY(0);
  transition: transform .25s var(--ease);
}
.sap-sticky-cta.is-hidden{ transform: translateY(100%); }


@media (max-width: 980px){
  .sap-outcomes{ grid-template-columns: repeat(2,1fr); }
  .sap-flow{ grid-template-columns: repeat(3,1fr); }
  .sap-flow__step:nth-child(3)::after{ content:""; }
  .sap-projects{ grid-template-columns: repeat(2,1fr); }
  .sap-support{ grid-template-columns: repeat(2,1fr); }
  .sap-snapshot{ grid-template-columns: repeat(2,1fr); }
  .sap-lab{ grid-template-columns: 1fr; }
  .sap-ai__grid{ grid-template-columns: 1fr; }
  .sap-skillmap{ min-height:360px; }
  .sap-skillmap__nodes{ --r: 150px; }
  .sap-why{ grid-template-columns: repeat(2,1fr); }
  .sap-cert{ grid-template-columns: 1fr; }
  .sap-alumni__stats{ grid-template-columns: repeat(2,1fr); }
}


@media (max-width: 720px){
  .sap-dash__kpis{ grid-template-columns: repeat(3,1fr); gap:8px; }
  .sap-kpi__value{ font-size:16px; }
  .sap-outcomes{ grid-template-columns: 1fr; }
  .sap-flow{ grid-template-columns: 1fr; }
  .sap-flow__step:not(:last-child)::after{ content:"↓" !important; right:50% !important; top:auto !important; bottom:-11px !important; transform:translateX(50%) !important; }
  .sap-flow__step:last-child::after{ content:none !important; }
  .sap-projects{ grid-template-columns: 1fr; }
  .sap-support{ grid-template-columns: 1fr; }
  .sap-snapshot{ grid-template-columns: repeat(2,1fr); }
  .sap-why{ grid-template-columns: 1fr; }
  .sap-alumni__stats{ grid-template-columns: repeat(2,1fr); }
  .sap-alumni__companies{ align-items:stretch; }
  .sap-skillmap{ min-height: 320px; }
  .sap-skillmap__nodes{ --r: 118px; }
  .sap-skillmap__nodes li{ font-size:11.5px; padding:6px 10px; }
  .sap-skillmap__core{ width:120px; height:120px; font-size:14px; }


  .sap-sticky-cta{ display:block; }
  main > section:last-of-type{ padding-bottom: 110px; }


  .to-top{ bottom: calc(78px + env(safe-area-inset-bottom)); }
}


.sap > section:not(.sap-ai-section) {
  max-width: var(--container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}


.sap > section{
  margin-bottom: 48px;
}
.sap > section:last-of-type{
  margin-bottom: 0;
}


@media (max-width: 720px){
  .sap > section{
    margin-bottom: 28px;
  }
}


.sap-outcomes,
.sap-projects,
.sap-support {
  gap: 16px; 
}


.sap .section__title .hl{
  color: #EC4899;
}


/* Terminal styling for lab section */
.term-line { font-family: var(--font-mono); font-size: 12.5px; margin-bottom: 6px; }
.term-prompt { color: #10B981; font-weight: 700; }
.term-out { color: var(--dark-text-dim); }
.term-ok { color: #10B981; }
.term-cursor {
  display: inline-block;
  width: 8px;
  height: 14px;
  background: #10B981;
  margin-left: 2px;
  animation: blink 1s step-end infinite;
  vertical-align: middle;
}
@keyframes blink {
  50% { opacity: 0; }
}