
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TOKENS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root{
  --p-cream:#F7F5F1;
  --p-navy:#000038;
  --p-mag:#9B1F54;
  --p-mag-dk:#7a1840;
  --p-royal:#1B4BB8;
  --p-gold:#C9951A;
  --p-white:#fff;
  --ease:cubic-bezier(.22,.61,.36,1);
  --bounce:cubic-bezier(.34,1.56,.64,1);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SCOPE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-page{ font-family:'Poppins',sans-serif; background:var(--p-cream); color:var(--p-navy); overflow-x:hidden; margin:0; padding:0; }
.p-page *,.p-page *::before,.p-page *::after{ box-sizing:border-box; margin:0; padding:0; }
.p-page a{ text-decoration:none; color:inherit; }
@media(prefers-reduced-motion:reduce){ .p-page *{ animation:none !important; transition:none !important; } }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO — split layout, cycling word, progress rail
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-hero{
  background:var(--p-navy);
  padding: 2vw;
  display:flex;
  position:relative;overflow:hidden;
}

/* left content zone */
.p-hero-left{
  flex:1.3;
  display:flex;align-items:center;
  padding:0 56px;
  position:relative;z-index:2;
}

/* right accent zone — diagonal split with degree marks */
.p-hero-right{
  flex:1;
  position:relative;
  background:linear-gradient(150deg,var(--p-mag) 0%,var(--p-mag-dk) 55%,#5e1230 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  clip-path:polygon(12% 0,100% 0,100% 100%,0% 100%);
}
.p-hero-right::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.1) 1.5px,transparent 1.5px);
  background-size:22px 22px;
  animation:dotsDrift 8s linear infinite;
}
@keyframes dotsDrift{ from{background-position:0 0} to{background-position:44px 44px} }

/* rotating diploma seal */
.p-seal{
  position:relative;z-index:1;
  width:150px;height:150px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  animation:sealSpin 30s linear infinite;
}
.p-seal::before{
  content:'';position:absolute;inset:14px;
  border-radius:50%;border:1px dashed rgba(255,255,255,.28);
}
.p-seal-inner{
  width:90px;height:90px;border-radius:50%;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:34px;color:#fff;
  animation:sealSpin 30s linear infinite reverse;
}
@keyframes sealSpin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }

/* orbiting degree labels around seal */
.p-orbit-label{
  position:absolute;
  font-size:9px;font-weight:700;letter-spacing:1.5px;
  color:rgba(255,255,255,.55);
  white-space:nowrap;
}
.p-orbit-label:nth-child(1){ top:8%; left:50%; transform:translateX(-50%); }
.p-orbit-label:nth-child(2){ bottom:14%; left:14%; }
.p-orbit-label:nth-child(3){ bottom:14%; right:10%; }

/* left content */
.p-hero-inner{ max-width:560px; }

.p-hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(155,31,84,.16);
  border:1px solid rgba(155,31,84,.35);
  padding:6px 14px;border-radius:22px;margin-bottom:18px;
  opacity:0;animation:popIn .6s var(--bounce) .1s forwards;
}
.p-hero-badge-dot{ width:6px;height:6px;border-radius:50%;background:var(--p-mag); animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{box-shadow:0 0 0 0 rgba(155,31,84,.6)} 50%{box-shadow:0 0 0 6px rgba(155,31,84,0)} }
.p-hero-badge span{ font-size:10px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:rgba(255,255,255,.75); }

.p-hero h1{
  font-size:clamp(26px,3.2vw,40px);
  font-weight:900;line-height:1.12;
  color:#fff;letter-spacing:-1px;
  margin-bottom:6px;
  opacity:0;animation:fadeUp .7s var(--ease) .22s forwards;
}

/* cycling word strip */
.p-cycle-row{
  display:flex;align-items:baseline;gap:10px;
  margin-bottom:16px;
  opacity:0;animation:fadeUp .7s var(--ease) .35s forwards;
}
.p-cycle-static{
  font-size:clamp(26px,3.2vw,40px);
  font-weight:900;color:#fff;letter-spacing:-1px;
}
/*.p-cycle-wrap{
  position:relative;
  height:1.2em;
  overflow:hidden;
  min-width:160px;
}
.p-cycle-word{
  position:absolute;left:0;top:0;
  font-size:clamp(26px,3.2vw,40px);
  font-weight:900;letter-spacing:-1px;
  color:var(--p-mag);
  opacity:0;
  transform:translateY(100%);
  animation:cycleWords 9s ease-in-out infinite;
}
.p-cycle-word:nth-child(1){ animation-delay:0s; }
.p-cycle-word:nth-child(2){ animation-delay:3s; }
.p-cycle-word:nth-child(3){ animation-delay:6s; }
@keyframes cycleWords{
  0%{ opacity:0; transform:translateY(100%); }
  4%{ opacity:1; transform:translateY(0); }
  29%{ opacity:1; transform:translateY(0); }
  33%{ opacity:0; transform:translateY(-100%); }
  100%{ opacity:0; transform:translateY(-100%); }
}*/

.p-hero-sub{
  font-size:13.5px;font-weight:300;color:rgba(247,245,241,.5);
  line-height:1.65;max-width:420px;margin-bottom:22px;
  opacity:0;animation:fadeUp .8s var(--ease) .5s forwards;
}

.p-hero-ctas{ display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px; opacity:0;animation:fadeUp .8s var(--ease) .62s forwards; }
.p-btn-glow{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;background:var(--p-mag);color:#fff !important;
  font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;
  border-radius:3px;text-decoration:none;
  transition:background .22s,transform .18s,box-shadow .22s;
  box-shadow:0 6px 24px rgba(155,31,84,.4);
  position:relative;overflow:hidden;
}
.p-btn-glow::before{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.3),transparent);
  transition:left .6s ease;
}
.p-btn-glow:hover::before{ left:130%; }
.p-btn-glow:hover{ background:var(--p-mag-dk); transform:translateY(-2px); box-shadow:0 12px 32px rgba(155,31,84,.5); }
.p-btn-glow i{ font-size:11px; transition:transform .2s; }
.p-btn-glow:hover i{ transform:translateY(2px); }
.p-btn-line{
  display:inline-flex;align-items:center;gap:7px;
  padding:11px 18px;background:transparent;color:rgba(255,255,255,.7) !important;
  font-family:'Poppins',sans-serif;font-size:12px;font-weight:500;
  border:1.5px solid rgba(255,255,255,.18);border-radius:3px;text-decoration:none;
  transition:border-color .2s,color .2s,background .2s;
}
.p-btn-line:hover{ border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05); }

/* animated progress rail — 7 programmes ticks */
.p-rail{
  display:flex;align-items:center;gap:0;
  opacity:0;animation:fadeUp .8s var(--ease) .75s forwards;
}
.p-rail-label{
  font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-right:14px;white-space:nowrap;
}
.p-rail-track{
  display:flex;gap:5px;align-items:center;
}
.p-rail-tick{
  width:22px;height:4px;border-radius:2px;
  background:rgba(255,255,255,.15);
  position:relative;overflow:hidden;
}
.p-rail-tick::after{
  content:'';position:absolute;inset:0;
  background:var(--p-mag);
  transform:scaleX(0);transform-origin:left;
  animation:tickFill .8s var(--ease) forwards;
}
.p-rail-tick:nth-child(1)::after{ animation-delay:.9s; }
.p-rail-tick:nth-child(2)::after{ animation-delay:1.0s; }
.p-rail-tick:nth-child(3)::after{ animation-delay:1.1s; }
.p-rail-tick:nth-child(4)::after{ animation-delay:1.2s; }
.p-rail-tick:nth-child(5)::after{ animation-delay:1.3s; }
.p-rail-tick:nth-child(6)::after{ animation-delay:1.4s; }
.p-rail-tick:nth-child(7)::after{ animation-delay:1.5s; }
@keyframes tickFill{ to{ transform:scaleX(1); } }
.p-rail-count{
  font-size:13px;font-weight:800;color:#fff;margin-left:12px;
}

@keyframes fadeUp{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes popIn{ from{opacity:0;transform:scale(.85)} to{opacity:1;transform:scale(1)} }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   QUICK FACTS STRIP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-facts{
  background:var(--p-white);
  border-bottom:1px solid rgba(0,0,56,.08);
  padding:0 64px;
  display:flex;
  position:sticky;top:0;z-index:60;
}
.p-fact{
  flex:1;
  padding:16px 0;
  display:flex;align-items:center;gap:10px;
  border-right:1px solid rgba(0,0,56,.07);
  justify-content:center;
}
.p-fact:last-child{ border-right:none; }
.p-fact i{ font-size:15px;color:var(--p-mag); }
.p-fact-text{ display:flex;flex-direction:column; }
.p-fact-num{ font-size:14px;font-weight:800;color:var(--p-navy);line-height:1.1; }
.p-fact-label{ font-size:9.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(0,0,56,.4); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MAIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-main{ padding:64px 64px 90px; max-width:1420px; margin:0 auto; }

.p-section-head{ margin-bottom:40px; text-align:left; }
.p-section-ey{
  font-size:10px;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;
  color:var(--p-mag);margin-bottom:10px;display:flex;align-items:center;gap:10px;
}
.p-section-ey::before{ content:''; display:block; width:24px; height:2px; background:var(--p-mag); }
.p-section-title{ font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:8px; }
.p-section-desc{ font-size:13.5px;color:rgba(0,0,56,.5);line-height:1.7;max-width:560px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   UNIFIED PROGRAM GRID
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }

.p-card{
  background:var(--p-white);
  border:1.5px solid rgba(0,0,56,.07);
  border-radius:6px;
  overflow:hidden;
  position:relative;
  display:flex;flex-direction:column;
  transition:transform .35s var(--bounce),box-shadow .35s var(--ease),border-color .3s;
  opacity:0;
  transform:translateY(28px);
  cursor:pointer;
}
.p-card.visible{ opacity:1;transform:translateY(0); }
.p-card:hover{
  transform:translateY(-10px) scale(1.015);
  box-shadow:0 28px 60px rgba(0,0,56,.14);
  border-color:transparent;
  z-index:5;
}

/* featured MBA card spans differently */
.p-card.featured{
  grid-column:span 1;
}
.p-card.featured .p-card-visual{ height:190px; }

.p-card-visual{
  height:150px;
  position:relative;overflow:hidden;
}
.p-card-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease);
  display:block;
}
.p-card:hover .p-card-img{ transform:scale(1.1); }

.p-card-visual::after{
  content:'';position:absolute;inset:0;
  transition:background .35s ease;
}
.ov-1::after{ background:linear-gradient(180deg,rgba(155,31,84,.2) 0%,rgba(110,19,57,.72) 100%); }
.ov-2::after{ background:linear-gradient(180deg,rgba(27,75,184,.2) 0%,rgba(13,45,128,.7) 100%); }
.ov-3::after{ background:linear-gradient(180deg,rgba(0,0,56,.22) 0%,rgba(27,75,184,.6) 100%); }
.ov-4::after{ background:linear-gradient(180deg,rgba(201,149,26,.22) 0%,rgba(155,31,84,.65) 100%); }
.ov-5::after{ background:linear-gradient(180deg,rgba(0,0,56,.22) 0%,rgba(122,24,64,.68) 100%); }
.ov-6::after{ background:linear-gradient(180deg,rgba(27,75,184,.2) 0%,rgba(0,0,56,.7) 100%); }
.ov-7::after{ background:linear-gradient(180deg,rgba(155,31,84,.2) 0%,rgba(0,0,56,.72) 100%); }

.p-card-type{
  position:absolute;top:12px;left:12px;z-index:2;
  font-size:9.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;
  padding:5px 11px;border-radius:14px;
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.3);
  color:#fff;
}
.p-card-flagship{
  position:absolute;top:12px;right:12px;z-index:2;
  display:flex;align-items:center;gap:4px;
  font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;
  padding:5px 10px;border-radius:14px;
  background:var(--p-gold);color:#fff;
}
.p-card-flagship i{ font-size:9px; }

.p-card-icon-chip{
  position:absolute;bottom:12px;right:12px;z-index:2;
  width:36px;height:36px;border-radius:8px;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:#fff;
  transition:transform .35s var(--bounce),background .25s;
}
.p-card:hover .p-card-icon-chip{ transform:scale(1.12) rotate(-6deg); background:rgba(255,255,255,.26); }

.p-card-body{ padding:24px 24px 22px;display:flex;flex-direction:column;flex:1; }
.p-card h3{
  font-size:17px;font-weight:700;line-height:1.28;
  letter-spacing:-.3px;margin-bottom:10px;
  transition:color .2s;
}
.p-card:hover h3{ color:var(--p-mag); }
.p-card-line{
  font-size:12.5px;font-weight:400;color:rgba(0,0,56,.5);
  line-height:1.62;margin-bottom:20px;flex:1;
}

.p-card-modes{ display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px; }
.p-mode{
  display:inline-flex;align-items:center;gap:5px;
  font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 9px;border-radius:8px;
}
.mode-online{ background:rgba(27,75,184,.07);color:var(--p-royal); }
.mode-mixed{ background:rgba(155,31,84,.07);color:var(--p-mag); }

.p-card-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:16px;border-top:1px solid rgba(0,0,56,.06);
  margin-top:auto;
}
.p-duration-badge{
  display:flex;align-items:center;gap:5px;
  font-size:11px;font-weight:600;color:rgba(0,0,56,.42);
}
.p-duration-badge i{ font-size:10px;color:var(--p-royal); }
.p-card-cta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--p-navy);
  padding:7px 14px;border:1.5px solid rgba(0,0,56,.15);
  border-radius:20px;white-space:nowrap;flex-shrink:0;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.p-card-cta i{ font-size:10px;transition:transform .2s; }
.p-card:hover .p-card-cta{
  background:var(--p-mag);color:#fff;border-color:var(--p-mag);
  transform:translateX(3px) scale(1.04);
}
.p-card:hover .p-card-cta i{ transform:translateX(3px); }

.p-card-shine{
  position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);
  transform:translateX(-150%);
  pointer-events:none;
  opacity:0;
}
.p-card:hover .p-card-shine{ animation:shineSweep .9s ease forwards; }
@keyframes shineSweep{ 0%{transform:translateX(-150%);opacity:.4;} 100%{transform:translateX(150%);opacity:0;} }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BOTTOM CTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.p-cta-band{
  background:var(--p-navy);
  padding:64px 64px;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.p-cta-band::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 45% 120% at 0% 50%,rgba(155,31,84,.3) 0%,transparent 55%),
    radial-gradient(ellipse 35% 90% at 100% 50%,rgba(27,75,184,.2) 0%,transparent 55%);
  pointer-events:none;
}
.p-cta-left{ position:relative;z-index:1; }
.p-cta-ey{ font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--p-mag);display:block;margin-bottom:10px; }
.p-cta-h2{ font-size:clamp(24px,3vw,38px);font-weight:900;color:#fff;line-height:1.15;letter-spacing:-1px; }
.p-cta-h2 span{ color:var(--p-mag); }
.p-cta-p{ font-size:14px;font-weight:300;color:rgba(247,245,241,.5);line-height:1.7;margin-top:10px;max-width:440px; }
.p-cta-btns{ display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:1100px){
  .p-hero-left{ padding:0 40px; }
  .p-facts{ padding:0 40px; }
  .p-main{ padding:52px 40px 64px; }
  .p-cta-band{ padding:48px 40px; }
}
@media(max-width:980px){
  .p-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:880px){
  .p-hero{ flex-direction:column;min-height:auto;max-height:none; }
  .p-hero-right{ display:none; }
  .p-hero-left{ padding:36px 24px; }
  .p-facts{ overflow-x:auto; }
  .p-fact{ min-width:140px; }
}
@media(max-width:760px){
  .p-hero h1, .p-cycle-static, .p-cycle-word{ font-size:24px; }
  .p-hero-sub{ font-size:13px; }
  .p-rail-label{ display:none; }
  .p-main{ padding:44px 22px 60px; }
  .p-grid{ grid-template-columns:1fr; }
  .p-cta-band{ padding:40px 22px;flex-direction:column;align-items:flex-start; }
  .p-cta-btns{ flex-direction:column;width:100%; }
}
@media(max-width:420px){
  .p-hero-ctas{ flex-direction:column;align-items:flex-start;width:100%; }
  .p-btn-glow,.p-btn-line{ width:100%;justify-content:center; }
  .p-card-body{ padding:20px 20px 18px; }
  .p-card-foot{ flex-direction:column;align-items:flex-start;gap:12px; }
  .p-card-cta{ width:100%;justify-content:center; }
}