

/* =========================
   WORK EXPERIENCE SECTION
   ========================= */


   .work-exp {
    display: grid;
    grid-template-columns: 38% 62%;
    padding: 120px;
    min-height: 100vh;
    background: #ffffff;
    position: relative;
  }
  
  .work-left {
    position: sticky;
    top: 120px;
    align-self: flex-start;
  }
  
  .work-left h2 {
    font-size: 56px;
    font-weight: 600;
    line-height: 1.05;
    margin: 0;
  }
  
  /* =========================
     RIGHT COLUMN
     ========================= */
  
  .work-right {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  
  /* =========================
     EXPERIENCE ITEM
     ========================= */
  
  .exp-item {
    display: grid;
    grid-template-columns: 60px auto;
    align-items: flex-start;
  }
  
  /* =========================
     TIMELINE COLUMN
     ========================= */
  
  .timeline-col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    
  }
  
  /* DOT */
  
  /* DOT BASE */
  .exp-dot {
    width: 20px;
    height: 20px;
    background: #0b3a2a;
    border-radius: 50%;
    position: relative;
    z-index: 2;
    transform: scale(0.85);
    margin-top: 10px; /* ⬅ push dot down */
  }
  
  .exp-dot::before {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    border: 1.2px solid rgba(11, 58, 42, 0.35);
  }
  
  
  /* ACTIVE DOT */
  .exp-item.active .exp-dot {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(11, 58, 42, 0.12);
  }
  
  .exp-item.active .exp-dot::before {
    border-color: rgba(11, 58, 42, 0.7);
  }
  
  
  
  
  
  /* =========================
     LINE (SCROLL ANIMATED)
     ========================= */
  
  .exp-line {
    margin-top: 10px;
    width: 1px;
  
    /* height will be injected by JS */
    height: 0;
  
    background-image: repeating-linear-gradient(
      to bottom,
      rgba(11, 58, 42, 0.45),
      rgba(11, 58, 42, 0.45) 3px,
      transparent 3px,
      transparent 8px
    );
  
    transform: scaleY(0);
    transform-origin: top;
  }
  
  
  /* =========================
     CONTENT
     ========================= */
  
  .exp-content {
    max-width: 520px;
  }
  
  .exp-content h3 {
    font-size: 30px;
    margin: 0 0 8px;
  }
  
  .meta {
    font-size: 14px;
    color: #777;
    margin-bottom: 22px;
  }
  
  .exp-content ul {
    padding-left: 18px;
    margin: 0;
  }
  
  .exp-content li {
    margin-bottom: 12px;
    line-height: 1.55;
  }
  
  /* =========================
     READ MORE
     ========================= */
  
  .read-more {
    display: inline-block;
    margin-top: 18px;
    font-size: 14px;
    font-weight: 500;
    color: #0b3a2a;
    text-decoration: none;
    cursor: pointer;
    opacity: 0.85;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  
  .read-more:hover {
    opacity: 1;
    transform: translateX(4px);
  }
  
  /* =========================
     ANIMATION STATES
     ========================= */
  
  /* DOT DEFAULT (INACTIVE) */
  .exp-dot {
    background: #0b3a2a;
    transform: scale(0.85);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
  }
  
  /* OUTER RING DEFAULT */
  .exp-dot::before {
    border-color: rgba(11, 58, 42, 0.35);
  }
  
  /* ACTIVE DOT */
  .exp-item.active .exp-dot {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(11, 58, 42, 0.15);
  }
  
  .exp-item.active .exp-dot::before {
    border-color: rgba(11, 58, 42, 0.7);
  }
  
  
  /* =========================
     EXPAND / COLLAPSE
     ========================= */
  
  .exp-more {
    display: none;
  }
  
  .exp-item.expanded .exp-more {
    display: block;
  }
  
  .exp-toggle {
    margin-top: 18px;
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    color: #0b3a2a;
    cursor: pointer;
    opacity: 0.85;
  }
  
  .exp-toggle:hover {
    opacity: 1;
  }
  
  /* spacing fix */
  .exp-more li {
    margin-top: 12px;
  }
  
  