/* ============================================================
   LEARNBAY — Program Detail Pages
   Shared styles for all 6 program pages
   ============================================================ */

/* ── Breadcrumb ───────────────────────────────────────── */
.breadcrumb {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:12.5px; color:var(--t-faint); margin-bottom:var(--s4);
  padding-top:96px; /* nav offset */
}
.breadcrumb a { color:var(--t-dim); transition:color var(--t1); }
.breadcrumb a:hover { color:var(--white); }
.breadcrumb span { color:var(--t-faint); }

/* ── Program Hero ─────────────────────────────────────── */
.pg-hero {
  background:var(--bg); padding-bottom:0; min-height:100vh;
  display:flex; flex-direction:column;
}
.pg-hero__grid {
  flex:1; max-width:var(--mw); margin:0 auto; padding:0 var(--pad) var(--s9);
  display:grid; grid-template-columns:1fr 380px; gap:var(--s8); align-items:start;
  padding-top:var(--s5);
}
.pg-hero__content { padding-top:var(--s3); }

.pg-hero__badges {
  display:flex; gap:8px; flex-wrap:wrap; margin-bottom:var(--s4);
}
.pg-badge {
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--bd-dk2); border-radius:2px; padding:4px 12px;
  color:var(--t-dim);
}
.pg-badge--gold { border-color:rgba(196,154,44,.35); color:var(--gold-lt); }
.pg-badge--blue { border-color:rgba(30,79,204,.4); color:rgba(100,140,255,.9); }

.pg-hero__title {
  font-family:var(--display); font-size:clamp(44px,6vw,78px);
  font-weight:600; line-height:1.0; letter-spacing:-.025em;
  color:var(--white); margin-bottom:var(--s4);
}
.pg-hero__title em {
  font-style:italic; color:var(--gold-lt);
}
.pg-hero__desc {
  font-size:17px; color:var(--t-dim); line-height:1.8;
  max-width:560px; margin-bottom:var(--s6);
}
.pg-hero__actions { display:flex; gap:14px; flex-wrap:wrap; }

/* Sticky enrollment card */
.pg-enroll-card {
  background:var(--surface); border:1px solid var(--bd-dk2); border-radius:8px;
  padding:var(--s6); position:sticky; top:88px;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.pg-fee {
  font-family:var(--display); font-size:42px; font-weight:600;
  color:var(--white); letter-spacing:-.02em; line-height:1;
  margin-bottom:4px;
}
.pg-fee small {
  font-family:var(--body); font-size:14px; font-weight:400;
  color:var(--t-faint); letter-spacing:0;
}
.pg-fee-note { font-size:12px; color:var(--t-faint); margin-bottom:var(--s4); }
.pg-card-feats {
  margin-bottom:var(--s5); border-top:1px solid var(--bd-dk); padding-top:var(--s4);
}
.pg-card-feats li {
  display:flex; align-items:center; gap:10px; padding:7px 0;
  border-bottom:1px solid var(--bd-dk);
  font-size:13.5px; color:var(--t-dim);
}
.pg-card-feats li::before {
  content:''; width:16px; height:16px; flex-shrink:0;
  background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='7' stroke='%231E4FCC' stroke-width='1.5'/%3E%3Cpath d='M5 8l2 2 4-4' stroke='%231E4FCC' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-size:contain;
}
.pg-enroll-card .btn { margin-bottom:10px; }
.pg-card-emi {
  text-align:center; font-size:12px; color:var(--t-faint); margin-top:var(--s2);
}

/* Metrics bar */
.pg-metrics {
  display:grid; grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--bd-dk);
  background:rgba(255,255,255,.018);
}
.pg-metric {
  padding:22px var(--pad); border-right:1px solid var(--bd-dk);
  display:flex; flex-direction:column; gap:4px; text-align:center;
}
.pg-metric:last-child { border-right:none; }
.pg-metric strong {
  font-family:var(--display); font-size:28px; font-weight:600;
  color:var(--white); letter-spacing:-.02em; line-height:1;
}
.pg-metric span {
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--t-faint);
}

/* ── Program content layout ───────────────────────────── */
.pg-body { padding:0 0 var(--s11); }
.pg-section {
  padding:var(--s10) 0;
  border-bottom:1px solid var(--bd-lt);
}
.pg-section:last-child { border-bottom:none; }
.pg-section--dark {
  background:var(--bg-2);
  border-bottom:1px solid var(--bd-dk);
}
.pg-section--light { background:var(--light); }

.pg-inner { max-width:var(--mw); margin:0 auto; padding:0 var(--pad); }
.pg-sec-head { margin-bottom:var(--s7); }
.pg-sec-head .eyebrow { color:var(--blue); }
.pg-sec-head--dk .eyebrow { color:var(--gold-lt); }
.pg-sec-head .section-title { font-size:clamp(30px,4vw,48px); }
.pg-sec-head p {
  font-size:16px; color:var(--ash); max-width:560px; line-height:1.75; margin-top:12px;
}

/* ── Curriculum Accordion ─────────────────────────────── */
.acc-list { display:flex; flex-direction:column; gap:0; border:1px solid var(--bd-lt); border-radius:6px; overflow:hidden; }
.acc-item { border-bottom:1px solid var(--bd-lt); }
.acc-item:last-child { border-bottom:none; }
.acc-toggle {
  width:100%; display:grid; grid-template-columns:64px 1fr auto;
  gap:var(--s3); align-items:center; padding:var(--s5) var(--s6);
  background:var(--white); border:none; text-align:left;
  transition:background var(--t1);
}
.acc-toggle:hover { background:var(--light); }
.acc-item.open .acc-toggle { background:var(--light); }

.acc-term {
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--blue); background:rgba(30,79,204,.08);
  padding:4px 8px; border-radius:2px; white-space:nowrap;
}
.acc-title { font-family:var(--display); font-size:20px; font-weight:600; color:var(--ink); text-align:left; }
.acc-meta {
  display:flex; align-items:center; gap:var(--s3); flex-shrink:0;
}
.acc-dur { font-size:12px; font-weight:600; color:var(--ash); white-space:nowrap; }
.acc-icon {
  width:24px; height:24px; border:1px solid var(--bd-lt); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:transform var(--t2) var(--ease), background var(--t1);
}
.acc-icon svg { width:12px; height:12px; }
.acc-item.open .acc-icon { transform:rotate(45deg); background:var(--blue); border-color:var(--blue); }
.acc-item.open .acc-icon svg path { stroke:white; }

.acc-body {
  max-height:0; overflow:hidden;
  transition:max-height .45s var(--ease);
  background:var(--white);
}
.acc-body-inner {
  padding:0 var(--s6) var(--s6);
  display:grid; grid-template-columns:1fr 1fr;
  gap:var(--s3) var(--s7);
  padding-left:calc(64px + var(--s6) + var(--s3));
}
.acc-topic {
  display:flex; align-items:flex-start; gap:8px;
  font-size:14px; color:var(--charcoal); line-height:1.5;
}
.acc-topic::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--blue); margin-top:6px; flex-shrink:0;
}

/* ── Tools grid ───────────────────────────────────────── */
/* Dark glass curriculum style for all program pages */
#curriculum.white-section {
  background:
    radial-gradient(circle at 18% 0%, rgba(79,70,229,.16), transparent 34%),
    radial-gradient(circle at 84% 12%, rgba(6,182,212,.13), transparent 30%),
    #050505;
  border-bottom:1px solid rgba(255,255,255,.08);
}
#curriculum .pg-inner {
  position:relative; overflow:hidden; max-width:1500px;
  padding:var(--s8); border-radius:32px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0), rgba(255,255,255,.10)),
    #030303;
  box-shadow:0 28px 90px rgba(0,0,0,.42);
}
#curriculum .pg-inner::before {
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(135deg, rgba(99,102,241,.10), rgba(168,85,247,.05), rgba(6,182,212,.10));
  opacity:.3;
}
#curriculum .pg-inner::after {
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to top, #000, rgba(0,0,0,.82), rgba(0,0,0,.44));
}
#curriculum .pg-sec-head,
#curriculum .acc-list { position:relative; z-index:1; }
#curriculum .pg-sec-head {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--s6);
  align-items:end; margin-bottom:var(--s7); padding-bottom:var(--s5);
}
#curriculum .pg-sec-head .eyebrow {
  order:2; color:#22d3ee; font-size:14px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; justify-self:end;
}
#curriculum .pg-sec-head .eyebrow::before { content:'// '; color:rgba(255,255,255,.5); }
#curriculum .pg-sec-head .section-title {
  order:1; margin:0; color:#fff; font-family:var(--body);
  font-size:clamp(54px,8vw,132px); font-weight:900;
  line-height:.82; letter-spacing:-.055em; text-transform:uppercase;
}
#curriculum .pg-sec-head p {
  order:3; grid-column:2; justify-self:end;
  max-width:430px; margin:0; color:rgba(255,255,255,.68);
  font-size:18px; font-weight:300; line-height:1.65; text-align:right;
}
#curriculum .acc-list {
  gap:0; border:0; border-top:1px solid rgba(255,255,255,.10);
  border-radius:0; overflow:visible;
}
#curriculum .acc-item {
  border-bottom:1px solid rgba(255,255,255,.10);
  border-radius:12px; overflow:hidden; transition:background var(--t1);
}
#curriculum .acc-item:hover,
#curriculum .acc-item.open { background:rgba(255,255,255,.05); }
#curriculum .acc-toggle {
  grid-template-columns:10px minmax(72px,auto) 1fr auto;
  gap:var(--s4); padding:var(--s5) var(--s6);
  background:transparent; color:#fff;
}
#curriculum .acc-toggle::before {
  content:''; width:6px; height:6px; border-radius:50%; align-self:start; margin-top:8px;
  background:#22d3ee;
  box-shadow:0 10px 0 #22d3ee, 0 20px 0 rgba(255,255,255,.28), 0 30px 0 rgba(255,255,255,.28);
  opacity:.8;
}
#curriculum .acc-toggle:hover,
#curriculum .acc-item.open .acc-toggle { background:transparent; }
#curriculum .acc-term {
  color:#22d3ee; background:transparent; padding:0; border-radius:0;
  letter-spacing:.14em;
}
#curriculum .acc-title {
  font-family:var(--body); font-size:clamp(20px,2vw,28px); font-weight:500;
  color:#fff; transition:color var(--t1);
}
#curriculum .acc-item:hover .acc-title,
#curriculum .acc-item.open .acc-title { color:#22d3ee; }
#curriculum .acc-meta { color:rgba(255,255,255,.52); }
#curriculum .acc-dur { color:rgba(255,255,255,.52); font-weight:500; }
#curriculum .acc-icon {
  width:28px; height:28px; border:0; color:rgba(255,255,255,.55);
  background:transparent;
}
#curriculum .acc-icon svg { width:16px; height:16px; }
#curriculum .acc-icon svg path { stroke:currentColor; }
#curriculum .acc-item.open .acc-icon {
  background:transparent; border-color:transparent; color:#22d3ee;
}
#curriculum .acc-body { background:transparent; }
#curriculum .acc-body-inner {
  padding:0 var(--s6) var(--s6);
  grid-template-columns:1fr 1fr; gap:var(--s3) var(--s7);
  padding-left:calc(10px + 72px + var(--s6) + var(--s4) + var(--s4));
}
#curriculum .acc-topic { gap:10px; color:rgba(255,255,255,.70); }
#curriculum .acc-topic::before { background:#22d3ee; margin-top:7px; }
#curriculum .acc-list--updated + .acc-list { display:none; }

.tools-grid {
  display:flex; flex-wrap:wrap; gap:10px;
}
.tool-tag {
  display:inline-flex; align-items:center;
  padding:8px 16px; border-radius:3px;
  font-size:13px; font-weight:600; letter-spacing:.02em;
  border:1px solid var(--bd-lt); color:var(--charcoal); background:var(--white);
  transition:border-color var(--t1), color var(--t1), transform var(--t2);
}
.tool-tag:hover { border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }
.tool-tag--primary {
  background:rgba(30,79,204,.08); border-color:rgba(30,79,204,.3); color:var(--blue);
}
.tools-marquee {
  display:flex; flex-direction:column; gap:18px; overflow:hidden;
  padding:10px 0; position:relative;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.tools-marquee__row {
  width:100%; overflow:hidden;
}
.tools-marquee__track {
  width:max-content; display:flex; align-items:stretch; gap:16px;
  animation:toolsMarqueeLeft 34s linear infinite;
  will-change:transform;
}
.tools-marquee__row--right .tools-marquee__track {
  animation-name:toolsMarqueeRight;
  animation-duration:38s;
}
.tools-marquee:hover .tools-marquee__track {
  animation-play-state:paused;
}
.tool-logo-card {
  width:148px; min-height:118px; flex:0 0 148px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  border:1px solid rgba(0,0,0,.1); border-radius:16px; padding:18px 14px;
  background:
    radial-gradient(circle at 25% 0%, rgba(37,99,235,.09), transparent 34%),
    linear-gradient(180deg, #fff, #f7f7f8);
  box-shadow:0 12px 30px rgba(0,0,0,.07), inset 0 1px 0 rgba(255,255,255,.9);
}
.tool-logo-card--primary {
  border-color:rgba(37,99,235,.22);
  box-shadow:0 14px 34px rgba(37,99,235,.11), inset 0 1px 0 rgba(255,255,255,.95);
}
.tool-logo-card__mark {
  width:52px; height:52px; display:grid; place-items:center;
  border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.tool-logo-card__img,
.tool-logo-card__mark svg {
  width:34px; height:34px; display:block; object-fit:contain;
}
.tool-logo-card__fallback { display:none; }
.tool-logo-card__mark.is-fallback {
  background:transparent; border:0; box-shadow:none;
}
.tool-logo-card__mark.is-fallback .tool-logo-card__img { display:none; }
.tool-logo-card__mark.is-fallback .tool-logo-card__fallback {
  display:block; width:48px; height:48px;
}
.tool-logo-card__title {
  max-width:100%; color:#18181b; font-size:13px; font-weight:800;
  line-height:1.25; text-align:center;
}
@keyframes toolsMarqueeLeft {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
@keyframes toolsMarqueeRight {
  from { transform:translateX(-50%); }
  to { transform:translateX(0); }
}

/* ── Projects grid ────────────────────────────────────── */
.projects-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s4);
}
.proj-card {
  border:1px solid var(--bd-lt); border-radius:6px; padding:var(--s6);
  transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2);
  display:flex; flex-direction:column;
}
.proj-card:hover { transform:translateY(-5px); box-shadow:0 14px 36px rgba(0,0,0,.08); border-color:var(--blue); }
.proj-num  { font-family:var(--display); font-size:36px; font-weight:300; color:var(--bd-lt2); margin-bottom:var(--s2); line-height:1; }
.proj-domain {
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); border:1px solid rgba(196,154,44,.3);
  padding:3px 8px; border-radius:2px; display:inline-flex; margin-bottom:var(--s3);
}
.proj-card h3 { font-family:var(--display); font-size:20px; font-weight:600; color:var(--ink); margin-bottom:8px; line-height:1.3; }
.proj-card p  { font-size:13.5px; color:var(--ash); line-height:1.6; flex:1; margin-bottom:var(--s3); }
.proj-skills  { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
.proj-skill   { font-size:11px; font-weight:600; color:var(--ash); background:var(--light); padding:3px 8px; border-radius:2px; }

/* ── Who is this for ──────────────────────────────────── */
.who-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5);
}
.who-card {
  position:relative; min-height:190px; padding:0; overflow:visible;
  border:1px solid #d4d4d8; border-radius:12px; background:#fff;
  transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2);
}
.who-card:hover {
  transform:translateY(-4px);
  border-color:#71717a;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
}
.candidate-card__content {
  position:relative; z-index:2; min-height:190px; padding:32px;
  display:grid; grid-template-columns:56px 1fr; gap:20px; align-items:start;
}
.who-icon {
  width:56px; height:56px; flex-shrink:0; border-radius:14px;
  background:#f4f4f5; border:1px solid #d4d4d8; color:#111827;
  display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.who-icon svg { width:24px; height:24px; stroke:currentColor; }
.who-card h4 {
  font-size:20px; font-weight:800; color:#18181b; margin-bottom:8px; line-height:1.2;
}
.who-card p  { font-size:15px; color:#3f3f46; line-height:1.65; }
.candidate-card--dots {
  border-style:dashed; padding:0 24px; background:#fff;
}
.candidate-card--dots::before,
.candidate-card--dots::after {
  content:''; position:absolute; left:0; width:100%; height:1px;
  background:#a1a1aa; z-index:1;
}
.candidate-card--dots::before { top:24px; }
.candidate-card--dots::after { bottom:24px; }
.candidate-card--dots .candidate-card__content {
  border-left:1px solid #a1a1aa; border-right:1px solid #a1a1aa;
}
.candidate-card__dot {
  position:absolute; z-index:3; width:6px; height:6px; border-radius:999px;
  background:#22c55e; outline:8px solid #fafafa;
}
.candidate-card__dot--tl { top:21px; left:21px; }
.candidate-card__dot--tr { top:21px; right:21px; }
.candidate-card__dot--bl { bottom:21px; left:21px; }
.candidate-card__dot--br { bottom:21px; right:21px; }
}
.candidate-card--gradient {
  border-color:transparent; background:#fff; padding:0 24px;
}
.candidate-card--gradient::before,
.candidate-card--gradient::after {
  content:''; position:absolute; left:0; width:100%; height:1px; z-index:1;
}
.candidate-card--gradient::before {
  top:24px; background:linear-gradient(to left, #e4e4e7, #71717a, #27272a);
}
.candidate-card--gradient::after {
  bottom:24px; background:linear-gradient(to right, #e4e4e7, #71717a, #27272a);
}
.candidate-card--gradient .candidate-card__content {
  border-left:1px solid transparent; border-right:1px solid transparent;
}
.candidate-card--gradient .candidate-card__content::before,
.candidate-card--gradient .candidate-card__content::after {
  content:''; position:absolute; top:0; bottom:0; width:1px; z-index:0;
  background:linear-gradient(to top, #e4e4e7, #71717a, #27272a);
}
.candidate-card--gradient .candidate-card__content::before { left:0; }
.candidate-card--gradient .candidate-card__content::after { right:0; }
.candidate-card--plus {
  border-style:dashed; border-color:#71717a;
}
.candidate-card__plus {
  position:absolute; width:24px; height:24px; color:#111; z-index:3;
}
.candidate-card__plus::before,
.candidate-card__plus::after {
  content:''; position:absolute; left:50%; top:50%; background:currentColor;
  transform:translate(-50%,-50%);
}
.candidate-card__plus::before { width:18px; height:1px; }
.candidate-card__plus::after { width:1px; height:18px; }
.candidate-card__plus--tl { left:-12px; top:-12px; }
.candidate-card__plus--tr { right:-12px; top:-12px; }
.candidate-card__plus--bl { left:-12px; bottom:-12px; }
.candidate-card__plus--br { right:-12px; bottom:-12px; }
.candidate-card--corners {
  border:2px solid #f4f4f5; border-radius:8px;
}
.candidate-card__corner {
  position:absolute; width:24px; height:24px; border-color:#3f3f46; z-index:3;
}
.candidate-card__corner--tl { top:-2px; left:-2px; border-left:2px solid; border-top:2px solid; border-top-left-radius:6px; }
.candidate-card__corner--tr { top:-2px; right:-2px; border-right:2px solid; border-top:2px solid; border-top-right-radius:6px; }
.candidate-card__corner--bl { bottom:-2px; left:-2px; border-left:2px solid; border-bottom:2px solid; border-bottom-left-radius:6px; }
.candidate-card__corner--br { bottom:-2px; right:-2px; border-right:2px solid; border-bottom:2px solid; border-bottom-right-radius:6px; }

/* ── Certifications ───────────────────────────────────── */
.cert-cards {
  display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s4);
}
.cert-slider {
  display:block; position:relative; overflow:hidden;
  border-radius:36px; padding:20px;
  background:
    radial-gradient(circle at 20% 0%, rgba(56,189,248,.16), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.1);
}
.cert-slider__track {
  display:flex; align-items:stretch;
  transition:transform 650ms cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.cert-item {
  border:1px solid var(--bd-dk2); border-radius:6px; padding:var(--s5) var(--s6);
  background:var(--bg-3); display:flex; flex-direction:column; gap:8px;
}
.cert-slide {
  flex:0 0 100%; min-width:100%;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:40px; align-items:center;
  border-radius:28px; padding:24px;
  background:rgba(17,17,17,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  backdrop-filter:blur(20px);
}
.cert-slide__media {
  min-height:320px; display:flex; align-items:center; justify-content:center;
  border-radius:24px; padding:18px;
  background:
    linear-gradient(180deg, rgba(15,15,15,.95), rgba(38,38,38,.82)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 32px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.cert-slide__media img {
  width:100%; max-height:300px; object-fit:contain;
  border-radius:8px; background:#fff;
  box-shadow:0 18px 38px rgba(0,0,0,.35);
}
.cert-slide__content {
  display:flex; flex-direction:column; justify-content:center; gap:12px;
}
.cert-item__issuer { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.cert-item__issuer.cert-item__logo {
  display:flex; align-items:center; min-height:44px; margin-bottom:4px;
  color:var(--white); letter-spacing:0; text-transform:none;
}
.cert-logo {
  display:flex; align-items:center; gap:12px; min-height:48px; width:100%;
}
.cert-logo img {
  display:block; width:auto; height:38px; max-width:120px; object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));
}
.cert-logo--iit-patna img,
.cert-logo--learnbay img { height:46px; max-width:132px; border-radius:8px; }
.cert-logo--microsoft img { height:34px; }
.cert-logo__name {
  color:rgba(255,255,255,.78); font-size:12px; font-weight:800;
  line-height:1.2; letter-spacing:.02em;
}
.cert-logo__fallback {
  width:42px; height:42px; flex:0 0 42px; border-radius:12px;
  display:none; align-items:center; justify-content:center;
  color:#101012; background:var(--gold); font-size:14px; font-weight:900;
  letter-spacing:.02em;
}
.cert-logo--fallback-only .cert-logo__fallback,
.cert-logo.is-fallback .cert-logo__fallback { display:flex; }
.cert-logo.is-fallback img { display:none; }
.cert-item__name   { font-family:var(--display); font-size:20px; font-weight:600; color:var(--white); line-height:1.3; }
.cert-item__desc   { font-size:13px; color:var(--t-faint); line-height:1.6; }
.cert-slide .cert-item__issuer {
  display:inline-flex; width:max-content; max-width:100%;
  color:#0072BC; background:rgba(0,114,188,.1);
  border:1px solid rgba(59,130,246,.22); border-radius:999px;
  padding:7px 12px;
}
.cert-slide .cert-item__name {
  font-size:clamp(32px,4vw,54px); font-weight:500; letter-spacing:-.03em;
  color:#0072BC;
}
.cert-slide .cert-item__desc {
  max-width:520px; font-size:16px; line-height:1.8; color:#0072BC;
}
.cert-slider__dots {
  position:absolute; left:50%; bottom:10px; z-index:2;
  display:flex; gap:8px; transform:translateX(-50%);
}
.cert-slider__dots button {
  width:8px; height:8px; border:0; border-radius:999px;
  background:rgba(255,255,255,.28); cursor:pointer; padding:0;
  transition:width var(--t1), background var(--t1);
}
.cert-slider__dots button.is-active {
  width:26px; background:#60a5fa;
}

/* ── Career support ───────────────────────────────────── */
.career-grid {
  display:flex; flex-direction:column; gap:28px;
}
.career-sticky-section { overflow:visible; }
.career-sticky-section .pg-inner { overflow:visible; }
.career-sticky-container {
  position:relative; width:100%; max-width:980px; margin:0 auto;
  perspective:1000px; transform-style:preserve-3d;
  padding-bottom:16vh;
}
.career-card {
  border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:var(--s6);
  background:
    radial-gradient(circle at 18% 0%, rgba(56,189,248,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
  box-shadow:0 24px 60px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color var(--t2), transform var(--t2), box-shadow var(--t2);
  backface-visibility:hidden;
}
.career-sticky-card {
  position:sticky; top:calc(88px + var(--career-y));
  transform:translateZ(var(--career-z));
  min-height:190px;
  display:grid; grid-template-columns:auto 1fr; column-gap:24px; align-items:start;
}
.career-card:hover {
  border-color:rgba(56,189,248,.45);
  transform:translateZ(var(--career-z)) translateY(-3px);
  box-shadow:0 30px 72px rgba(0,0,0,.42), 0 0 26px rgba(56,189,248,.12), inset 0 1px 0 rgba(255,255,255,.1);
}
.career-card__icon {
  width:58px; height:58px; margin:0; border-radius:18px;
  display:flex; align-items:center; justify-content:center;
  color:#38bdf8; background:rgba(56,189,248,.1);
  border:1px solid rgba(56,189,248,.22);
  box-shadow:0 0 22px rgba(56,189,248,.12);
}
.career-card__icon svg { width:28px; height:28px; stroke:currentColor; }
.career-card h4 {
  font-family:var(--display); font-size:clamp(26px,3vw,42px); font-weight:300;
  color:#050506; line-height:1.08; letter-spacing:-.02em; margin:0 0 12px;
}
.career-card p {
  max-width:720px; font-size:17px; color:rgba(5,5,6,.72);
  line-height:1.7; margin:0;
}

/* ── Fee section ──────────────────────────────────────── */
#fee.fee-pricing-section {
  background:#08090d;
  padding:96px var(--pad);
}
.fee-pricing-section .fee-pricing-shell {
  max-width:1280px; margin:0 auto; padding:32px 32px 64px;
  border:1px solid rgba(255,255,255,.1); border-radius:32px;
  background:#0a0a0c; overflow:hidden; position:relative;
}
.fee-pricing-section .fee-pricing-shell::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, transparent 24.9%, rgba(168,85,247,.12) 25%, transparent 25.1%),
    linear-gradient(90deg, transparent 49.9%, rgba(168,85,247,.28) 50%, transparent 50.1%),
    linear-gradient(90deg, transparent 74.9%, rgba(168,85,247,.12) 75%, transparent 75.1%),
    linear-gradient(to bottom, rgba(88,28,135,.18), transparent 32%);
  opacity:.65;
}
.fee-pricing-section .fee-pricing-head {
  position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:24px 64px; align-items:end; margin-bottom:48px;
}
.fee-pricing-section .fee-pricing-head .eyebrow {
  display:flex; align-items:center; gap:12px; margin:0; color:#6b7280;
  font-size:14px; font-weight:600; letter-spacing:.18em;
}
.fee-pricing-step {
  width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(59,130,246,.22); border-radius:8px;
  background:rgba(59,130,246,.1); color:#60a5fa;
  font:600 11px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing:0; box-shadow:0 0 10px rgba(59,130,246,.2);
}
.fee-pricing-section .fee-pricing-head .section-title {
  grid-column:1; max-width:760px; margin:0;
  color:#fff; font-family:var(--display); font-size:clamp(40px,5vw,64px);
  font-weight:300; line-height:1.06; letter-spacing:-.02em;
}
.fee-pricing-section .fee-pricing-head .section-title span {
  color:#4b5563; font-weight:300;
}
.fee-pricing-copy {
  grid-column:1; max-width:620px; margin:0; color:#9ca3af;
  font-size:18px; font-weight:300; line-height:1.7;
}
.fee-pricing-toggle {
  grid-column:2; grid-row:1 / span 3; align-self:end; justify-self:end;
  display:flex; align-items:center; gap:4px; padding:6px;
  border:1px solid rgba(255,255,255,.1); border-radius:999px;
  background:#111; backdrop-filter:blur(10px);
}
.fee-pricing-toggle button {
  border:0; border-radius:999px; padding:10px 30px; background:transparent;
  color:#9ca3af; font-size:14px; font-weight:700; cursor:pointer;
  transition:color var(--t1), background var(--t1), transform var(--t1);
}
.fee-pricing-toggle button:hover { color:#fff; transform:scale(1.02); }
.fee-pricing-toggle .is-active {
  background:#fff; color:#050506;
  box-shadow:0 0 15px rgba(14,165,233,.3);
}
.fee-box {
  border:1px solid rgba(255,255,255,.1); border-radius:48px; padding:64px;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch;
  min-height:450px; position:relative; z-index:1; overflow:hidden;
  background:#0a0a0c; box-shadow:0 24px 70px rgba(0,0,0,.45);
}
.fee-box::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at top, #1a1a2e 0%, #0a0a0c 48%, #0a0a0c 100%);
}
.fee-box::after {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.2;
  background-image:radial-gradient(#fff 1px, transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(circle, #000 40%, transparent 100%);
  mask-image:radial-gradient(circle, #000 40%, transparent 100%);
}
.fee-box > * { position:relative; z-index:1; }
.fee-box__amount {
  display:flex; flex-direction:column; justify-content:space-between; gap:32px;
}
.fee-plan-head {
  display:flex; align-items:center; gap:16px; color:#fff;
  font-family:var(--display); font-size:32px; font-weight:300; letter-spacing:-.02em;
}
.fee-plan-head svg {
  width:28px; height:28px; color:#38bdf8; flex-shrink:0;
}
.fee-box__amount .fee-big {
  font-family:var(--display); font-size:clamp(72px,9vw,128px); font-weight:300;
  color:#fff; letter-spacing:-.04em; line-height:.9; margin:0 0 16px;
}
.fee-box__amount .fee-gst {
  font-size:18px; color:#9ca3af; font-weight:300; line-height:1.6; margin:0;
}
.fee-includes { display:flex; flex-direction:column; gap:22px; padding-top:2px; }
.fee-includes li {
  display:flex; align-items:center; gap:16px;
  font-size:20px; color:#fff; font-weight:300; line-height:1.35;
}
.fee-includes li::before {
  content:''; width:6px; height:6px; border-radius:999px; flex-shrink:0;
  background:#fff;
}
.fee-box__cta {
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-end;
  gap:14px; min-height:100%;
}
.fee-box__cta .btn {
  width:min(100%, 280px); border-radius:999px; padding:15px 32px;
  font-size:16px; font-weight:700; color:#fff; text-align:center;
  background:rgba(0,0,0,.6); border:1px solid #3b82f6;
  box-shadow:0 0 20px rgba(59,130,246,.5), inset 0 0 10px rgba(59,130,246,.2);
  transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2), background var(--t2);
}
.fee-box__cta .btn:hover {
  transform:scale(1.02); border-color:#60a5fa; background:rgba(59,130,246,.1);
  box-shadow:0 0 35px rgba(59,130,246,.6), inset 0 0 20px rgba(59,130,246,.4);
}
.fee-box__cta .btn-outline-dk {
  color:#dbeafe; background:transparent; border-color:rgba(255,255,255,.16);
  box-shadow:none;
}
.fee-box__cta .btn-outline-dk:hover {
  border-color:#60a5fa; color:#fff;
}
.fee-emi-note {
  width:min(100%, 360px); margin:8px 0 0; color:#9ca3af;
  font-size:13px; line-height:1.6; text-align:right;
}

/* ── FAQ ──────────────────────────────────────────────── */
#faq .pg-inner {
  max-width:1100px;
  display:grid;
  grid-template-columns:minmax(260px, 390px) minmax(0, 1fr);
  column-gap:48px;
  row-gap:20px;
  align-items:start;
}
#faq .pg-inner::before {
  content:"";
  grid-row:1 / span 2;
  width:100%;
  aspect-ratio:830 / 844;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(0,114,188,.08), rgba(8,9,13,.16)),
    url("https://images.unsplash.com/photo-1555212697-194d092e3b8f?q=80&w=830&h=844&auto=format&fit=crop") center / cover;
  box-shadow:0 18px 50px rgba(8,9,13,.12);
}
#faq .pg-sec-head {
  margin:0;
  text-align:left;
}
#faq .pg-sec-head .eyebrow {
  color:#0072BC;
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
#faq .pg-sec-head .section-title {
  max-width:520px;
  margin-top:8px;
  font-size:clamp(30px, 4vw, 44px);
  font-weight:600;
  letter-spacing:-.02em;
  color:#1D293D;
}
.faq-list {
  display:flex; flex-direction:column; gap:0; border:0; border-radius:0; overflow:visible;
}
.faq-item {
  border-bottom:1px solid #e2e8f0;
  cursor:pointer;
}
.faq-item:last-child { border-bottom:none; }
.faq-q {
  width:100%; display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding:16px 0; background:transparent; border:none; border-radius:6px; text-align:left;
  font-family:var(--body); font-size:16px; font-weight:500; line-height:1.45; color:#1D293D;
  cursor:pointer; outline:none;
  transition:color 300ms ease, padding 300ms ease;
}
.faq-q:hover { color:#0072BC; }
.faq-q:focus-visible {
  box-shadow:0 0 0 3px rgba(0,114,188,.18); padding-left:8px; padding-right:8px;
}
.faq-item.open .faq-q { color:#0072BC; }
.faq-icon {
  display:none;
  width:18px; height:18px; flex-shrink:0; margin-top:2px; opacity:.9;
  color:#1D293D;
  transition:transform 500ms ease-in-out, opacity 300ms ease, color 300ms ease;
}
.faq-item.open .faq-icon { transform:rotate(180deg); opacity:1; color:#0072BC; }
.faq-a {
  max-height:0; height:auto; overflow:hidden; color:#64748b;
  opacity:0; transform:translateY(-8px);
  transition:max-height 500ms ease-in-out, opacity 500ms ease-in-out, transform 500ms ease-in-out;
}
.faq-item.open .faq-a {
  max-height:var(--accordion-panel-height);
  opacity:1;
  transform:translateY(0);
}
.faq-a-inner {
  max-width:520px;
  padding:0 0 16px;
  font-size:14px;
  color:#64748b;
  line-height:1.75;
}

/* ── Program page CTA strip ───────────────────────────── */
.pg-cta-strip {
  background:var(--bg); border-top:1px solid var(--bd-dk);
  padding:var(--s9) 0; text-align:center;
}
.pg-cta-strip h2 {
  font-family:var(--display); font-size:clamp(36px,4.5vw,56px); font-weight:600;
  color:var(--white); letter-spacing:-.02em; margin-bottom:var(--s4);
}
.pg-cta-strip p { font-size:16px; color:var(--t-dim); margin-bottom:var(--s6); }
.pg-cta-strip .btn-row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width:1100px) {
  .pg-hero__grid { grid-template-columns:1fr; }
  .pg-enroll-card { position:static; }
  .pg-metrics { grid-template-columns:repeat(3,1fr); }
  .fee-pricing-section .fee-pricing-head {
    grid-template-columns:1fr;
  }
  .fee-pricing-toggle {
    grid-column:1; grid-row:auto; justify-self:start;
  }
  .fee-box {
    padding:48px; grid-template-columns:1fr; gap:36px;
  }
  .fee-box__cta {
    align-items:flex-start;
  }
  .fee-emi-note {
    text-align:left;
  }
}
@media (max-width:768px) {
  :root { --pad:24px; }
  #faq .pg-inner {
    grid-template-columns:1fr;
    gap:28px;
  }
  #faq .pg-inner::before {
    grid-row:auto;
    aspect-ratio:16 / 11;
    border-radius:16px;
  }
  #faq .pg-sec-head .section-title {
    font-size:clamp(30px, 9vw, 38px);
  }
  .faq-q {
    font-size:15px;
  }
  .acc-body-inner { grid-template-columns:1fr; padding-left:var(--s6); }
  .acc-toggle { grid-template-columns:48px 1fr; }
  .acc-meta  { display:none; }
  .projects-grid { grid-template-columns:1fr; }
  .who-grid { grid-template-columns:1fr; }
  .tools-marquee { gap:14px; }
  .tools-marquee__track { gap:12px; animation-duration:28s; }
  .tools-marquee__row--right .tools-marquee__track { animation-duration:32s; }
  .tool-logo-card {
    width:124px; flex-basis:124px; min-height:104px; padding:14px 10px;
  }
  .tool-logo-card__mark,
  .tool-logo-card__mark svg {
    width:42px; height:42px;
  }
  .tool-logo-card__title {
    font-size:12px;
  }
  .candidate-card__content {
    min-height:0; padding:28px 24px; grid-template-columns:1fr; gap:18px;
  }
  .candidate-card--dots,
  .candidate-card--gradient { padding:0 18px; }
  .candidate-card--dots::before,
  .candidate-card--gradient::before { top:18px; }
  .candidate-card--dots::after,
  .candidate-card--gradient::after { bottom:18px; }
  .candidate-card__dot--tl { top:15px; left:15px; }
  .candidate-card__dot--tr { top:15px; right:15px; }
  .candidate-card__dot--bl { bottom:15px; left:15px; }
  .candidate-card__dot--br { bottom:15px; right:15px; }
  .cert-cards { grid-template-columns:1fr; }
  .cert-slider { padding:12px; border-radius:24px; }
  .cert-slide {
    grid-template-columns:1fr; gap:24px; padding:18px; border-radius:20px;
  }
  .cert-slide__media { min-height:220px; padding:12px; border-radius:18px; }
  .cert-slide__media img { max-height:220px; }
  .cert-slide .cert-item__name { font-size:clamp(28px,9vw,40px); }
  .cert-slide .cert-item__desc { font-size:14px; }
  .career-grid { gap:18px; }
  .career-sticky-container {
    max-width:none; padding-bottom:0; perspective:none;
  }
  .career-sticky-card {
    position:relative; top:auto; transform:none; min-height:0;
    grid-template-columns:1fr; gap:18px; padding:28px 24px;
  }
  .career-card:hover {
    transform:translateY(-2px);
  }
  .career-card h4 {
    font-size:28px;
  }
  .career-card p {
    font-size:15px;
  }
  .fee-pricing-section { padding:64px 16px; }
  .fee-pricing-section .fee-pricing-shell {
    padding:24px 18px 40px; border-radius:24px;
  }
  .fee-pricing-section .fee-pricing-head {
    margin-bottom:32px; gap:20px;
  }
  .fee-pricing-section .fee-pricing-head .section-title {
    font-size:clamp(36px,12vw,52px);
  }
  .fee-pricing-copy {
    font-size:15px;
  }
  .fee-pricing-toggle {
    width:100%;
  }
  .fee-pricing-toggle button {
    flex:1; padding:10px 18px;
  }
  .fee-box {
    grid-template-columns:1fr; gap:var(--s5); border-radius:32px;
    padding:32px 24px; min-height:0;
  }
  .fee-box__amount .fee-big {
    font-size:clamp(56px,18vw,86px);
  }
  .fee-includes li {
    font-size:16px;
  }
  .fee-box__cta .btn {
    width:100%;
  }
  .pg-metrics { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:480px) {
  .career-grid { gap:16px; }
  .pg-metrics { grid-template-columns:1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tools-marquee__track {
    animation:none;
    transform:none;
  }
  .tools-marquee__row {
    overflow:auto;
  }
}

@media (max-width:768px) {
  #curriculum .pg-inner {
    padding:var(--s5);
    border-radius:24px;
  }
  #curriculum .pg-sec-head {
    grid-template-columns:1fr;
    gap:var(--s4);
    margin-bottom:var(--s6);
  }
  #curriculum .pg-sec-head .eyebrow {
    order:1;
    justify-self:start;
  }
  #curriculum .pg-sec-head .section-title {
    order:2;
    font-size:clamp(42px,15vw,72px);
    line-height:.88;
  }
  #curriculum .pg-sec-head p {
    order:3;
    grid-column:1;
    justify-self:start;
    text-align:left;
    font-size:15px;
  }
  #curriculum .acc-toggle {
    grid-template-columns:10px 1fr auto;
    gap:var(--s3);
    padding:22px 18px;
  }
  #curriculum .acc-term {
    grid-column:2;
    display:block;
    margin-bottom:4px;
  }
  #curriculum .acc-title {
    grid-column:2;
    font-size:20px;
  }
  #curriculum .acc-meta {
    grid-column:3;
    grid-row:1 / span 2;
  }
  #curriculum .acc-body-inner {
    grid-template-columns:1fr;
    padding:0 18px 22px 42px;
  }
}

/* ══ SPLINE HERO ══════════════════════════════════════════ */
.pg-hero--spline{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:var(--night, #08090d)
}
.pg-hero__spline-bg{
  position:absolute;
  inset:0;
  z-index:0
}
.pg-hero__spline-bg spline-viewer{
  width:100%;
  height:100%;
  display:block
}
/* Gradient overlays matching original React code */
.pg-hero__grad{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right,rgba(0,0,0,.8),transparent 30%,transparent 70%,rgba(0,0,0,.8)),
    linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.9));
  pointer-events:none;
  z-index:1
}
/* Foreground — contains all visible content */
.pg-hero__fg{
  position:relative;
  z-index:10;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:80px;
  padding-bottom:var(--s8,80px)
}
/* Two-col hero grid */
.pg-hero__fg .pg-hero__grid{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:48px;
  align-items:center;
  width:100%
}
/* Left: text content */
.pg-hero__fg .pg-hero__content{
  color:#fff
}
.pg-hero__fg .breadcrumb a,
.pg-hero__fg .breadcrumb span{
  color:rgba(255,255,255,.45)
}
.pg-hero__spline-tags{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  margin-top:20px
}
/* CTA buttons — pill style matching the React code */
.btn-pill-outline{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.8);
  color:#fff;
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:11px 28px;border-radius:100px;text-decoration:none;
  transition:background .2s,color .2s
}
.btn-pill-outline:hover{background:#fff;color:#08090d}
.btn-pill-fill{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:#fff;color:#08090d;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:11px 28px;border-radius:100px;text-decoration:none;
  transition:transform .2s
}
.btn-pill-fill:hover{transform:scale(1.04)}
@media(max-width:900px){
  .pg-hero__fg .pg-hero__grid{
    grid-template-columns:1fr;
    padding-top:20px
  }
}
