.custom-accordion .accordion-item{
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    transition:.3s;
}

.custom-accordion .accordion-item:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.custom-accordion .accordion-button{
    padding:22px 24px;
    background:#fff;
    box-shadow:none;
}

.custom-accordion .accordion-button:not(.collapsed){
    background:#0d6efd;
    color:#fff;
}
.custom-accordion .accordion-button:not(.collapsed) h5{
    color:#fff;
}
.custom-accordion .accordion-button:not(.collapsed) small.text-muted{
    color: #fff!important;
}

.custom-accordion .accordion-button::after{
    filter:brightness(0) invert(1);
}

.custom-accordion .accordion-button.collapsed::after{
    filter:none;
}

.module-number{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#0d6efd;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:18px;
    flex-shrink:0;
}

.accordion-button:not(.collapsed) .module-number{
    background:#fff;
    color:#0d6efd;
}

.topic-card{
    padding:15px 18px;
    border-radius:12px;
    background:#f8f9fa;
    border:1px solid #e9ecef;
    transition:.3s;
    font-weight:500;
}

.topic-card:hover{
    background:#0d6efd;
    color:#fff;
    transform:translateY(-4px);
}

.topic-card:hover i{
    color:#fff !important;
}

.accordion-body{
    padding:25px;
}

/*==========================
        TRAINER SECTION
==========================*/

.trainer-section{
    padding:120px 0;
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
    position:relative;
    overflow:hidden;
}

.trainer-section::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:#0d6efd10;
    border-radius:50%;
    top:-120px;
    left:-120px;
    filter:blur(20px);
}

.trainer-section::after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    background:#00bcd410;
    border-radius:50%;
    right:-100px;
    bottom:-100px;
    filter:blur(20px);
}

/*==========================
        TRAINER CARD
==========================*/

.trainer-card{
    background:#fff;
    border-radius:28px;
    padding:50px;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
    border:1px solid #eef2f7;
    position:relative;
    transition:.4s ease;
}

.trainer-card:hover{
    transform:translateY(-8px);
    box-shadow:0 30px 80px rgba(13,110,253,.12);
}

/*==========================
      TRAINER IMAGE
==========================*/

.trainer-avatar{
    width:280px !important;
    height:280px;
    padding:8px !important;
    border-radius:50%;
    background:linear-gradient(135deg,#0d6efd,#6ec1ff);
    flex-shrink:0;
    margin:auto;
    box-shadow:0 15px 40px rgba(13,110,253,.25);
}

.trainer-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
    border:6px solid #fff;
}

/*==========================
       CONTENT
==========================*/

.trainer-info h4{
    font-size:2.2rem;
    font-weight:700;
    color:#1f2937;
    margin-bottom:10px;
}

.trainer-info .role{
    display:inline-block;
    background:#eaf3ff;
    color:#0d6efd;
    padding:8px 18px;
    border-radius:30px;
    font-size:.9rem;
    font-weight:600;
    margin-bottom:20px;
}

.trainer-info p{
    color:#6b7280;
    font-size:1rem;
    line-height:1.9;
    margin-bottom:30px;
}

/*==========================
      SKILLS
==========================*/

.trainer-tags{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.trainer-tags span{
    background:#f5f8fc;
    color:#334155;
    padding:10px 18px;
    border-radius:50px;
    font-size:.9rem;
    font-weight:600;
    border:1px solid #e2e8f0;
    transition:.3s;
}

.trainer-tags span:hover{
    background:#0d6efd;
    color:#fff;
    border-color:#0d6efd;
    transform:translateY(-4px);
}

/*==========================
      DECORATION
==========================*/

.trainer-card::before{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    background:linear-gradient(135deg,#0d6efd15,#00bcd415);
    border-radius:50%;
    top:-40px;
    right:-40px;
}

.trainer-card::after{
    content:"";
    position:absolute;
    width:80px;
    height:80px;
    border:8px solid #0d6efd10;
    border-radius:50%;
    bottom:-30px;
    left:-30px;
}

/*==========================
       RESPONSIVE
==========================*/

@media(max-width:991px){

.trainer-card{
    padding:35px;
    text-align:center;
    flex-direction:column;
}

.trainer-avatar{
    width:220px !important;
    height:220px;
    margin-bottom:30px;
}

.trainer-tags{
    justify-content:center;
}

}

@media(max-width:576px){

.trainer-card{
    padding:25px;
}

.trainer-info h4{
    font-size:1.8rem;
}

.trainer-avatar{
    width:180px !important;
    height:180px;
}

.trainer-tags span{
    font-size:.8rem;
    padding:8px 14px;
}

}

.trainer-skills>span:hover{
    background-color: #0d6efd!important;
    color: #fff;
}
.trainer-stats>div,.trainer-stats>div>h4,.trainer-stats>div>span{
    transition: 0.8s ease;
}
.trainer-stats>div:hover{
    background: blue!important;
    color:#fff;
    cursor: pointer;
    transform: translateX(5px) scale(1.1);
    
}
.trainer-stats>div:hover>h4{
    color:#fff;
}
.trainer-social>a{
    transition: 1s ease;
}
.trainer-social>a:hover{
    transform: scale(1.7);
}

.related-section{
    padding:100px 0;
    background:#f7f9fc;
}

.related-card{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;

    padding:45px 30px;

    background:white;
    border-radius:30px;

    text-decoration:none;

    transition:.45s;

    height:100%;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);
}

.related-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(135deg,#005495,#0f84ff,#00c6ff);

    opacity:0;

    transition:.45s;

}

.related-card::after{

    content:"";

    position:absolute;

    width:250px;
    height:250px;

    background:
    radial-gradient(circle,
    rgba(255,255,255,.55),
    transparent 70%);

    top:-120px;
    left:-120px;

    transition:.6s;
}

.related-card:hover::before{

    opacity:1;

}

.related-card:hover::after{

    transform:translate(140px,140px);

}

.related-card>*{

    position:relative;

    z-index:2;

}

.related-card-icon{

    width:90px;
    height:90px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#eef6ff;

    margin-bottom:10px;

    transition:.45s;

}

.related-card-icon i{

    font-size:40px;

    color:#005495;

    transition:.45s;

}

.related-card-body span{

    display:inline-block;

    padding:6px 16px;

    border-radius:30px;

    background:#eef6ff;

    color:#005495;

    font-size:13px;

    font-weight:600;

    margin-bottom:15px;

    transition:.4s;

}

.related-card-body h5{

    font-size:20px;

    font-weight:700;

    color:#1b1b1b;

    margin-bottom:12px;

    transition:.4s;

}

.related-card-body p{

    color:#666;

    margin:0;

    transition:.4s;

}

.arrow{

    margin-top:25px;

    width:45px;
    height:45px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#eef6ff;

    color:#005495;

    transition:.4s;

}

.related-card:hover{

    transform:translateY(-15px);

    box-shadow:
    0 30px 60px rgba(0,84,149,.28);

}

.related-card:hover .related-card-icon{

    background:white;

    transform:rotateY(180deg);

}

.related-card:hover .related-card-icon i{

    color:#005495;

    transform:rotate(-10deg) scale(1.2);

}

.related-card:hover .related-card-body span{

    background:white;

    color:#005495;

}

.related-card:hover h5,

.related-card:hover small{

    color:white;

}

.related-card:hover .arrow{

    background:white;

    transform:rotate(-45deg);

}

.card-glow{

    position:absolute;

    width:350px;
    height:350px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(255,255,255,.25),
    transparent 70%);

    opacity:0;

    transition:.6s;

    pointer-events:none;

}

.related-card:hover .card-glow{

    opacity:1;

    animation:glowMove 4s linear infinite;

}

@keyframes glowMove{

0%{

transform:translate(-120px,-120px);

}

50%{

transform:translate(120px,80px);

}

100%{

transform:translate(-120px,-120px);

}

}

@media(max-width:768px){

.related-card{

padding:35px 20px;

}

.related-card-body h5{

font-size:20px;

}

.related-card-icon{

width:75px;
height:75px;

}

.related-card-icon i{

font-size:32px;

}

}

.career-section{

padding:110px 0;

position:relative;

overflow:hidden;

background:
linear-gradient(135deg,#f8fbff,#eef7ff);

}

.career-bg-shape{

position:absolute;

border-radius:50%;

filter:blur(100px);

opacity:.35;

animation:blob 12s infinite alternate;

}

.shape1{

width:420px;
height:420px;

background:#005495;

top:-120px;
left:-150px;

}

.shape2{

width:350px;
height:350px;

background:#56c5ff;

bottom:-120px;
right:-120px;

}

@keyframes blob{

100%{

transform:
translate(80px,-40px)
scale(1.3);

}

}

.career-showcase{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:28px;

perspective:1200px;

}

.salary-card{

position:relative;

padding:35px;

border-radius:28px;

background:white;

overflow:hidden;

transition:.45s;

border:1px solid rgba(0,0,0,.05);

box-shadow:
0 20px 45px rgba(0,0,0,.08);

}

.salary-card::before{

content:"";

position:absolute;

inset:0;

background:
linear-gradient(135deg,#005495,#2ba7ff);

opacity:0;

transition:.45s;

}

.salary-card>*{

position:relative;

z-index:2;

}

.salary-card .icon{

width:70px;
height:70px;

border-radius:20px;

display:flex;

justify-content:center;

align-items:center;

background:#eef6ff;

margin-bottom:20px;

transition:.4s;

}

.salary-card .icon i{

font-size:32px;

color:#005495;

transition:.4s;

}

.salary-card h4{

font-size:22px;

font-weight:700;

margin-bottom:8px;

}

.salary-card p{

color:#666;

margin-bottom:20px;

}

.salary{

display:inline-flex;

padding:10px 20px;

border-radius:40px;

background:#eef6ff;

color:#005495;

font-weight:700;

}

.salary-card:hover{

transform:
translateY(-15px)
rotateX(8deg);

}

.salary-card:hover::before{

opacity:1;

}

.salary-card:hover h4,

.salary-card:hover p{

color:white;

}

.salary-card:hover .salary{

background:white;

}

.salary-card:hover .icon{

background:white;

transform:rotate(15deg);

}

.career-stats{

display:flex;

gap:20px;

margin:40px 0;

flex-wrap:wrap;

}

.stat{

background:white;

padding:20px;

flex:1;

text-align:center;

border-radius:20px;

box-shadow:
0 10px 25px rgba(0,0,0,.05);

transition:.4s;

}

.stat:hover{

transform:translateY(-10px);

}

.stat h3{

color:#005495;

font-size:34px;

font-weight:800;

margin-bottom:5px;

}

.partner-title{

margin-bottom:20px;

font-weight:700;

}

.company-list{

display:flex;

flex-wrap:wrap;

gap:15px;

}

.company-list span{

padding:12px 22px;

background:white;

border-radius:40px;

font-weight:600;

transition:.35s;

box-shadow:0 8px 18px rgba(0,0,0,.05);

}

.company-list span:hover{

background:#005495;

color:white;

transform:translateY(-6px);

}

@media(max-width:768px){

.career-showcase{

grid-template-columns:1fr;

}

.career-stats{

flex-direction:column;

}

}



 :root{
    --mono: 'JetBrains Mono', monospace;
    --display: 'Space Grotesk', sans-serif;
    --body-font: 'Inter', sans-serif;

    --primary: #2F5EFF;
    --primary-dark: #1B3FCC;
    --teal: #06B6D4;
    --ink: #0B1220;
    --ink-soft: #131B2E;
    --surface: #F5F8FF;
    --card: #FFFFFF;
    --border: #E3E9FA;
    --text: #101828;
    --text-light: #64748B;
    --success: #12B76A;
    --amber: #E8B339;
  }

  /* ============ SECTION SHELL ============ */
  .contact-section{
    position: relative;
    padding: 6rem 1rem;
    background:
      radial-gradient(60% 50% at 85% 10%, rgba(6,182,212,.10), transparent 60%),
      radial-gradient(50% 45% at 10% 85%, rgba(47,94,255,.10), transparent 60%),
      var(--surface);
    overflow: hidden;
  }

  .container{ max-width: 1140px; margin: 0 auto; }

  .section-tag{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--mono);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--primary);
    background: rgba(47,94,255,.08);
    border: 1px solid rgba(47,94,255,.18);
    padding: .35rem .8rem;
    border-radius: 999px;
    margin-bottom: 1.1rem;
  }
  .section-tag::before{
    content:'';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 3px rgba(47,94,255,.18);
  }

  .section-title{
    font-family: var(--display);
    font-weight: 700;
    font-size: clamp(1.9rem, 3.4vw, 2.7rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: .9rem;
  }

  .section-text{
    color: var(--text-light);
    font-size: 1.02rem;
    line-height: 1.65;
    max-width: 46ch;
  }

  /* ============ LEFT: ENROLL CARD ============ */
  .enroll-card{
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 20px 45px -25px rgba(16,24,64,.25);
  }

  .price-card{
    position: relative;
    isolation: isolate;
  }
  .price-card::before{
    content:'';
    position: absolute;
    inset: -1px;
    border-radius: 21px;
    padding: 1px;
    background: linear-gradient(135deg, rgba(47,94,255,.55), rgba(6,182,212,.45));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
    opacity: .9;
  }

  .price-row{
    display: flex;
    align-items: baseline;
    gap: .7rem;
    margin-bottom: .3rem;
  }
  .price-row strong{
    font-family: var(--display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--ink);
  }
  .price-row del{
    font-size: 1.05rem;
    color: var(--text-light);
    opacity: .7;
  }
  .save-chip{
    display: inline-block;
    font-family: var(--mono);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--success);
    background: rgba(18,183,106,.1);
    border: 1px solid rgba(18,183,106,.25);
    padding: .2rem .55rem;
    border-radius: 999px;
    margin-bottom: 1.3rem;
  }

  /* seat availability bar — signature micro-element */
  .seat-status{
    margin-bottom: 1.4rem;
  }
  .seat-status .seat-label{
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--mono);
    font-size: .72rem;
    color: var(--text-light);
    margin-bottom: .5rem;
  }
  .seat-status .seat-label .live-dot{
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--success);
    display: inline-block;
    margin-right: .4rem;
    box-shadow: 0 0 0 0 rgba(18,183,106,.6);
    animation: pulse 1.8s infinite;
  }
  @keyframes pulse{
    0%   { box-shadow: 0 0 0 0 rgba(18,183,106,.55); }
    70%  { box-shadow: 0 0 0 8px rgba(18,183,106,0); }
    100% { box-shadow: 0 0 0 0 rgba(18,183,106,0); }
  }
  .seat-track{
    height: 6px;
    border-radius: 999px;
    background: #E7ECFB;
    overflow: hidden;
  }
  .seat-fill{
    height: 100%;
    width: 0%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--primary), var(--teal));
    transition: width 1.2s cubic-bezier(.16,1,.3,1);
  }


  .magnetic-btn:hover{
    box-shadow: 0 16px 30px -10px rgba(47,94,255,.65);
    color: #fff;
  }
  .magnetic-btn .arrow{
    display: inline-block;
    transition: transform .3s ease;
  }
  .magnetic-btn:hover .arrow{ transform: translateX(5px); }

  .contact-item{
    display: flex;
    align-items: center;
    gap: .7rem;
    font-size: .92rem;
    color: var(--text);
    padding: .5rem 0;
    cursor: pointer;
    border-radius: 8px;
  }
  .contact-item i{
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 9px;
    background: rgba(47,94,255,.08);
    color: var(--primary);
    font-size: .95rem;
    flex-shrink: 0;
  }
  .contact-item .copy-hint{
    margin-left: auto;
    font-family: var(--mono);
    font-size: .68rem;
    color: var(--text-light);
    opacity: 0;
    transition: opacity .2s ease;
  }
  .contact-item:hover .copy-hint{ opacity: .85; }
  .contact-item.copied .copy-hint{
    opacity: 1;
    color: var(--success);
  }

  /* ============ RIGHT: TERMINAL SPEC CARD (signature) ============ */
  .terminal-card{
    background: var(--ink);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 25px 50px -25px rgba(11,18,32,.55);
    border: 1px solid rgba(255,255,255,.06);
  }
  .terminal-titlebar{
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1.1rem;
    background: var(--ink-soft);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .terminal-dot{
    width: 11px; height: 11px;
    border-radius: 50%;
  }
  .terminal-dot.red{ background: #FF5F57; }
  .terminal-dot.yellow{ background: #FEBC2E; }
  .terminal-dot.green{ background: #28C840; }
  .terminal-filename{
    margin-left: .6rem;
    font-family: var(--mono);
    font-size: .78rem;
    color: rgba(255,255,255,.55);
  }
  .terminal-live{
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .35rem;
    font-family: var(--mono);
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--success);
  }
  .terminal-live .live-dot{
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--success);
    animation: pulse 1.8s infinite;
  }

  .terminal-body{
    padding: 1.6rem 1.8rem 2rem;
    font-family: var(--mono);
    font-size: .92rem;
    line-height: 1.95;
    color: #D7DEF2;
    min-height: 320px;
  }
  .terminal-body .line{
    opacity: 0;
    transform: translateY(4px);
    white-space: pre;
  }
  .terminal-body .line.show{
    animation: lineIn .4s ease forwards;
  }
  @keyframes lineIn{
    to{ opacity: 1; transform: translateY(0); }
  }
  .tk-key{ color: #7FB8FF; }
  .tk-str{ color: var(--amber); }
  .tk-bool{ color: #FF8FB1; }
  .tk-num{ color: #6EE7B7; }
  .tk-punc{ color: rgba(255,255,255,.35); }
  .cursor{
    display: inline-block;
    width: 8px; height: 1.05em;
    background: var(--teal);
    vertical-align: text-bottom;
    margin-left: 2px;
    animation: blink 1s step-end infinite;
  }
  @keyframes blink{ 50%{ opacity: 0; } }

  @media (prefers-reduced-motion: reduce){
    .terminal-body .line{ opacity: 1; transform: none; animation: none; }
    .cursor{ animation: none; }
    .seat-fill{ transition: none; }
  }

  @media (max-width: 991px){
    .contact-section{ padding: 4rem 1rem; }
    .terminal-body{ min-height: auto; font-size: .85rem; }
  }
  @media (max-width: 575px){
    .enroll-card{ padding: 1.4rem; }
    .price-row strong{ font-size: 1.8rem; }
  }