/* HERO ANIMATION */
    #gep-anim-sourcing-management-hero,
    #gep-anim-sourcing-management-hero * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-sourcing-management-hero {
      --gep-ruby:#D42F5A; --gep-dark:#1B1B2F; --gep-green:#2ECB71;
      --gep-white:#FFFFFF; --gep-light-grey:#F5F6F8; --gep-text:#333333;
      --gep-muted:#888888; --gep-border:#E5E7EB;
      width:500px; height:360px;
      background: transparent;
      font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
      color:var(--gep-text); display:flex; align-items:center; justify-content:center;
    }
    #gep-anim-sourcing-management-hero .win {
      width:440px;
      background:var(--gep-white);
      border:1px solid var(--gep-border);
      border-radius:14px; overflow:hidden;
      box-shadow: none;
    }
    #gep-anim-sourcing-management-hero .bar {
      display:flex; align-items:center; gap:7px; padding:12px 16px;
      background:var(--gep-white); border-bottom:1px solid var(--gep-border);
    }
    #gep-anim-sourcing-management-hero .dot {
      width:9px; height:9px; border-radius:50%; background:var(--gep-ruby);
    }
    #gep-anim-sourcing-management-hero .title {
      margin-left:4px; font-size:13px; font-weight:600; color:var(--gep-dark);
    }
    #gep-anim-sourcing-management-hero .body { padding:18px; }
    #gep-anim-sourcing-management-hero .card {
      border:1px solid var(--gep-border); border-radius:12px; padding:16px;
      background:var(--gep-white); box-shadow: none;
    }
    #gep-anim-sourcing-management-hero .reqid {
      font-size:10px; font-weight:600; letter-spacing:0.5px; color:var(--gep-muted); margin-bottom:4px;
    }
    #gep-anim-sourcing-management-hero .rname {
      font-size:15px; font-weight:600; color:var(--gep-dark); margin-bottom:10px;
    }
    #gep-anim-sourcing-management-hero .rows { margin-bottom:14px; }
    #gep-anim-sourcing-management-hero .row {
      display:flex; justify-content:space-between; padding:4px 0; font-size:12px;
    }
    #gep-anim-sourcing-management-hero .k { color:var(--gep-muted); }
    #gep-anim-sourcing-management-hero .v { color:var(--gep-text); font-weight:600; }
    #gep-anim-sourcing-management-hero .btn {
      width:100%; border:0; border-radius:9px; padding:11px;
      background:var(--gep-ruby); color:#fff; font-size:13px; font-weight:600; cursor:pointer;
      animation: gep-sourcing-management-hero-press 5s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-hero .result {
      display:flex; align-items:center; gap:12px; margin-top:14px; padding:12px 14px;
      border:1px solid var(--gep-border); border-radius:12px; background:var(--gep-light-grey);
      opacity:0; transform:translateY(8px);
      animation: gep-sourcing-management-hero-reveal 5s ease-in-out infinite;
      box-shadow: none;
    }
    #gep-anim-sourcing-management-hero .check {
      display:flex; align-items:center; justify-content:center;
      width:26px; height:26px; border-radius:50%; background:var(--gep-green);
      color:#fff; font-size:14px; font-weight:700; flex-shrink:0;
    }
    #gep-anim-sourcing-management-hero .rtext { display:flex; flex-direction:column; }
    #gep-anim-sourcing-management-hero .rtext strong { font-size:13px; color:var(--gep-dark); }
    #gep-anim-sourcing-management-hero .rtext span { font-size:12px; color:var(--gep-muted); }

    @keyframes gep-sourcing-management-hero-press {
      0%,42% { transform:scale(1); filter:brightness(1); }
      50%    { transform:scale(.96); filter:brightness(.9); }
      58%,100%{ transform:scale(1); filter:brightness(1); }
    }
    @keyframes gep-sourcing-management-hero-reveal {
      0%,52%   { opacity:0; transform:translateY(8px); }
      64%,92%  { opacity:1; transform:translateY(0); }
      100%     { opacity:0; transform:translateY(8px); }
    }
    @media (max-width: 1399.98px) {
      #gep-anim-sourcing-management-hero{ margin-top: 30px; transform: scale(0.8);}
    }

/* SECTION 1 ANIMATION */

    #gep-anim-sourcing-management-sec,
    #gep-anim-sourcing-management-sec * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-sourcing-management-sec {
      --gep-ruby:#D42F5A; --gep-dark:#1B1B2F; --gep-green:#2ECB71;
      --gep-white:#FFFFFF; --gep-light-grey:#F5F6F8; --gep-text:#333333;
      --gep-muted:#888888; --gep-border:#E5E7EB;
      width:500px; height:360px;
      background: transparent;
      font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
      color:var(--gep-text); display:flex; align-items:center; justify-content:center;
    }
    #gep-anim-sourcing-management-sec .win {
      width:440px;
      background:var(--gep-white);
      border:1px solid var(--gep-border);
      border-radius:14px; overflow:hidden;
      box-shadow: none;
    }
    #gep-anim-sourcing-management-sec .bar {
      display:flex; align-items:center; gap:7px; padding:12px 16px;
      background:var(--gep-white); border-bottom:1px solid var(--gep-border);
    }
    #gep-anim-sourcing-management-sec .dot {
      width:9px; height:9px; border-radius:50%; background:var(--gep-ruby);
    }
    #gep-anim-sourcing-management-sec .title {
      margin-left:4px; font-size:13px; font-weight:600; color:var(--gep-dark);
    }
    #gep-anim-sourcing-management-sec .body { padding:16px 18px; }
    #gep-anim-sourcing-management-sec .msg { display:flex; flex-direction:column; }
    #gep-anim-sourcing-management-sec .msg.user { align-items:flex-end; margin-bottom:14px; }
    #gep-anim-sourcing-management-sec .msg.agent { align-items:flex-start; }
    #gep-anim-sourcing-management-sec .bubble {
      border-radius:12px; padding:10px 13px; font-size:12px; max-width:340px;
      box-shadow: none;
    }
    #gep-anim-sourcing-management-sec .ubub {
      background:var(--gep-ruby); color:#fff;
      opacity:0; transform:translateY(8px);
      animation: gep-sourcing-management-sec-u 6s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-sec .agent-label {
      display:flex; align-items:center; gap:6px; font-size:11px; font-weight:600;
      color:var(--gep-ruby); margin-bottom:6px;
      opacity:0; animation: gep-sourcing-management-sec-lbl 6s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-sec .adot {
      width:6px; height:6px; border-radius:50%; background:var(--gep-ruby);
      animation: gep-sourcing-management-sec-pulse 1.5s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-sec .abub {
      background:var(--gep-light-grey); border:1px solid var(--gep-border); color:var(--gep-text);
      width:340px;
      opacity:0; transform:translateY(8px);
      animation: gep-sourcing-management-sec-a 6s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-sec .line { color:var(--gep-muted); margin-bottom:8px; }
    #gep-anim-sourcing-management-sec .supp {
      display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:8px;
      background:var(--gep-white); border:1px solid var(--gep-border); margin-bottom:6px;
    }
    #gep-anim-sourcing-management-sec .supp.top { border-color:var(--gep-green); }
    #gep-anim-sourcing-management-sec .rank {
      display:flex; align-items:center; justify-content:center;
      width:18px; height:18px; border-radius:50%; background:var(--gep-light-grey);
      font-size:10px; font-weight:700; color:var(--gep-dark); flex-shrink:0;
    }
    #gep-anim-sourcing-management-sec .supp.top .rank { background:var(--gep-green); color:#fff; }
    #gep-anim-sourcing-management-sec .sname { flex:1; font-size:12px; font-weight:600; color:var(--gep-dark); }
    #gep-anim-sourcing-management-sec .tag {
      font-size:10px; font-weight:600; color:var(--gep-green);
    }
    #gep-anim-sourcing-management-sec .pct { font-size:11px; color:var(--gep-muted); }

    @keyframes gep-sourcing-management-sec-pulse {
      0%,100% { opacity:1; transform:scale(1); }
      50% { opacity:0.5; transform:scale(1.3); }
    }
    @keyframes gep-sourcing-management-sec-u {
      0%,8%   { opacity:0; transform:translateY(8px); }
      16%,92% { opacity:1; transform:translateY(0); }
      100%    { opacity:0; transform:translateY(8px); }
    }
    @keyframes gep-sourcing-management-sec-lbl {
      0%,30%  { opacity:0; }
      40%,92% { opacity:1; }
      100%    { opacity:0; }
    }
    @keyframes gep-sourcing-management-sec-a {
      0%,40%  { opacity:0; transform:translateY(8px); }
      52%,92% { opacity:1; transform:translateY(0); }
      100%    { opacity:0; transform:translateY(8px); }
    }
/* Section 2 Animation */

    #gep-anim-sourcing-management-orch,
    #gep-anim-sourcing-management-orch * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-sourcing-management-orch {
      --gep-ruby:#D42F5A; --gep-dark:#1B1B2F; --gep-green:#2ECB71;
      --gep-white:#FFFFFF; --gep-light-grey:#F5F6F8; --gep-text:#333333;
      --gep-muted:#888888; --gep-border:#E5E7EB;
      width:500px; height:360px;
      background: transparent;
      font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
      color:var(--gep-text); display:flex; align-items:stretch; justify-content:center;
    }
    #gep-anim-sourcing-management-orch .win {
      width:500px; height:360px;
      background:var(--gep-white);
      border:1px solid var(--gep-border);
      border-radius:14px; overflow:hidden;
      box-shadow:none;
      display:flex; flex-direction:column;
    }
    #gep-anim-sourcing-management-orch .bar {
      display:flex; align-items:center; gap:7px; padding:13px 18px;
      background:var(--gep-white); border-bottom:1px solid var(--gep-border); flex:0 0 auto;
    }
    #gep-anim-sourcing-management-orch .dot { width:9px; height:9px; border-radius:50%; background:var(--gep-ruby); }
    #gep-anim-sourcing-management-orch .title { margin-left:4px; font-size:13px; font-weight:600; color:var(--gep-dark); flex:1; }
    #gep-anim-sourcing-management-orch .live {
      display:flex; align-items:center; gap:6px; font-size:10px; font-weight:600; color:var(--gep-ruby);
      background:rgba(212,47,90,0.08); padding:4px 10px; border-radius:11px;
    }
    #gep-anim-sourcing-management-orch .livedot {
      width:6px; height:6px; border-radius:50%; background:var(--gep-ruby);
      animation: gep-sourcing-management-orch-pulse 1.4s ease-in-out infinite;
    }

    #gep-anim-sourcing-management-orch .body {
      padding:14px 18px 16px; flex:1; display:flex; flex-direction:column; align-items:center;
    }

    #gep-anim-sourcing-management-orch .req {
      display:flex; align-items:center; gap:10px; width:100%;
      border:1px solid var(--gep-border); border-radius:10px; padding:9px 13px; background:var(--gep-light-grey);
      box-shadow:none;
      opacity:0; transform:translateY(-5px);
      animation: gep-sourcing-management-orch-req 7s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-orch .reqicon {
      width:24px; height:24px; border-radius:6px; background:var(--gep-white); border:1px solid var(--gep-border);
      display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--gep-ruby); flex-shrink:0;
    }
    #gep-anim-sourcing-management-orch .reqtext { display:flex; flex-direction:column; }
    #gep-anim-sourcing-management-orch .reqlbl { font-size:10px; font-weight:600; letter-spacing:0.3px; color:var(--gep-muted); }
    #gep-anim-sourcing-management-orch .reqname { font-size:12px; font-weight:600; color:var(--gep-dark); }

    #gep-anim-sourcing-management-orch .hub {
      display:flex; flex-direction:column; align-items:center; margin-top:10px; position:relative;
    }
    #gep-anim-sourcing-management-orch .hubcore {
      width:40px; height:40px; border-radius:50%;
      background:var(--gep-ruby); color:#fff; font-size:14px; font-weight:700;
      display:flex; align-items:center; justify-content:center; position:relative; z-index:2;
    }
    #gep-anim-sourcing-management-orch .hubring {
      position:absolute; top:-3px; left:50%; width:46px; height:46px; margin-left:-23px;
      border-radius:50%; border:2px solid var(--gep-ruby); opacity:0;
      animation: gep-sourcing-management-orch-ring 7s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-orch .hubname {
      margin-top:6px; font-size:11px; font-weight:600; color:var(--gep-dark);
    }

    #gep-anim-sourcing-management-orch .wires {
      position:relative; width:100%; height:22px; margin-top:4px;
    }
    #gep-anim-sourcing-management-orch .bus {
      position:absolute; top:0; left:16.6%; width:66.8%; height:2px; background:var(--gep-ruby);
      transform:scaleX(0); transform-origin:center;
      animation: gep-sourcing-management-orch-bus 7s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-orch .drop {
      position:absolute; top:0; width:2px; height:22px; background:var(--gep-ruby);
      transform:scaleY(0); transform-origin:top;
    }
    #gep-anim-sourcing-management-orch .d1 { left:16.6%; animation: gep-sourcing-management-orch-drop 7s ease-in-out infinite; }
    #gep-anim-sourcing-management-orch .d2 { left:50%;   animation: gep-sourcing-management-orch-drop 7s ease-in-out 0.05s infinite; }
    #gep-anim-sourcing-management-orch .d3 { left:83.4%; animation: gep-sourcing-management-orch-drop 7s ease-in-out 0.10s infinite; }

    #gep-anim-sourcing-management-orch .agents {
      display:flex; gap:10px; width:100%; margin-top:2px;
    }
    #gep-anim-sourcing-management-orch .agent {
      flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px;
      border:1px solid var(--gep-border); border-radius:10px; padding:10px 8px; background:var(--gep-white);
      box-shadow:none; min-height:78px; justify-content:center;
    }
    #gep-anim-sourcing-management-orch .ag1 { animation: gep-sourcing-management-orch-ag 7s ease-in-out infinite; }
    #gep-anim-sourcing-management-orch .ag2 { animation: gep-sourcing-management-orch-ag 7s ease-in-out 0.12s infinite; }
    #gep-anim-sourcing-management-orch .ag3 { animation: gep-sourcing-management-orch-ag 7s ease-in-out 0.24s infinite; }
    #gep-anim-sourcing-management-orch .acheck {
      width:22px; height:22px; border-radius:50%; background:var(--gep-light-grey);
      color:var(--gep-light-grey); font-size:12px; font-weight:700;
      display:flex; align-items:center; justify-content:center;
    }
    #gep-anim-sourcing-management-orch .ag1 .acheck { animation: gep-sourcing-management-orch-chk 7s ease-in-out infinite; }
    #gep-anim-sourcing-management-orch .ag2 .acheck { animation: gep-sourcing-management-orch-chk 7s ease-in-out 0.12s infinite; }
    #gep-anim-sourcing-management-orch .ag3 .acheck { animation: gep-sourcing-management-orch-chk 7s ease-in-out 0.24s infinite; }
    #gep-anim-sourcing-management-orch .aname { font-size:11px; font-weight:600; color:var(--gep-dark); line-height:1.25; }
    #gep-anim-sourcing-management-orch .atask { font-size:10px; color:var(--gep-muted); line-height:1.2; }

    #gep-anim-sourcing-management-orch .result {
      display:flex; align-items:center; gap:10px; width:100%; margin-top:14px;
      border:1px solid var(--gep-border); border-radius:10px; padding:11px 14px; background:var(--gep-light-grey);
      box-shadow:none;
      opacity:0; transform:translateY(6px);
      animation: gep-sourcing-management-orch-res 7s ease-in-out infinite;
    }
    #gep-anim-sourcing-management-orch .rcheck {
      width:24px; height:24px; border-radius:50%; background:var(--gep-green); color:#fff;
      font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0;
    }
    #gep-anim-sourcing-management-orch .rtext { font-size:12px; font-weight:600; color:var(--gep-dark); }

    @keyframes gep-sourcing-management-orch-pulse {
      0%,100% { opacity:1; transform:scale(1); }
      50% { opacity:0.45; transform:scale(1.3); }
    }
    @keyframes gep-sourcing-management-orch-req {
      0%,4%    { opacity:0; transform:translateY(-5px); }
      10%,94%  { opacity:1; transform:translateY(0); }
      100%     { opacity:0; transform:translateY(-5px); }
    }
    @keyframes gep-sourcing-management-orch-ring {
      0%,14%   { opacity:0; transform:scale(0.8); }
      20%      { opacity:1; transform:scale(1); }
      30%      { opacity:0; transform:scale(1.4); }
      100%     { opacity:0; transform:scale(1.4); }
    }
    @keyframes gep-sourcing-management-orch-bus {
      0%,20%   { transform:scaleX(0); background:var(--gep-ruby); }
      28%,60%  { transform:scaleX(1); background:var(--gep-ruby); }
      70%,94%  { transform:scaleX(1); background:var(--gep-green); }
      100%     { transform:scaleX(0); background:var(--gep-ruby); }
    }
    @keyframes gep-sourcing-management-orch-drop {
      0%,24%   { transform:scaleY(0); background:var(--gep-ruby); }
      32%,60%  { transform:scaleY(1); background:var(--gep-ruby); }
      70%,94%  { transform:scaleY(1); background:var(--gep-green); }
      100%     { transform:scaleY(0); background:var(--gep-ruby); }
    }
    @keyframes gep-sourcing-management-orch-ag {
      0%,30%   { border-color:var(--gep-border); background:var(--gep-white); }
      38%,58%  { border-color:var(--gep-ruby); background:rgba(212,47,90,0.04); }
      66%,94%  { border-color:var(--gep-green); background:rgba(46,203,113,0.06); }
      100%     { border-color:var(--gep-border); background:var(--gep-white); }
    }
    @keyframes gep-sourcing-management-orch-chk {
      0%,58%   { background:var(--gep-light-grey); color:var(--gep-light-grey); }
      66%,94%  { background:var(--gep-green); color:#fff; }
      100%     { background:var(--gep-light-grey); color:var(--gep-light-grey); }
    }
    @keyframes gep-sourcing-management-orch-res {
      0%,68%   { opacity:0; transform:translateY(6px); }
      76%,94%  { opacity:1; transform:translateY(0); }
      100%     { opacity:0; transform:translateY(6px); }
    }
