.hero-training{
  --training-accent:#66ffe6;
  --training-accent-rgb:102,255,230;
  position:relative;
  padding:12px 0 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 30%,rgba(0,214,200,.1),transparent 25%),
    radial-gradient(circle at 100% 0%,rgba(83,109,254,.11),transparent 34%),
    linear-gradient(135deg,#0a101a 0%,#0b1422 56%,#0c1626 100%);
}

.hero-training::before{
  background-image:
    linear-gradient(rgba(144,174,215,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(144,174,215,.045) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.45;
  animation:none;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 94%);
  mask-image:linear-gradient(to bottom,#000,transparent 94%);
}

.hero-training::after{
  background:none;
  opacity:1;
}

.training-container{
  width:min(1200px,calc(100% - 40px));
  margin-inline:auto;
}

.training-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(48px,7vw,92px);
  align-items:center;
  padding:56px 0 70px;
}

.training-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#8bf5e6;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.training-kicker::before{
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
  box-shadow:0 0 12px rgba(var(--training-accent-rgb),.4);
}

.training-hero-copy h1{
  max-width:740px;
  margin:18px 0 0;
  color:#f2f6fd;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(3.2rem,5.5vw,5.35rem);
  font-weight:300;
  line-height:.97;
  letter-spacing:-.052em;
}

.training-hero-copy h1 strong{
  display:block;
  color:var(--training-accent);
  font-weight:620;
}

.training-hero-copy .sub{
  max-width:680px;
  margin:23px 0 0;
  color:#acbdd3;
  font-size:clamp(.97rem,1.25vw,1.08rem);
  line-height:1.72;
}

.training-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:29px;
}

.training-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:11px;
  font-size:.88rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.training-button:hover{
  transform:translateY(-2px);
}

.training-button-primary{
  color:#06131b;
  background:linear-gradient(135deg,#78ffec,#24d7ca);
  box-shadow:0 12px 30px rgba(0,214,200,.18);
}

.training-button-primary:hover{
  box-shadow:0 16px 38px rgba(0,214,200,.25);
}

.training-button-secondary{
  border-color:rgba(191,211,240,.23);
  color:#eaf2ff;
  background:rgba(255,255,255,.035);
}

.training-button-secondary:hover{
  border-color:rgba(var(--training-accent-rgb),.48);
  background:rgba(var(--training-accent-rgb),.055);
}

.training-hero-art{
  position:relative;
  display:grid;
  place-items:center;
  min-height:390px;
}

.training-session{
  position:relative;
  width:min(370px,90vw);
  min-height:400px;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(176,202,235,.16);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 38%,rgba(var(--training-accent-rgb),.1),transparent 34%),
    linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),
    #09131f;
  box-shadow:0 30px 80px rgba(0,0,0,.34);
}

.training-session::before{
  content:"";
  position:absolute;
  right:-82px;
  bottom:-82px;
  width:230px;
  aspect-ratio:1;
  border:1px solid rgba(var(--training-accent-rgb),.15);
  border-radius:50%;
  box-shadow:
    0 0 0 30px rgba(var(--training-accent-rgb),.025),
    0 0 0 62px rgba(83,109,254,.018);
}

.training-session-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(176,202,235,.11);
  color:#8396b0;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.training-live{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#99f8ea;
}

.training-live::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--training-accent);
  box-shadow:0 0 10px rgba(var(--training-accent-rgb),.6);
}

.training-session-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:138px;
  aspect-ratio:1;
  margin:44px auto 38px;
  border:1px solid rgba(var(--training-accent-rgb),.2);
  border-radius:50%;
  color:#e5fbf7;
  background:rgba(6,14,24,.48);
  box-shadow:
    0 0 0 17px rgba(var(--training-accent-rgb),.025),
    inset 0 0 35px rgba(var(--training-accent-rgb),.06);
}

.training-session-icon i{
  font-size:4rem;
}

.training-session-flow{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(176,202,235,.11);
  border-bottom:1px solid rgba(176,202,235,.11);
}

.training-session-flow span{
  position:relative;
  padding:12px 5px;
  border-right:1px solid rgba(176,202,235,.11);
  color:#c9d7e8;
  font-size:.61rem;
  font-weight:750;
  text-align:center;
  text-transform:uppercase;
}

.training-session-flow span:last-child{
  border-right:0;
}

.training-session-foot{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:17px;
  color:#8396b0;
  font-size:.69rem;
}

.training-session-foot i{
  color:var(--training-accent);
}

.training-section{
  position:relative;
  padding:clamp(76px,8vw,108px) 0;
  overflow:hidden;
  background:#09111e;
}

.training-section-alt{
  background:
    radial-gradient(circle at 100% 0%,rgba(83,109,254,.07),transparent 30%),
    linear-gradient(180deg,#0b1422,#09111e);
}

.training-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:34px;
  margin-bottom:34px;
}

.training-section-head > div{
  max-width:720px;
}

.training-section-head .training-kicker{
  margin-bottom:13px;
}

.training-section-head h2{
  margin:0;
  color:#f1f6ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(2.15rem,4vw,3.55rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.035em;
}

.training-catalog{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.training-card{
  --course-accent:#66ffe6;
  --course-accent-rgb:102,255,230;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(176,202,235,.13);
  border-radius:20px;
  background:
    radial-gradient(circle at 0% 0%,rgba(var(--course-accent-rgb),.075),transparent 34%),
    linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.012)),
    #0a1321;
  box-shadow:0 22px 58px rgba(0,0,0,.2);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.training-card.mode-offline{
  --course-accent:#91a5ff;
  --course-accent-rgb:145,165,255;
}

.training-card.mode-hybrid{
  --course-accent:#b59cff;
  --course-accent-rgb:181,156,255;
}

.training-card.mode-flexible{
  --course-accent:#87bfff;
  --course-accent-rgb:135,191,255;
}

.training-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:2px;
  background:linear-gradient(90deg,var(--course-accent),rgba(var(--course-accent-rgb),.16),transparent);
  opacity:.7;
}

.training-card:hover{
  transform:translateY(-3px);
  border-color:rgba(var(--course-accent-rgb),.28);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}

.training-card-head{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:27px 27px 22px;
}

.training-card-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(var(--course-accent-rgb),.2);
  border-radius:14px;
  color:var(--course-accent);
  background:rgba(var(--course-accent-rgb),.055);
  box-shadow:inset 0 0 25px rgba(0,0,0,.2);
}

.training-card-icon i{
  font-size:1.55rem;
}

.training-card-eyebrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 13px;
  margin-bottom:8px;
  color:#8496af;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.training-card-eyebrow span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.training-card-eyebrow i{
  color:var(--course-accent);
}

.training-card h3{
  margin:0;
  color:#eef5ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(1.22rem,2vw,1.5rem);
  font-weight:590;
  line-height:1.28;
}

.training-card-summary{
  min-height:74px;
  margin:0;
  padding:0 27px 21px;
  color:#a6b7cc;
  font-size:.88rem;
  line-height:1.66;
}

.training-card-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0 27px;
  border-top:1px solid rgba(176,202,235,.1);
  border-bottom:1px solid rgba(176,202,235,.1);
}

.training-card-stat{
  min-width:0;
  padding:14px 10px;
  border-right:1px solid rgba(176,202,235,.1);
}

.training-card-stat:first-child{
  padding-left:0;
}

.training-card-stat:last-child{
  padding-right:0;
  border-right:0;
}

.training-card-stat small{
  display:block;
  margin-bottom:5px;
  color:#7589a5;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.training-card-stat strong{
  display:block;
  overflow:hidden;
  color:#d9e5f5;
  font-size:.76rem;
  font-weight:680;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.training-card-included{
  display:flex;
  align-items:center;
  gap:8px;
  margin:18px 27px 0;
  color:#98a9bf;
  font-size:.76rem;
  font-weight:650;
}

.training-card-included i{
  color:var(--course-accent);
}

.training-card-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:auto;
  padding:22px 27px 27px;
}

.training-price small,
.training-price strong,
.training-price span{
  display:block;
}

.training-price small{
  margin-bottom:4px;
  color:#7589a5;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.training-price strong{
  color:var(--course-accent);
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:1.3rem;
  font-weight:720;
  line-height:1.1;
}

.training-price span{
  margin-top:3px;
  color:#92a3ba;
  font-size:.69rem;
}

.training-card-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

.training-card-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:9px;
  font-size:.77rem;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.training-card-button:hover{
  transform:translateY(-1px);
}

.training-card-button-primary{
  color:#06131b;
  background:var(--course-accent);
}

.training-card-button-secondary{
  border-color:rgba(176,202,235,.19);
  color:#e5eefb;
  background:rgba(255,255,255,.025);
}

.training-card-button-secondary:hover{
  border-color:rgba(var(--course-accent-rgb),.36);
}

.training-empty{
  padding:42px 0;
  border-top:1px solid rgba(176,202,235,.13);
  border-bottom:1px solid rgba(176,202,235,.13);
  text-align:center;
}

.training-empty i{
  display:block;
  margin-bottom:12px;
  color:#8198ff;
  font-size:2rem;
}

.training-empty h3{
  margin:0 0 7px;
  color:#eaf2fd;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:1.2rem;
}

.training-empty p{
  margin:0;
  color:#98a9bf;
}

.training-coaching{
  background:
    radial-gradient(circle at 90% 35%,rgba(0,214,200,.07),transparent 28%),
    linear-gradient(180deg,#0b1422,#09111e);
}

.training-coaching-layout{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
  gap:clamp(55px,8vw,110px);
  align-items:center;
}

.training-coaching-copy h2{
  margin:14px 0 0;
  color:#f1f6ff;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:clamp(2.25rem,4vw,3.65rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.04em;
}

.training-coaching-copy p{
  max-width:590px;
  margin:17px 0 0;
  color:#a7b7cd;
  line-height:1.72;
}

.training-coaching-actions{
  margin-top:27px;
}

.training-coaching-details{
  border-top:1px solid rgba(176,202,235,.13);
}

.training-coaching-detail{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:15px;
  padding:22px 0;
  border-bottom:1px solid rgba(176,202,235,.13);
}

.training-coaching-detail i{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(var(--training-accent-rgb),.18);
  border-radius:9px;
  color:var(--training-accent);
  background:rgba(var(--training-accent-rgb),.05);
}

.training-coaching-detail h3{
  margin:0 0 5px;
  color:#e7f0fc;
  font-family:"Inter Tight",system-ui,sans-serif;
  font-size:1rem;
  font-weight:620;
}

.training-coaching-detail p{
  margin:0;
  color:#95a7bd;
  font-size:.84rem;
  line-height:1.62;
}

@media(max-width:1060px){
  .training-card-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .training-card-stat:nth-child(2){
    border-right:0;
  }

  .training-card-stat:nth-child(n+3){
    border-top:1px solid rgba(176,202,235,.1);
  }

  .training-card-stat:nth-child(3){
    padding-left:0;
  }
}

@media(max-width:940px){
  .training-hero-layout{
    grid-template-columns:1fr;
    gap:30px;
    padding:48px 0 62px;
  }

  .training-hero-copy{
    max-width:760px;
  }

  .training-hero-art{
    min-height:350px;
  }

  .training-session{
    min-height:370px;
  }

  .training-catalog,
  .training-coaching-layout{
    grid-template-columns:1fr;
  }

  .training-coaching-layout{
    gap:42px;
  }

  .training-card-summary{
    min-height:auto;
  }
}

@media(max-width:620px){
  .training-container{
    width:calc(100% - 28px);
  }

  .training-hero-layout{
    padding:40px 0 50px;
  }

  .training-hero-copy h1{
    font-size:clamp(2.8rem,14vw,4rem);
  }

  .training-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .training-button{
    width:100%;
  }

  .training-hero-art{
    min-height:310px;
  }

  .training-session{
    width:min(330px,92vw);
    min-height:340px;
  }

  .training-session-icon{
    width:120px;
    margin:36px auto 31px;
  }

  .training-section{
    padding:66px 0;
  }

  .training-card-head{
    grid-template-columns:50px minmax(0,1fr);
    gap:13px;
    padding:23px 20px 19px;
  }

  .training-card-icon{
    width:48px;
    height:48px;
  }

  .training-card-summary{
    padding:0 20px 19px;
  }

  .training-card-meta{
    margin:0 20px;
  }

  .training-card-included{
    margin-right:20px;
    margin-left:20px;
  }

  .training-card-footer{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    padding:20px;
  }

  .training-card-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .training-card-button{
    width:100%;
  }
}

@media(max-width:430px){
  .training-card-meta{
    grid-template-columns:1fr;
  }

  .training-card-stat,
  .training-card-stat:first-child,
  .training-card-stat:nth-child(3),
  .training-card-stat:last-child{
    padding:12px 0;
    border-right:0;
    border-top:1px solid rgba(176,202,235,.1);
  }

  .training-card-stat:first-child{
    border-top:0;
  }

  .training-card-actions{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .training-button,
  .training-card,
  .training-card-button{
    transition:none;
  }
}