/* ===== Offer popup: "ACCA Courses are Now Live!" ===== */
.promo-overlay .promo-modal.pm{
  --pm-font:'Plus Jakarta Sans','Nunito','Segoe UI',system-ui,sans-serif;
  width:min(1060px,100%);max-width:1060px;max-height:94vh;max-height:94dvh;overflow-x:hidden;overflow-y:auto;
  padding:clamp(22px,3.2vw,34px) clamp(20px,3.2vw,38px) clamp(24px,3.2vw,38px);border-radius:30px;font-family:var(--pm-font);
  background:
    radial-gradient(ellipse 50% 42% at 12% 4%,rgba(48,96,255,.28),transparent 66%),
    radial-gradient(ellipse 46% 44% at 94% 98%,rgba(110,70,255,.24),transparent 66%),
    linear-gradient(160deg,#050a24,#070d2e 55%,#0a0c30);
  border:1.5px solid rgba(86,110,255,.65);
  box-shadow:0 0 0 1px rgba(110,130,255,.12) inset,0 0 44px rgba(64,98,255,.28),0 30px 90px rgba(0,0,0,.7);
  scrollbar-width:none;
}
.pm::-webkit-scrollbar{display:none;}
.pm-bg{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;}
.pm-arc{position:absolute;pointer-events:none;border-radius:50%;border:1.5px solid rgba(70,118,255,.5);box-shadow:0 0 22px rgba(70,118,255,.3),inset 0 0 22px rgba(70,118,255,.12);width:min(46vw,520px);aspect-ratio:1;}
.pm-arc-l{left:-18%;top:-34%;}
.pm-arc-r{right:-20%;bottom:-48%;border-color:rgba(130,90,255,.45);box-shadow:0 0 22px rgba(130,90,255,.25),inset 0 0 22px rgba(130,90,255,.1);}
.pm .pm-close{top:clamp(14px,1.8vw,22px);right:clamp(14px,1.8vw,22px);width:40px;height:40px;background:rgba(14,24,70,.7);border:1.5px solid rgba(98,120,255,.8);color:#fff;}
.pm .pm-close svg{width:18px;height:18px;}
.pm-head{position:relative;z-index:2;text-align:center;margin-bottom:clamp(18px,2.4vw,28px);}
.pm-logo{font-size:clamp(17px,1.8vw,22px);font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:clamp(6px,1vw,12px);}
.pm-logo span{background:linear-gradient(90deg,#6a8bff,#b36cff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.pm-title{position:relative;display:inline-block;margin:0;font-weight:800;font-size:clamp(34px,5.4vw,66px);line-height:1.04;letter-spacing:-.045em;color:#fff;}
.pm-line{display:block;white-space:nowrap;}
.pm-grad{background:linear-gradient(90deg,#4f86ff,#8f6bff 70%,#a763ff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.pm-live-word{
  display:inline-block;font-style:normal;font-family:'Caveat','Segoe Script',cursive;font-weight:700;font-size:1.34em;line-height:.8;letter-spacing:-.01em;
  margin-left:.06em;transform:rotate(-7deg) translateY(.06em);
  background:linear-gradient(90deg,#9b5cff,#e04dee);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  position:relative;padding-right:.04em;
}
.pm-live-word::after{content:"";position:absolute;left:4%;right:-2%;bottom:-.04em;height:.1em;border-radius:99px;background:linear-gradient(90deg,#9b5cff,#e04dee);transform:rotate(1.5deg);opacity:.95;}
.pm-sparks{position:absolute;top:34%;width:.9em;height:1em;pointer-events:none;}
.pm-sparks i{position:absolute;display:block;height:3px;width:.32em;border-radius:3px;}
.pm-sparks-l{left:-.8em;}
.pm-sparks-r{right:-.8em;}
.pm-sparks-l i:nth-child(1){left:.1em;top:0;transform:rotate(55deg);background:#7a5cff;}
.pm-sparks-l i:nth-child(2){left:0;top:.5em;transform:rotate(30deg);background:#3f6bff;}
.pm-sparks-r i:nth-child(1){right:.1em;top:0;transform:rotate(-55deg);background:#3f84ff;}
.pm-sparks-r i:nth-child(2){right:0;top:.5em;transform:rotate(-30deg);background:#7a5cff;}

.pm-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,28px);}
.pm-card{
  --pm-a:#2f7cff;--pm-a2:#1c4fd8;
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:clamp(14px,2.4vw,30px);
  padding:clamp(16px,2.2vw,26px);border-radius:24px;isolation:isolate;
  border:1.5px solid var(--pm-line);background:var(--pm-bg);
  box-shadow:0 0 30px var(--pm-glow),inset 0 0 26px var(--pm-glow-in);
}
.pm-blue{--pm-line:#2f8cff;--pm-glow:rgba(47,140,255,.34);--pm-glow-in:rgba(47,140,255,.14);--pm-bg:linear-gradient(150deg,rgba(14,46,138,.62),rgba(7,22,78,.78));--pm-a:#2a74ff;--pm-a2:#1740c8;}
.pm-green{--pm-line:#35d668;--pm-glow:rgba(53,214,104,.32);--pm-glow-in:rgba(53,214,104,.12);--pm-bg:linear-gradient(150deg,rgba(10,74,38,.66),rgba(6,38,26,.82));--pm-a:#28c457;--pm-a2:#0f8a3a;}
.pm-info{min-width:0;}
.pm-live{display:inline-flex;align-items:center;gap:7px;padding:8px 18px 8px 10px;border-radius:999px;font-size:clamp(12px,1.15vw,15px);font-weight:800;letter-spacing:.03em;color:#fff;}
.pm-blue .pm-live{background:linear-gradient(90deg,#1c63f5,#2c9bff);box-shadow:0 0 18px rgba(44,155,255,.45);}
.pm-green .pm-live{background:linear-gradient(90deg,#0f7a36,#1db355);box-shadow:0 0 18px rgba(40,200,95,.4);}
.pm-live svg{width:20px;height:20px;padding:3px;border-radius:50%;background:rgba(255,255,255,.2);}
.pm-card h4{margin:clamp(14px,1.8vw,22px) 0 0;font-weight:800;font-size:clamp(23px,2.7vw,36px);line-height:1.12;letter-spacing:-.03em;color:#fff;}
.pm-card h4 span{display:block;}
.pm-blue h4 span{background:linear-gradient(90deg,#14b8ff,#4f8dff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.pm-green h4 span{background:linear-gradient(90deg,#9bff55,#2fd163);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.pm-art{position:relative;align-self:center;justify-self:end;width:clamp(96px,11.5vw,150px);}
.pm-cal{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4));}
.pm-cap{position:absolute;right:-26%;bottom:-2%;width:62%;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));}
.pm-green .pm-art{margin-right:clamp(10px,3vw,40px);}
.pm-off{position:absolute;z-index:3;top:clamp(-30px,-2.4vw,-18px);right:clamp(-14px,-.8vw,-4px);width:clamp(78px,8.6vw,112px);aspect-ratio:1;display:grid;place-items:center;transform:rotate(10deg);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));}
.pm-off svg{position:absolute;inset:0;width:100%;height:100%;}
.pm-off b{position:relative;font-weight:900;font-size:clamp(17px,2vw,26px);line-height:1;text-align:center;color:#12361a;letter-spacing:-.03em;}
.pm-cta{
  grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:0;padding:4px;border-radius:999px;text-decoration:none;color:#fff;
  border:1.5px solid var(--pm-line);background:rgba(4,12,44,.35);transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.pm-arrow{width:clamp(42px,3.8vw,50px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff;}
.pm-arrow svg{width:22px;height:22px;}
.pm-blue .pm-arrow{background:linear-gradient(135deg,#1659f0,#27a3ff);box-shadow:0 0 16px rgba(44,155,255,.5);}
.pm-green .pm-arrow{background:linear-gradient(135deg,#0fb04a,#2bf070);box-shadow:0 0 16px rgba(43,240,112,.45);}
.pm-cta-label{display:inline-flex;align-items:center;gap:9px;padding:0 clamp(16px,1.8vw,24px) 0 clamp(14px,1.6vw,20px);font-size:clamp(14px,1.3vw,17px);font-weight:700;white-space:nowrap;}
.pm-cta-label svg{width:17px;height:17px;}
.pm-cta:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);box-shadow:0 8px 22px rgba(0,0,0,.35);}
.pm-cta:active{transform:translateY(0) scale(.98);}

@media(max-width:760px){
  .promo-overlay{padding:14px;}
  .promo-overlay .promo-modal.pm{width:min(480px,100%);max-width:480px;border-radius:26px;padding:20px 16px 20px;max-height:96vh;max-height:96dvh;}
  .pm-arc{width:76vw;}
  .pm-arc-l{left:-30%;top:-18%;}
  .pm-arc-r{right:-34%;bottom:-24%;}
  .pm-title{font-size:clamp(32px,9.2vw,44px);}
  .pm-cards{grid-template-columns:1fr;gap:14px;}
  .pm-card{border-radius:20px;padding:16px;row-gap:14px;}
  .pm-card h4{font-size:clamp(22px,6.6vw,28px);}
  .pm-art{width:clamp(88px,26vw,116px);}
  .pm-green .pm-art{margin-right:clamp(6px,5vw,26px);}
  .pm-off{width:clamp(70px,20vw,88px);top:-16px;right:-6px;}
  .pm-cta{justify-self:stretch;}
  .pm-cta-label{flex:1;justify-content:center;padding:0 14px;}
  .pm-cta-label svg{display:none;}
}
@media(prefers-reduced-motion:reduce){.pm-cta{transition:none;}}

/* ===== Story video popup ===== */
.story-open{overflow:hidden;}
.story-modal{
  position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:20px;
  background:rgba(5,8,22,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;
}
.story-modal.open{opacity:1;visibility:visible;}
.story-box{
  position:relative;width:min(960px,100%,calc((100vh - 120px) * 16 / 9));width:min(960px,100%,calc((100svh - 120px) * 16 / 9));width:min(960px,100%,calc((100lvh - 120px) * 16 / 9));aspect-ratio:16/9;
  border-radius:16px;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);
  transform:scale(.96) translateY(8px);transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.story-modal.open .story-box{transform:none;}
.story-frame{position:absolute;inset:0;border-radius:inherit;overflow:hidden;}
.story-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.story-close{
  position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);
  transition:background-color .2s ease,transform .2s ease;
}
.story-close svg{width:18px;height:18px;}
.story-close:hover{background:rgba(255,255,255,.26);}
.story-close:active{transform:scale(.94);}
@media(max-width:560px){.story-modal{padding:14px;}.story-close{top:-44px;}}
@media(prefers-reduced-motion:reduce){.story-modal,.story-box{transition:none;}}
