/* Trainings page */
.hero-copy h1 span{display:block;margin-top:8px}
.feat-strip{background:#fff;border-bottom:1px solid #E1E8F2}
.feat-row{display:grid;grid-template-columns:repeat(4,1fr)}
.feat-row div{display:flex;align-items:center;gap:12px;padding:22px 18px;border-right:1px solid #E1E8F2;color:var(--navy);font-size:.92rem}
.feat-row div:first-child{padding-left:0}.feat-row div:last-child{border:0}
.feat-row .hub-icon{width:42px;height:42px;flex:0 0 42px}
.prog-list{display:grid;gap:16px}
.prog{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;background:#fff;border:1px solid #E1E8F2;border-radius:14px;padding:28px}
.prog-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.prog-head h3{margin:0;font-size:1.3rem;color:var(--navy)}
.prog-head .btn{margin-top:6px;min-height:42px;padding:9px 16px}
.dur{background:#FFF4CA;color:#6B4C00;font-size:.78rem;font-weight:700;padding:5px 11px;border-radius:30px}
.topics{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.topics li{break-inside:avoid;padding:10px 0 10px 26px;border-bottom:1px solid #EDF2F8;position:relative;color:#33435F;font-size:.95rem}
.topics li:before{content:"";position:absolute;left:3px;top:17px;width:6px;height:6px;background:var(--blue);border-radius:1px;transform:rotate(45deg)}
.prog.place{background:var(--navy);border-color:var(--navy)}
.prog.place h3{color:#fff}.prog.place .hub-icon{background:#ffffff1a;color:var(--yellow)}.prog.place .dur{background:var(--yellow);color:var(--navy)}
.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.place-grid div{background:#ffffff12;border:1px solid #ffffff22;border-radius:12px;padding:24px}
.place-grid strong{display:block;font:800 1.6rem 'Plus Jakarta Sans';color:#fff}.place-grid span{color:#C9D8F2;font-size:.92rem}
.sup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sup{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #E1E8F2;border-radius:14px;padding:18px;color:var(--navy);font-size:.92rem}
.sup .hub-icon{width:42px;height:42px;flex:0 0 42px}
@media(max-width:1080px){.sup-grid{grid-template-columns:repeat(3,1fr)}.prog{grid-template-columns:1fr;gap:18px}.prog-head{flex-direction:row;flex-wrap:wrap;align-items:center}.prog-head .btn{margin:0 0 0 auto}}
@media(max-width:800px){.feat-row{grid-template-columns:repeat(2,1fr)}.feat-row div{border-bottom:1px solid #E1E8F2;padding-left:0}.feat-row div:nth-child(2){border-right:0}.sup-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topics{columns:1}.place-grid{grid-template-columns:1fr}.prog{padding:20px}.sup{padding:14px;gap:10px;font-size:.82rem}.sup .hub-icon{width:36px;height:36px;flex-basis:36px}.feat-row div{font-size:.8rem;gap:8px}}

/* ===================================================================
   Trainings hero — clean, centred, animated (no photo)
   =================================================================== */
.th{position:relative;overflow:hidden;isolation:isolate;padding:84px 0 0;background:#fff;text-align:center}
.th-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.th-grid{position:absolute;inset:0;background-image:linear-gradient(#0B2A6F0d 1px,transparent 1px),linear-gradient(90deg,#0B2A6F0d 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 65% at 50% 40%,#000 30%,transparent 75%)}
.th-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.6}
.th-blob.b1{width:420px;height:420px;background:#D6E4FF;left:8%;top:-120px;animation:thBlobA 16s ease-in-out infinite alternate}
.th-blob.b2{width:340px;height:340px;background:#FFEDB3;right:6%;top:80px;animation:thBlobB 14s ease-in-out infinite alternate}
@keyframes thBlobA{to{transform:translate(140px,80px) scale(1.12)}}
@keyframes thBlobB{to{transform:translate(-120px,40px) scale(.9)}}

.th-inner{position:relative;max-width:1040px}
.th-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border:1px solid #D7E3F5;background:#ffffffcc;backdrop-filter:blur(6px);border-radius:40px;font-size:.82rem;font-weight:700;color:var(--navy);animation:thUp .7s .1s cubic-bezier(.2,.7,.2,1) both}
.th-live{position:relative;width:8px;height:8px;border-radius:50%;background:#12A56A}
.th-live:after{content:"";position:absolute;inset:0;border-radius:50%;background:#12A56A;animation:thPulse 1.8s ease-out infinite}
@keyframes thPulse{to{transform:scale(3);opacity:0}}

.th h1{font:700 clamp(2.2rem,4.4vw,3.7rem)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-.035em;color:var(--ink);margin:24px 0 20px}
.th-l1,.th-l2{display:block;animation:thLine .9s cubic-bezier(.2,.7,.2,1) both}
.th-l1{animation-delay:.25s;min-height:1.12em;white-space:nowrap}.th-l2{animation-delay:.42s}
.th-type{color:var(--blue)}
.th-caret{display:inline-block;width:4px;height:.85em;background:var(--yellow);margin-left:5px;vertical-align:-.06em;border-radius:2px;animation:thBlink 1s steps(1) infinite}
.th-grad{position:relative;display:inline-block;color:transparent;background:linear-gradient(90deg,#1F5FE0,#0B2A6F 30%,#4C82FF 55%,#1F5FE0 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:thGrad 6s linear infinite}
.th-grad:after{content:"";position:absolute;left:2%;right:2%;bottom:-2px;height:.14em;border-radius:20px;background:var(--yellow);opacity:.9;z-index:-1;transform:scaleX(0);transform-origin:left;animation:thDraw .9s 1.2s cubic-bezier(.2,.7,.2,1) forwards}
.th-sub{font-size:1.1rem;max-width:600px;margin:0 auto 30px;color:var(--muted);animation:thUp .8s .6s cubic-bezier(.2,.7,.2,1) both}
.th-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;animation:thUp .8s .75s cubic-bezier(.2,.7,.2,1) both}

.th-stats{display:inline-flex;margin-top:44px;border:1px solid #E1E8F2;border-radius:16px;background:#ffffffd9;backdrop-filter:blur(6px);animation:thUp .8s .9s cubic-bezier(.2,.7,.2,1) both}
.th-stats div{padding:16px 30px;border-right:1px solid #E1E8F2;text-align:left}
.th-stats div:last-child{border:0}
.th-stats strong{display:block;font:700 1.7rem/1.1 'Plus Jakarta Sans',sans-serif;color:var(--navy);letter-spacing:-.02em}
.th-stats b{font:inherit}
.th-stats em{font-style:normal;color:var(--blue);font-size:1rem;margin-left:2px}
.th-stats span{font-size:.8rem;color:var(--muted)}

/* floating icon tiles */
.th-float span{position:absolute;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#fff;border:1px solid #E1E8F2;box-shadow:0 14px 30px #0b2a6f14;color:var(--navy);animation:thPop .6s both,thBob 5s ease-in-out infinite}
.th-float svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.th-float .f1{left:9%;top:120px;animation-delay:1s,1.6s;transform:rotate(-8deg)}
.th-float .f2{right:10%;top:150px;animation-delay:1.15s,2.2s;background:var(--navy);color:var(--yellow);border-color:var(--navy)}
.th-float .f3{left:14%;top:330px;animation-delay:1.3s,1.9s;background:#FFF4CA;color:#6B4C00;border-color:#FFE6A0}
.th-float .f4{right:15%;top:360px;animation-delay:1.45s,2.6s}
@keyframes thBob{0%,100%{translate:0 0}50%{translate:0 -12px}}

/* two-row topic marquee */
.th-marquee{margin-top:64px;padding:22px 0 26px;border-top:1px solid #E1E8F2;background:linear-gradient(180deg,#F7FAFF,#fff);display:grid;gap:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);animation:thUp .8s 1.05s both}
.th-row{overflow:hidden}
.th-track{display:flex;width:max-content;animation:thScroll 50s linear infinite}
.th-row.r2 .th-track{animation-direction:reverse;animation-duration:58s}
.th-row:hover .th-track{animation-play-state:paused}
.th-group{display:flex;gap:12px;padding-right:12px}
.th-group span{white-space:nowrap;padding:9px 16px;border-radius:40px;border:1px solid #DCE6F3;background:#fff;font-size:.86rem;font-weight:600;color:#34445D;transition:background .2s,color .2s,border-color .2s}
.th-group span:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.th-row.r2 .th-group span{background:#FFFBEE;border-color:#F6E3A6}
.th-row.r2 .th-group span:hover{background:var(--yellow);color:var(--navy)}
@keyframes thScroll{to{transform:translateX(-50%)}}

@keyframes thUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes thLine{from{opacity:0;transform:translateY(34px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes thPop{from{opacity:0;scale:.5}to{opacity:1;scale:1}}
@keyframes thBlink{50%{opacity:0}}
@keyframes thGrad{to{background-position:-220% 0}}
@keyframes thDraw{to{transform:scaleX(1)}}

@media(max-width:1080px){.th-float .f1,.th-float .f3{left:3%}.th-float .f2,.th-float .f4{right:3%}}
@media(max-width:800px){
  .th{padding-top:56px}
  .th-float{display:none}
  .th-marquee{margin-top:48px}
}
@media(max-width:560px){
  .th{padding-top:42px}
  .th h1{font-size:2.15rem;margin:20px 0 16px}
  .th-l1{min-height:2.24em;white-space:normal}
  .th-sub{font-size:.98rem}
  .th-cta .btn{flex:1}
  .th-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin-top:32px}
  .th-stats div{padding:13px 8px;text-align:center}
  .th-stats strong{font-size:1.3rem}
  .th-stats span{font-size:.68rem;display:block;line-height:1.3}
  .th-group span{font-size:.78rem;padding:7px 13px}
}
@media(prefers-reduced-motion:reduce){
  .th *,.th *:before,.th *:after{animation:none!important}
  .th-grad:after{transform:none}
}
@media(max-width:800px){.th-l1{white-space:normal;min-height:2.24em}}
.th-br{display:none}
@media(max-width:560px){
  .th-br{display:inline}
  .th h1{font-size:1.85rem}
  .th-l1{min-height:2.24em;white-space:nowrap}
  .th-cta .btn{padding:12px 10px;white-space:nowrap;font-size:.88rem}
}
