/* ==================================================================
   BCOM2 — MODERN FINANCIAL DISTRICT
   Palette:  #0A0D0F deep black · #14181B graphite · #1C2126 surface
             #F2F0EA paper · #8A93A1 muted · #C9A227 gold · #2FBF71 emerald
   Type:     "Fraunces" display serif · "Inter" body · "IBM Plex Mono" data
   ================================================================== */

.bcom2-root{
  --bcom2-black:#0A0D0F;
  --bcom2-graphite:#14181B;
  --bcom2-surface:#1B2025;
  --bcom2-surface-2:#22282E;
  --bcom2-line:rgba(242,240,234,0.10);
  --bcom2-paper:#F2F0EA;
  --bcom2-muted:#8A93A1;
  --bcom2-gold:#C9A227;
  --bcom2-gold-soft:rgba(201,162,39,0.14);
  --bcom2-emerald:#2FBF71;
  --bcom2-emerald-soft:rgba(47,191,113,0.14);
  --bcom2-display:'Fraunces', 'Georgia', serif;
  --bcom2-body:'Inter', -apple-system, sans-serif;
  --bcom2-mono:'IBM Plex Mono','SFMono-Regular',monospace;
  --bcom2-radius:14px;
  --bcom2-ease:cubic-bezier(.16,.84,.44,1);

  position:relative;
  background:var(--bcom2-black);
  color:var(--bcom2-paper);
  font-family:var(--bcom2-body);
  overflow:hidden;
  isolation:isolate;
}
.bcom2-root *{box-sizing:border-box;}
.bcom2-root img{max-width:100%;display:block;}
.bcom2-hide-mobile{display:inline;}

/* -------------------- index line (signature element) ---------- */
.bcom2-indexline{
  position:absolute;
  top:0; left:32px;
  width:2px; height:100%;
  z-index:2;
  opacity:.5;
}
.bcom2-indexline__svg{width:100%;height:100%;overflow:visible;}
.bcom2-indexline__path{stroke:var(--bcom2-line);stroke-width:2;fill:none;}
.bcom2-indexline__fill{
  stroke:var(--bcom2-emerald);
  stroke-width:2;
  fill:none;
  stroke-dasharray:1000;
  stroke-dashoffset:1000;
  transition:stroke-dashoffset .1s linear;
}
.bcom2-indexline__label{
  position:fixed;
  left:24px; top:50%;
  transform:translateY(-50%) rotate(90deg);
  transform-origin:left center;
  display:flex; gap:8px; align-items:center;
  font-family:var(--bcom2-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--bcom2-muted);
  z-index:30;
  pointer-events:none;
  white-space:nowrap;
}
.bcom2-indexline__ticker{color:var(--bcom2-gold);font-weight:600;}
.bcom2-indexline__value{color:var(--bcom2-paper);}
.bcom2-indexline__delta{color:var(--bcom2-emerald);}
@media (max-width:900px){
  .bcom2-indexline, .bcom2-indexline__label{display:none;}
}

/* -------------------- shared section scaffolding ---------------- */
.bcom2-section{
  position:relative;
  padding:min(14vw,150px) min(6vw,80px);
  max-width:1440px;
  margin:0 auto;
  z-index:1;
}
.bcom2-section__head{
  max-width:760px;
  margin-bottom:clamp(40px,6vw,88px);
}
.bcom2-eyebrow{
  font-family:var(--bcom2-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bcom2-gold);
  margin:0 0 18px;
}
.bcom2-heading{
  font-family:var(--bcom2-display);
  font-weight:500;
  font-size:clamp(28px,4vw,52px);
  line-height:1.15;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--bcom2-paper);
}

[data-bcom2-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .9s var(--bcom2-ease), transform .9s var(--bcom2-ease);
}
[data-bcom2-reveal].bcom2-is-visible{
  opacity:1;
  transform:translateY(0);
}

/* -------------------- buttons ------------------------------------ */
.bcom2-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  border-radius:999px;
  font-family:var(--bcom2-body);
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.01em;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .5s var(--bcom2-ease), background .4s ease, border-color .4s ease, color .4s ease;
  will-change:transform;
}
.bcom2-btn--primary{
  background:linear-gradient(120deg,var(--bcom2-emerald),#1E8F52);
  color:#06120A;
}
.bcom2-btn--primary:hover{transform:translateY(-2px);}
.bcom2-btn--ghost{
  background:transparent;
  color:var(--bcom2-paper);
  border-color:var(--bcom2-line);
}
.bcom2-btn--ghost:hover{border-color:var(--bcom2-gold);color:var(--bcom2-gold);}
.bcom2-btn--large{padding:19px 36px;font-size:16px;}
.bcom2-btn__glyph{transition:transform .4s var(--bcom2-ease);}
.bcom2-btn:hover .bcom2-btn__glyph{transform:translateX(4px);}

/* -------------------- HERO --------------------------------------- */
.bcom2-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 min(6vw,80px);
  overflow:hidden;
}
.bcom2-hero__market{position:absolute;inset:0;z-index:0;}
.bcom2-hero__chart{position:absolute;inset:0;width:100%;height:100%;}
.bcom2-hero__chart-line{
  stroke-dasharray:2400;
  stroke-dashoffset:2400;
  animation:bcom2DrawLine 3.2s var(--bcom2-ease) .3s forwards;
}
.bcom2-hero__chart-fill{opacity:0;animation:bcom2FadeIn 2s ease 1.4s forwards;}
.bcom2-hero__grid line{stroke:rgba(242,240,234,0.05);stroke-width:1;}
@keyframes bcom2DrawLine{to{stroke-dashoffset:0;}}
@keyframes bcom2FadeIn{to{opacity:1;}}

.bcom2-hero__skyline{
  position:absolute; inset:auto 0 0 0; height:38%;
  background:
    linear-gradient(180deg, rgba(10,13,15,0) 0%, var(--bcom2-black) 92%),
    repeating-linear-gradient(90deg, rgba(242,240,234,0.05) 0 2px, transparent 2px 64px);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, black 40%);
          mask-image:linear-gradient(180deg, transparent 0%, black 40%);
}
.bcom2-hero__glass{
  position:absolute;inset:0;
  background:radial-gradient(120% 90% at 78% 12%, rgba(201,162,39,0.10), transparent 60%),
             radial-gradient(90% 70% at 10% 100%, rgba(47,191,113,0.10), transparent 60%),
             linear-gradient(180deg, rgba(10,13,15,0.2), rgba(10,13,15,0.65) 70%, var(--bcom2-black) 100%);
}
.bcom2-hero__grid-overlay{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(242,240,234,0.035) 1px,transparent 1px),
                    linear-gradient(90deg, rgba(242,240,234,0.035) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(80% 60% at 50% 30%, black, transparent 80%);
  pointer-events:none;
}

.bcom2-hero__content{position:relative;z-index:2;max-width:920px;padding-top:60px;}
.bcom2-hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--bcom2-mono);font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--bcom2-muted);margin:0 0 26px;
}
.bcom2-hero__eyebrow-dot{
  width:7px;height:7px;border-radius:50%;background:var(--bcom2-emerald);
  box-shadow:0 0 0 4px var(--bcom2-emerald-soft);
}
.bcom2-hero__headline{
  font-family:var(--bcom2-display);
  font-weight:500;
  font-size:clamp(40px,7.4vw,104px);
  line-height:.98;
  letter-spacing:-0.015em;
  margin:0 0 28px;
}
.bcom2-hero__line{display:block;overflow:hidden;}
.bcom2-hero__line--accent{color:var(--bcom2-emerald);font-style:italic;}
.bcom2-hero__line--gold{color:var(--bcom2-gold);font-style:italic;}
.bcom2-hero__sub{
  font-size:clamp(16px,1.6vw,19px);
  line-height:1.6;
  color:var(--bcom2-muted);
  max-width:560px;
  margin:0 0 40px;
}
.bcom2-hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:64px;}

.bcom2-hero__ticker{
  border-top:1px solid var(--bcom2-line);
  border-bottom:1px solid var(--bcom2-line);
  padding:14px 0;
  overflow:hidden;
  max-width:640px;
}
.bcom2-hero__ticker-track{
  display:flex;gap:22px;white-space:nowrap;width:max-content;
  font-family:var(--bcom2-mono);font-size:12px;letter-spacing:.08em;
  color:var(--bcom2-muted);
  animation:bcom2Ticker 26s linear infinite;
}
.bcom2-hero__ticker-track span:nth-child(odd){color:var(--bcom2-gold);}
@keyframes bcom2Ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.bcom2-hero__scroll-cue{
  position:absolute;bottom:36px;left:min(6vw,80px);
  display:flex;align-items:center;gap:10px;
  font-family:var(--bcom2-mono);font-size:11px;letter-spacing:.1em;
  color:var(--bcom2-muted);text-transform:uppercase;z-index:2;
}
.bcom2-hero__scroll-cue span{
  width:1px;height:28px;background:var(--bcom2-line);position:relative;overflow:hidden;
}
.bcom2-hero__scroll-cue span::after{
  content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;
  background:var(--bcom2-gold);animation:bcom2ScrollCue 2.2s ease-in-out infinite;
}
@keyframes bcom2ScrollCue{to{top:100%;}}

/* -------------------- WHY CHOOSE ---------------------------------- */
.bcom2-why__grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:20px;
}
.bcom2-why__card{
  grid-column:span 3;
  background:var(--bcom2-surface);
  border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);
  padding:36px;
  transition:border-color .4s ease, transform .4s var(--bcom2-ease);
}
.bcom2-why__card:hover{border-color:var(--bcom2-gold);transform:translateY(-4px);}
.bcom2-why__card--lead{
  grid-column:span 6;
  background:linear-gradient(135deg, var(--bcom2-surface-2), var(--bcom2-surface));
}
.bcom2-why__num{
  font-family:var(--bcom2-mono);color:var(--bcom2-gold);font-size:13px;margin:0 0 16px;
}
.bcom2-why__card h3{
  font-family:var(--bcom2-display);font-weight:500;font-size:22px;margin:0 0 12px;
}
.bcom2-why__card p{color:var(--bcom2-muted);line-height:1.65;margin:0;font-size:15px;}
@media (max-width:820px){
  .bcom2-why__card, .bcom2-why__card--lead{grid-column:span 6;}
}

/* -------------------- CAREER MAP ---------------------------------- */
.bcom2-careermap__pin{position:sticky;top:0;}
.bcom2-careermap__grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:40px;
}
.bcom2-careermap__node{
  cursor:pointer;
  background:var(--bcom2-surface);
  border:1px solid var(--bcom2-line);
  border-radius:12px;
  padding:22px 16px;
  text-align:left;
  color:var(--bcom2-muted);
  font-family:var(--bcom2-body);
  transition:all .4s var(--bcom2-ease);
}
.bcom2-careermap__node-index{
  display:block;font-family:var(--bcom2-mono);color:var(--bcom2-gold);
  font-size:12px;margin-bottom:10px;
}
.bcom2-careermap__node-title{display:block;font-size:14.5px;font-weight:600;color:var(--bcom2-paper);}
.bcom2-careermap__node.is-active, .bcom2-careermap__node:hover{
  border-color:var(--bcom2-emerald);
  background:var(--bcom2-emerald-soft);
}
.bcom2-careermap__node.is-active .bcom2-careermap__node-index{color:var(--bcom2-emerald);}

.bcom2-careermap__panel{position:relative;min-height:180px;}
.bcom2-careermap__panel-item{
  position:absolute;inset:0;
  opacity:0;visibility:hidden;
  transform:translateY(14px);
  transition:opacity .5s var(--bcom2-ease), transform .5s var(--bcom2-ease);
  background:var(--bcom2-surface);
  border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);
  padding:36px 40px;
  max-width:760px;
}
.bcom2-careermap__panel-item.is-active{
  position:relative;opacity:1;visibility:visible;transform:translateY(0);
}
.bcom2-careermap__panel-eyebrow{
  font-family:var(--bcom2-mono);color:var(--bcom2-gold);font-size:12px;margin:0 0 10px;
}
.bcom2-careermap__panel-item h3{
  font-family:var(--bcom2-display);font-size:26px;font-weight:500;margin:0 0 14px;
}
.bcom2-careermap__panel-item p{color:var(--bcom2-muted);line-height:1.65;margin:0;}
@media (max-width:900px){
  .bcom2-careermap__grid{grid-template-columns:repeat(2,1fr);}
}

/* -------------------- TIMELINE / ROADMAP --------------------------- */
.bcom2-timeline{position:relative;padding-left:52px;}
.bcom2-timeline__rail{
  position:absolute;left:15px;top:6px;bottom:6px;width:2px;
  background:var(--bcom2-line);
}
.bcom2-timeline__rail-fill{
  width:100%;height:0%;
  background:linear-gradient(180deg,var(--bcom2-gold),var(--bcom2-emerald));
  transition:height .2s linear;
}
.bcom2-timeline__item{position:relative;padding-bottom:64px;}
.bcom2-timeline__item:last-child{padding-bottom:0;}
.bcom2-timeline__marker{
  position:absolute;left:-52px;top:0;
  width:32px;height:32px;border-radius:50%;
  background:var(--bcom2-surface);border:1px solid var(--bcom2-line);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--bcom2-mono);font-size:11px;color:var(--bcom2-gold);
}
.bcom2-timeline__body h3{
  font-family:var(--bcom2-display);font-size:23px;font-weight:500;margin:0 0 10px;
}
.bcom2-timeline__body p{color:var(--bcom2-muted);line-height:1.65;max-width:640px;margin:0;}

/* -------------------- SPECIALIZATION LABS --------------------------- */
.bcom2-labs__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.bcom2-labs__card{
  position:relative;
  overflow:hidden;
  background:var(--bcom2-surface);
  border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);
  padding:32px;
  min-height:220px;
  transition:transform .5s var(--bcom2-ease), border-color .4s ease;
}
.bcom2-labs__card:hover{transform:translateY(-6px);border-color:var(--bcom2-emerald);}
.bcom2-labs__card-glow{
  position:absolute;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle, var(--bcom2-emerald-soft), transparent 70%);
  top:-90px;right:-90px;opacity:0;transition:opacity .5s ease;
}
.bcom2-labs__card:hover .bcom2-labs__card-glow{opacity:1;}
.bcom2-labs__index{font-family:var(--bcom2-mono);color:var(--bcom2-gold);font-size:13px;margin:0 0 20px;}
.bcom2-labs__card h3{font-family:var(--bcom2-display);font-size:21px;font-weight:500;margin:0 0 12px;position:relative;}
.bcom2-labs__card p{color:var(--bcom2-muted);line-height:1.6;font-size:14.5px;margin:0;position:relative;}
@media (max-width:900px){.bcom2-labs__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.bcom2-labs__grid{grid-template-columns:1fr;}}

/* -------------------- CORPORATE SKILLS ------------------------------ */
.bcom2-corpskills__list{border-top:1px solid var(--bcom2-line);}
.bcom2-corpskills__row{
  display:grid;grid-template-columns:280px 1fr;gap:32px;
  padding:26px 0;border-bottom:1px solid var(--bcom2-line);
  align-items:baseline;
}
.bcom2-corpskills__tag{
  font-family:var(--bcom2-display);font-size:20px;color:var(--bcom2-paper);
}
.bcom2-corpskills__row p{color:var(--bcom2-muted);line-height:1.6;margin:0;}
@media (max-width:700px){.bcom2-corpskills__row{grid-template-columns:1fr;gap:8px;}}

/* -------------------- CERTIFICATION RINGS ---------------------------- */
.bcom2-certs__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.bcom2-certs__card{
  background:var(--bcom2-surface);border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);padding:32px 26px;text-align:center;
}
.bcom2-progress-ring{position:relative;width:110px;height:110px;margin:0 auto 22px;}
.bcom2-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.bcom2-progress-ring__track{fill:none;stroke:var(--bcom2-line);stroke-width:6;}
.bcom2-progress-ring__fill{
  fill:none;stroke:var(--bcom2-gold);stroke-width:6;stroke-linecap:round;
  stroke-dasharray:326.7; stroke-dashoffset:326.7;
  transition:stroke-dashoffset 1.4s var(--bcom2-ease);
}
.bcom2-progress-ring__label{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--bcom2-mono);font-weight:600;font-size:14px;color:var(--bcom2-paper);
}
.bcom2-certs__card h3{font-family:var(--bcom2-display);font-size:18px;font-weight:500;margin:0 0 10px;}
.bcom2-certs__card p{color:var(--bcom2-muted);font-size:14px;line-height:1.6;margin:0;}
@media (max-width:900px){.bcom2-certs__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.bcom2-certs__grid{grid-template-columns:1fr;}}

/* -------------------- GROWTH TIER CHART -------------------------------- */
.bcom2-growth__chart{
  display:flex;align-items:flex-end;gap:24px;height:340px;
  border-bottom:1px solid var(--bcom2-line);padding-bottom:0;
}
.bcom2-growth__bar{
  flex:1;display:flex;flex-direction:column;justify-content:flex-end;
  height:100%;position:relative;
}
.bcom2-growth__bar-fill{
  display:block;width:100%;height:0%;border-radius:10px 10px 0 0;
  background:linear-gradient(180deg, var(--bcom2-gold), var(--bcom2-emerald));
  transition:height 1.4s var(--bcom2-ease);
  margin-bottom:20px;
}
.bcom2-growth__bar-label{font-family:var(--bcom2-display);font-size:19px;margin:0 0 8px;}
.bcom2-growth__bar-desc{color:var(--bcom2-muted);font-size:13.5px;line-height:1.55;margin:0;max-width:220px;}
.bcom2-growth__note{color:var(--bcom2-muted);font-size:12.5px;margin-top:20px;font-style:italic;}

/* -------------------- TECH STACK CHIPS -------------------------------- */
.bcom2-stack__grid{display:flex;flex-wrap:wrap;gap:14px;}
.bcom2-stack__chip{
  padding:14px 22px;border-radius:999px;
  border:1px solid var(--bcom2-line);
  font-family:var(--bcom2-mono);font-size:13.5px;color:var(--bcom2-paper);
  background:var(--bcom2-surface);
  transition:border-color .3s ease, color .3s ease;
}
.bcom2-stack__chip:hover{border-color:var(--bcom2-gold);color:var(--bcom2-gold);}

/* -------------------- DIGITAL PLATFORM ------------------------------- */
.bcom2-digital{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.bcom2-digital__copy{color:var(--bcom2-muted);line-height:1.7;margin:22px 0 26px;max-width:480px;}
.bcom2-digital__list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.bcom2-digital__list li{
  padding-left:26px;position:relative;color:var(--bcom2-paper);font-size:15px;
}
.bcom2-digital__list li::before{
  content:'';position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:2px;
  background:var(--bcom2-emerald);
}
.bcom2-digital__mock{
  background:var(--bcom2-surface);border:1px solid var(--bcom2-line);
  border-radius:16px;padding:24px;
}
.bcom2-digital__mock-bar{height:14px;width:40%;border-radius:6px;background:var(--bcom2-gold-soft);margin-bottom:20px;}
.bcom2-digital__mock-row{height:10px;border-radius:5px;background:var(--bcom2-line);margin-bottom:12px;}
.bcom2-digital__mock-row:nth-child(3){width:80%;}
.bcom2-digital__mock-chart{
  margin-top:20px;height:120px;border-radius:10px;
  background:linear-gradient(135deg, var(--bcom2-emerald-soft), transparent 70%);
  border:1px solid var(--bcom2-line);
}
@media (max-width:900px){.bcom2-digital{grid-template-columns:1fr;}}

/* -------------------- FACULTY ------------------------------------------ */
.bcom2-faculty__quote{
  border-left:2px solid var(--bcom2-gold);
  padding-left:32px;max-width:760px;
}
.bcom2-faculty__quote p{
  font-family:var(--bcom2-display);font-size:clamp(20px,2.4vw,28px);
  line-height:1.5;color:var(--bcom2-paper);font-weight:400;margin:0;
}

/* -------------------- PARENTS ------------------------------------------ */
.bcom2-parents__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.bcom2-parents__card{
  background:var(--bcom2-surface);border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);padding:30px;
}
.bcom2-parents__card h3{font-family:var(--bcom2-display);font-size:19px;font-weight:500;margin:0 0 12px;}
.bcom2-parents__card p{color:var(--bcom2-muted);line-height:1.6;font-size:14.5px;margin:0;}
@media (max-width:820px){.bcom2-parents__grid{grid-template-columns:1fr;}}

/* -------------------- FAQ ------------------------------------------------ */
.bcom2-faq__list{border-top:1px solid var(--bcom2-line);}
.bcom2-faq__item{border-bottom:1px solid var(--bcom2-line);}
.bcom2-faq__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:26px 0;background:none;border:none;cursor:pointer;
  font-family:var(--bcom2-display);font-size:19px;color:var(--bcom2-paper);text-align:left;
}
.bcom2-faq__icon{
  font-family:var(--bcom2-mono);color:var(--bcom2-gold);font-size:20px;
  transition:transform .4s var(--bcom2-ease);
}
.bcom2-faq__item.is-open .bcom2-faq__icon{transform:rotate(45deg);}
.bcom2-faq__a{
  max-height:0;overflow:hidden;
  transition:max-height .5s var(--bcom2-ease);
}
.bcom2-faq__a p{color:var(--bcom2-muted);line-height:1.65;padding-bottom:24px;margin:0;max-width:680px;}
.bcom2-faq__item.is-open .bcom2-faq__a{max-height:220px;}

/* -------------------- ADMISSION STEPS -------------------------------------- */
.bcom2-admission__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.bcom2-admission__step{
  background:var(--bcom2-surface);border:1px solid var(--bcom2-line);
  border-radius:var(--bcom2-radius);padding:30px 26px;
}
.bcom2-admission__step-index{
  font-family:var(--bcom2-mono);color:var(--bcom2-emerald);font-size:13px;margin:0 0 16px;
}
.bcom2-admission__step h3{font-family:var(--bcom2-display);font-size:19px;font-weight:500;margin:0 0 10px;}
.bcom2-admission__step p{color:var(--bcom2-muted);font-size:14px;line-height:1.6;margin:0;}
@media (max-width:900px){.bcom2-admission__steps{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.bcom2-admission__steps{grid-template-columns:1fr;}}

/* -------------------- FINAL CTA -------------------------------------------- */
.bcom2-finalcta{
  text-align:center;
  background:radial-gradient(70% 100% at 50% 100%, var(--bcom2-emerald-soft), transparent 70%);
}
.bcom2-finalcta__inner{display:flex;flex-direction:column;align-items:center;gap:28px;}
.bcom2-finalcta__headline{
  font-family:var(--bcom2-display);font-weight:500;
  font-size:clamp(32px,5.6vw,64px);line-height:1.08;margin:6px 0 10px;
}

/* -------------------- STICKY CTA -------------------------------------------- */
.bcom2-stickycta{
  position:fixed;bottom:26px;right:26px;z-index:40;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .4s ease, transform .4s ease;
}
.bcom2-stickycta.bcom2-is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.bcom2-stickycta a{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--bcom2-paper);color:var(--bcom2-black);
  padding:14px 22px;border-radius:999px;font-weight:600;font-size:14px;
  text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.4);
}

/* -------------------- reduced motion -------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .bcom2-root [data-bcom2-reveal],
  .bcom2-hero__chart-line,
  .bcom2-hero__chart-fill,
  .bcom2-hero__ticker-track,
  .bcom2-hero__scroll-cue span::after{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
    stroke-dashoffset:0 !important;
  }
}

@media (max-width:700px){
  .bcom2-section{padding:90px 22px;}
  .bcom2-hero__actions{flex-direction:column;align-items:stretch;}
  .bcom2-hero__actions .bcom2-btn{justify-content:center;}
}






/* ===========================
   BCOM DEBUG
=========================== */

.bcom2-root *{
    visibility: visible !important;
}

.bcom2-hero{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:100vh !important;
    position:relative !important;
    overflow:visible !important;
}

.bcom2-hero__content{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    position:relative !important;
    z-index:9999 !important;
    max-width:900px !important;
}

.bcom2-hero__headline,
.bcom2-hero__headline span,
.bcom2-hero__line{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    color:#fff !important;
}

.bcom2-hero__sub,
.bcom2-hero__actions,
.bcom2-hero__eyebrow{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}

[data-bcom2-reveal]{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
}

[data-bcom2-split] .bcom2-hero__line{
    opacity:1 !important;
    transform:none !important;
}

.bcom2-hero__market{
    z-index:0 !important;
}

.bcom2-hero__glass{
    z-index:1 !important;
    pointer-events:none !important;
}

.bcom2-hero__grid-overlay{
    z-index:2 !important;
    pointer-events:none !important;
}

.bcom2-hero__content{
    z-index:100 !important;
}
/* ==========================================
   BCOM MOBILE DEBUG FIX
   Paste at END of bcom.css
========================================== */

@media (max-width: 991px){

    .bcom2-root{
        overflow-x:hidden !important;
    }

    .bcom2-hero{
        min-height:auto !important;
        padding:120px 20px 70px !important;
        display:flex !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
    }

    .bcom2-hero__market{
        opacity:.35 !important;
    }

    .bcom2-hero__glass{
        display:none !important;
    }

    .bcom2-hero__grid-overlay{
        display:none !important;
    }

    .bcom2-hero__content{
        display:block !important;
        position:relative !important;
        z-index:999 !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        width:100% !important;
        max-width:100% !important;
    }

    .bcom2-hero__headline,
    .bcom2-hero__headline span,
    .bcom2-hero__line{
        display:block !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
    }

    .bcom2-hero__headline{
        font-size:clamp(40px,11vw,62px) !important;
        line-height:1 !important;
    }

    .bcom2-hero__sub{
        font-size:16px !important;
        line-height:1.7 !important;
        margin-top:20px !important;
    }

    .bcom2-hero__actions{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
        margin-top:30px !important;
    }

    .bcom2-btn{
        width:100% !important;
        justify-content:center !important;
    }

    .bcom2-hero__ticker{
        margin-top:30px !important;
    }

    [data-bcom2-reveal],
    [data-bcom2-split] .bcom2-hero__line{
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
    }

    .bcom2-section{
        padding:70px 20px !important;
    }

    .bcom2-section__head{
        margin-bottom:40px !important;
    }

    .bcom2-heading{
        font-size:34px !important;
        line-height:1.15 !important;
    }

    .bcom2-why__grid,
    .bcom2-labs__grid,
    .bcom2-certs__grid,
    .bcom2-stack__grid,
    .bcom2-parents__grid,
    .bcom2-admission__steps{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:22px !important;
    }

    .bcom2-careermap__grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .bcom2-careermap__panel{
        margin-top:24px !important;
    }

    .bcom2-growth__chart{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:22px !important;
    }

    .bcom2-digital{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:30px !important;
    }

    .bcom2-finalcta__headline{
        font-size:40px !important;
    }

    .bcom2-indexline,
    .bcom2-indexline__label{
        display:none !important;
    }

    .bcom2-stickycta{
        bottom:90px !important;
    }
}

/*========================================
ADMISSION SECTION
========================================*/

#contact{
    padding:110px 0;
    background:#0b0b0b;
    position:relative;
    overflow:hidden;
}

#contact .container{
    width:min(1200px,92%);
    margin:auto;
}

.section-head{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}

.eyebrow{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#fdbe00;
    margin-bottom:15px;
}

.section-title{
    font-size:48px;
    line-height:1.2;
    font-weight:800;
    color:#fff;
    margin-bottom:18px;
}

.section-kicker{
    max-width:720px;
    margin:auto;
    color:#bdbdbd;
    font-size:17px;
    line-height:1.8;
}

.contact-wrap{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;
    margin-top:60px;
}

.class5-form{
    background:#141414;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:40px;
    box-shadow:0 25px 70px rgba(0,0,0,.35);
}

.class5-field{
    display:flex;
    flex-direction:column;
    margin-bottom:22px;
}

.class5-field label{
    color:#fff;
    font-size:15px;
    font-weight:600;
    margin-bottom:10px;
}

.class5-field input,
.class5-field textarea{
    width:100%;
    background:#1d1d1d;
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    border-radius:12px;
    padding:15px 18px;
    font-size:15px;
    transition:.3s;
    outline:none;
}

.class5-field textarea{
    min-height:150px;
    resize:vertical;
}

.class5-field input::placeholder,
.class5-field textarea::placeholder{
    color:#8b8b8b;
}

.class5-field input:focus,
.class5-field textarea:focus{
    border-color:#fdbe00;
    box-shadow:0 0 0 4px rgba(253,190,0,.12);
}

.class5-form-note{
    font-size:14px;
    line-height:1.7;
    color:#bdbdbd;
    margin-bottom:24px;
}

.class5-btn{
    width:100%;
    border:none;
    cursor:pointer;
    padding:17px;
    border-radius:14px;
    font-size:17px;
    font-weight:700;
    transition:.35s;
}

.class5-btn--primary{
    background:#fdbe00;
    color:#111;
}

.class5-btn--primary:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 40px rgba(253,190,0,.35);
}

#formMessage{
    margin-top:18px;
    font-size:15px;
    color:#7dff9c;
}


/*========================================
CONTACT INFO
========================================*/

.contact-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:22px;
    padding-left:20px;
}

.contact-info__row{
    display:flex;
    align-items:flex-start;
    gap:18px;
    background:#141414;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:22px;
    transition:.35s;
}

.contact-info__row:hover{
    transform:translateY(-4px);
    border-color:#fdbe00;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.contact-info__icon{
    width:58px;
    height:58px;
    flex-shrink:0;
    border-radius:50%;
    background:#fdbe00;
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    font-weight:700;
}

.contact-info__title{
    color:#fff;
    font-size:19px;
    font-weight:700;
    margin-bottom:6px;
}

.contact-info__text{
    color:#cfcfcf;
    font-size:15px;
    line-height:1.8;
}

.contact-info__text a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.contact-info__text a:hover{
    color:#fdbe00;
}

.map-embed{
    margin-top:12px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.map-embed iframe{
    width:100%;
    height:330px;
    display:block;
    border:0;
}

/*========================================
RESPONSIVE
========================================*/

@media (max-width:991px){

    .contact-wrap{
        grid-template-columns:1fr;
        gap:40px;
    }

    .class5-form{
        padding:30px 24px;
    }

    .contact-info{
        padding-left:0;
    }

    .section-title{
        font-size:36px;
    }

}

@media (max-width:767px){

    #contact{
        padding:80px 0;
    }

    .section-title{
        font-size:30px;
    }

    .section-kicker{
        font-size:15px;
    }

    .class5-form{
        padding:22px;
    }

    .contact-info__row{
        padding:18px;
    }

    .contact-info__icon{
        width:50px;
        height:50px;
        font-size:20px;
    }

    .map-embed iframe{
        height:260px;
    }

}


/*========================================
THANK YOU POPUP
========================================*/

.thankyou-modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(8px);
    z-index:999999;
    padding:20px;
}

.thankyou-modal.show{
    display:flex;
    animation:thankFade .35s ease;
}

.thankyou-box{
    width:100%;
    max-width:560px;
    background:#151515;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    padding:42px 35px;
    text-align:center;
    color:#fff;
    box-shadow:0 35px 90px rgba(0,0,0,.45);
    animation:thankPopup .35s ease;
}

.thankyou-icon{
    width:95px;
    height:95px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#16a34a;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:42px;
    font-weight:700;
    color:#fff;
}

.thankyou-box h3{
    margin:0 0 15px;
    font-size:34px;
    color:#fff;
    font-weight:700;
}

.thankyou-box p{
    color:#bfbfbf;
    line-height:1.8;
    font-size:16px;
    margin:0 0 28px;
}

.thankyou-actions{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-bottom:30px;
}

.thankyou-btn{
    height:52px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    color:#fff;
    transition:.3s;
}

.thankyou-btn:hover{
    transform:translateY(-3px);
}

.thankyou-btn.whatsapp{
    background:#25D366;
}

.thankyou-btn.instagram{
    background:#E1306C;
}

.thankyou-btn.facebook{
    background:#1877F2;
}

.thankyou-btn.youtube{
    background:#FF0000;
}

.thankyou-close{
    width:100%;
    height:54px;
    border:none;
    border-radius:14px;
    background:#fdbe00;
    color:#111;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.thankyou-close:hover{
    background:#e2aa00;
}

@keyframes thankFade{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

@keyframes thankPopup{
    from{
        opacity:0;
        transform:translateY(25px) scale(.92);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

@media(max-width:768px){

    .thankyou-box{
        padding:30px 22px;
    }

    .thankyou-actions{
        grid-template-columns:1fr;
    }

    .thankyou-box h3{
        font-size:28px;
    }

    .thankyou-box p{
        font-size:15px;
    }

}