    :root{
      --plan-accent:#2d7f91;
      --plan-line:#dbe4ea;
      --plan-shadow:0 12px 30px rgba(15, 23, 42, 0.08);
    }

    .timeline{
      position:relative;
      padding-left:44px;
    }

    .timeline::before{
      content:"";
      position:absolute;
      left:16px;
      top:0;
      bottom:0;
      width:2px;
      background:var(--plan-line);
    }

    .timeline-item{
      position:relative;
      padding-bottom:28px;
    }

    .timeline-item:last-child{
      padding-bottom:0;
    }

    .timeline-marker{
      position:absolute;
      left:0;
      top:4px;
      width:32px;
      height:32px;
      border-radius:50%;
      background:var(--plan-accent);
      color:#fff;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 0 0 6px rgba(45, 127, 145, 0.12);
    }

    .timeline-card{
      background:#fff;
      border:1px solid rgba(15, 23, 42, 0.08);
      border-radius:18px;
      padding:20px;
      box-shadow:var(--plan-shadow);
    }

    .timeline-card img{
      border-radius:12px;
    }

    .timeline-title{
      display:flex;
      align-items:center;
      gap:8px;
      font-weight:600;
      margin:0;
    }

    .timeline-toggle{
      margin:0;
    }

    .timeline-toggle summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      width:100%;
      padding:12px 4px;
      transition:background-color 0.2s;
    }

    .timeline-toggle summary::-webkit-details-marker{
      display:none;
    }

    .timeline-toggle summary:focus{
      outline:none;
    }

    .timeline-toggle summary:focus-visible{
      background-color:rgba(0, 0, 0, 0.02);
      border-radius:8px;
    }
    .timeline-toggle summary::after{
      content:"";
      width:16px;
      height:16px;
      flex-shrink:0;
      background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232d7f91'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
      background-repeat:no-repeat;
      background-size:contain;
      background-position:center;
      transition:transform 0.3s ease;
    }

    .timeline-toggle[open] summary::after{
      transform:rotate(180deg);
    }

    .timeline-toggle[open] summary{
      margin-bottom:12px;
      border-bottom:1px solid rgba(0, 0, 0, 0.05);
      padding-bottom:12px;
    }

    .timeline-content{
      margin-top:0;
      animation:fadeIn 0.4s ease;
    }

    @keyframes fadeIn{
      from{
        opacity:0;
        transform:translateY(-5px);
      }

      to{
        opacity:1;
        transform:translateY(0);
      }
    }

    .planning-card{
      background:#fff;
      border:1px solid rgba(15, 23, 42, 0.08);
      border-radius:20px;
      box-shadow:var(--plan-shadow);
    }

    @media (max-width: 576px){
      .timeline{
        padding-left:28px;
      }

      .timeline::before{
        left:11px;
      }

      .timeline-marker{
        width:24px;
        height:24px;
        left:0;
        top:6px;
        font-size:0.75rem;
        box-shadow:0 0 0 4px rgba(45, 127, 145, 0.12);
      }

      .timeline-card{
        padding:16px;
        border-radius:12px;
      }

      .timeline-title{
        font-size:1.05rem;
      }
    }

    @media (prefers-reduced-motion: reduce){

      .timeline-card,
      .planning-card{
        transition:none;
      }
    }

    .collapsible-section{
      position:relative;
      margin:0;
    }

    .collapsible-section summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      width:100%;
      padding:16px 0;
      transition:background-color 0.2s;
      font-weight:600;
      font-size:1.25rem;
    }

    .collapsible-section summary::-webkit-details-marker{
      display:none;
    }

    .collapsible-section summary::after{
      content:"";
      width:20px;
      height:20px;
      flex-shrink:0;
      background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232d7f91'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
      background-repeat:no-repeat;
      background-size:contain;
      background-position:center;
      transition:transform 0.3s ease;
    }

    .collapsible-section[open] summary::after{
      transform:rotate(180deg);
    }

    .collapsible-section[open] summary{
      margin-bottom:16px;
      border-bottom:1px solid rgba(0, 0, 0, 0.1);
      padding-bottom:16px;
    }

    .collapsible-content{
      animation:fadeIn 0.4s ease;
    }
