@media (max-width: 1240px){
  .timeline-box{
    width: 100% !important;
  }
  .timeline-box .desc-container{
    width: calc(100vw - 30px);
  }
}
@media (max-width: 600px){
  .timeline-box .header{
    flex-direction: column;
    gap: 0 !important;
  }
  .timeline-box{
    padding-top: 50px !important;
    padding-bottom: 50px;
  }
  .timeline-box .header div{
    width: 100%;
  }
  .timeline-box .desc-container{
    flex-direction: column;
  }
  .timeline-box .desc{
    padding-top: 0px;
    flex-direction: column;
  }
  .timeline-box .desc-container div{
    width: 100%;
  }
  .timeline-container-wrapper{
    margin-top: 40px !important;
  }
}


.timeline-box {
            /*background: #5a0000;*/
            /*border: 1px solid rgba(255, 255, 255, 0.3);*/
            color: white;
            /*border-radius: 12px;*/
            overflow: hidden;
            width: 1240px;
            margin: 0 auto;
            height: 100%;
            padding-top: 150px;
        }

        #timeline-parent .wpb_raw_code, #timeline-parent .wpb_wrapper{
            height: 100%;
        }
.desc-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.desc-item h3{
  color: #fff;
}
.desc-item .week{
  color: #ED756F;
  margin-right: 10px;
}
.desc-item .week:before{
  content: '';
  width: 10px;
  height: 10px;
  margin-right: 10px;
  display: inline-block;
  background: #ED756F;
  vertical-align: middle;
  border-radius: 1em;
}
.desc-meta .meta-item{
  background: #471211;
  padding: 8px 16px;
  border-radius: 14px;
  border: 1px solid #9a6f6e;
}
        .timeline-box .header {
            display: flex;
            gap: 40px;
        }

        .timeline-box .header h3 {
            color: #fff;
        }

        .timeline-box .header p {
            color: rgba(255, 255, 255,1);
        }
        .desc-left{
            width: 25%;
        }
        .desc-container{
            display: flex;
            gap: 40px;
        }

        .timeline-box .label {
            color: #ff8a80;
            font-size: 20px;
            font-weight: 700;
            margin-bottom: 6px;
        }

        .timeline-container {
            position: relative;
            padding-top: 30px;
        }

        .timeline-area {
            /* Height will be set dynamically */
            position: relative;
            overflow: hidden;
            border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
            border-top: 1px dashed rgba(255, 255, 255, 0.3);
        }

        .timeline-box .header-left {
            width: 25%;
        }

        .timeline-box .header-right {
            width: 75%;
        }

        .timeline-line {
            position: absolute;
            left: 50%;
            top: 0;
            width: 3px;
            height: 100%;
            background: rgba(255, 255, 255, 1);
            transform: translateX(-50%);
            z-index: 20;
            pointer-events: none;
        }

        .timeline-line::after {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            transform: translate(-50%, -50%);
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: url("https://grapiku.com/app/uploads/2026/04/grpk-icon.svg");
            background-size: contain;
        }

        .track {
            display: flex;
            align-items: flex-start;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            white-space: nowrap;
            will-change: transform;
            /* Width will be set dynamically */
        }

        .track.gray {
            z-index: 1;
        }

        .track.color {
            z-index: 3;
        }

        /* Topic wrapper - horizontal group */
        .topic-group {
            display: flex;
            align-items: center;
            gap: 7px;
            padding: 0 0px;
            position: absolute;
            /* positions will be set dynamically via JS */
        }

        /* Timeline item */
        .timeline-item {
            flex-shrink: 0;
        }

        /* GRAY cards */
        .track.gray .card {
            background: rgba(255, 255, 255, 0.06);
            color: rgba(255, 255, 255, 0.25);
            padding: 12px 18px;
            border-radius: 10px;
            min-width: 300px;
            font-size: 16px;
            font-weight: 600;
        }

        /* COLOR cards */
        .track.color .card {
            background: #ff5a4f;
            color: white;
            padding: 12px 18px;
            border-radius: 10px;
            min-width: 300px;
            font-size: 16px;
            font-weight: 600;
        }

        .timeline-item {
            position: relative;
        }

        /* ---- DASHED VERTICAL LINE through center of each item ---- */
        .timeline-item .card::before {
            content: '';
            position: absolute;
            top: -1000px;
            bottom: -9999px;
            left: -3.5px;
            transform: translateX(-50%);
            width: 0;
            border-left: 1.5px dashed rgba(255, 255, 255, 0.22);
            pointer-events: none;
            z-index: 0;
        }

        .track > div:last-child .timeline-item:last-child .card::after {
            content: '';
            position: absolute;
            top: -1000px;
            bottom: -9999px;
            right: -3.5px;
            width: 0;
            border-left: 1.5px dashed rgba(255, 255, 255, 0.22);
        }

        .desc {
            padding-top: 40px;
            display: flex;
            flex-direction: row;
            gap: 20px;
            align-items: flex-start;
            width: 75%;
        }

        .desc .desc-item {
            flex: 1 1 0;
            min-width: 0;
        }

        .desc h3 {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 6px;
        }

        .desc p {
            color: rgba(255, 255, 255, 1);
            white-space: normal;
        }

        .card .bullet {
            width: 20px;
            height: 20px;
            display: block;
            position: relative;
        }

        .card .bullet::before {
            border-radius: 100%;
            background: #ffffff;
            content: '';
            width: 7px;
            height: 7px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .card {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .card .check {
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 100%;
            background: rgba(255, 255, 255, 0.7);
        }
