    #gep-anim-mcn-hero,
    #gep-anim-mcn-hero * { box-sizing: border-box; margin: 0; padding: 0; }

    #gep-anim-mcn-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, sans-serif;
      color: var(--gep-text);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #gep-anim-mcn-hero .win {
      width: 440px;
      background: var(--gep-white);
      border: 1px solid var(--gep-border);
      border-radius: 14px;
      overflow: hidden;
    }

    #gep-anim-mcn-hero .bar {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 11px 16px;
      background: var(--gep-white);
      border-bottom: 1px solid var(--gep-border);
    }

    #gep-anim-mcn-hero .dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gep-border);
    }

    #gep-anim-mcn-hero .title {
      font-size: 12px;
      font-weight: 600;
      color: var(--gep-dark);
      margin-left: 4px;
    }

    #gep-anim-mcn-hero .bod {
      padding: 14px 16px 12px;
    }

    #gep-anim-mcn-hero .hub-row {
      display: flex;
      justify-content: center;
      margin-bottom: 10px;
    }

    #gep-anim-mcn-hero .hub {
      display: flex;
      align-items: center;
      gap: 7px;
      background: rgba(212, 47, 90, 0.06);
      border: 1px solid var(--gep-ruby);
      border-radius: 8px;
      padding: 6px 14px;
    }

    #gep-anim-mcn-hero .hub-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--gep-ruby);
      animation: gep-mcn-hero-pulse 2s ease-in-out infinite;
    }

    #gep-anim-mcn-hero .hub-label {
      font-size: 11px;
      font-weight: 600;
      color: var(--gep-ruby);
    }

    #gep-anim-mcn-hero .tiers {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 12px;
    }

    #gep-anim-mcn-hero .tier {
      display: flex;
      gap: 8px;
      justify-content: center;
    }

    #gep-anim-mcn-hero .node {
      flex: 1;
      max-width: 130px;
      background: var(--gep-light-grey);
      border: 1px solid var(--gep-border);
      border-radius: 8px;
      padding: 7px 10px;
    }

    #gep-anim-mcn-hero .node-name {
      font-size: 10px;
      font-weight: 600;
      color: var(--gep-dark);
      margin-bottom: 3px;
    }

    #gep-anim-mcn-hero .node-status {
      font-size: 9px;
      font-weight: 600;
    }

    /* Syncing → Connected transitions */
    #gep-anim-mcn-hero .s1 { animation: gep-mcn-hero-sync1 6s ease-in-out infinite; }
    #gep-anim-mcn-hero .s2 { animation: gep-mcn-hero-sync2 6s ease-in-out infinite; }
    #gep-anim-mcn-hero .s3 { animation: gep-mcn-hero-sync3 6s ease-in-out infinite; }
    #gep-anim-mcn-hero .s4 { color: var(--gep-green); }
    #gep-anim-mcn-hero .s5 { color: var(--gep-green); }

    #gep-anim-mcn-hero .n1 { animation: gep-mcn-hero-border1 6s ease-in-out infinite; }
    #gep-anim-mcn-hero .n2 { animation: gep-mcn-hero-border2 6s ease-in-out infinite; }
    #gep-anim-mcn-hero .n3 { animation: gep-mcn-hero-border3 6s ease-in-out infinite; }

    #gep-anim-mcn-hero .summary {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border: 1px solid var(--gep-border);
      border-radius: 8px;
      background: var(--gep-white);
      opacity: 0;
      animation: gep-mcn-hero-reveal 6s ease-in-out infinite;
    }

    #gep-anim-mcn-hero .sum-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--gep-green);
      flex-shrink: 0;
    }

    #gep-anim-mcn-hero .sum-text {
      font-size: 10px;
      font-weight: 600;
      color: var(--gep-dark);
    }

    @keyframes gep-mcn-hero-pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.5; transform: scale(1.3); }
    }

    @keyframes gep-mcn-hero-sync1 {
      0%, 15% { content: "Syncing"; color: var(--gep-muted); }
      30%, 100% { color: var(--gep-green); }
    }
    @keyframes gep-mcn-hero-sync2 {
      0%, 25% { color: var(--gep-muted); }
      40%, 100% { color: var(--gep-green); }
    }
    @keyframes gep-mcn-hero-sync3 {
      0%, 35% { color: var(--gep-muted); }
      50%, 100% { color: var(--gep-green); }
    }

    @keyframes gep-mcn-hero-border1 {
      0%, 15% { border-color: var(--gep-border); }
      30%, 100% { border-color: var(--gep-green); }
    }
    @keyframes gep-mcn-hero-border2 {
      0%, 25% { border-color: var(--gep-border); }
      40%, 100% { border-color: var(--gep-green); }
    }
    @keyframes gep-mcn-hero-border3 {
      0%, 35% { border-color: var(--gep-border); }
      50%, 100% { border-color: var(--gep-green); }
    }

    @keyframes gep-mcn-hero-reveal {
      0%, 55% { opacity: 0; transform: translateY(6px); }
      68%, 92% { opacity: 1; transform: translateY(0); }
      100% { opacity: 0; transform: translateY(6px); }
    }

    /* SECTION 1 ANIMATION */

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

    #gep-anim-mcn-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, sans-serif;
      color: var(--gep-text);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #gep-anim-mcn-sec .win {
      width: 440px;
      background: var(--gep-white);
      border: 1px solid var(--gep-border);
      border-radius: 14px;
      overflow: hidden;
    }

    #gep-anim-mcn-sec .bar {
      display: flex;
      align-items: center;
      gap: 7px;
      padding: 11px 16px;
      background: var(--gep-white);
      border-bottom: 1px solid var(--gep-border);
    }

    #gep-anim-mcn-sec .dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gep-border);
    }

    #gep-anim-mcn-sec .title {
      font-size: 12px;
      font-weight: 600;
      color: var(--gep-dark);
      margin-left: 4px;
    }

    #gep-anim-mcn-sec .bod {
      padding: 16px;
    }

    #gep-anim-mcn-sec .alert-card {
      border: 1px solid var(--gep-ruby);
      border-radius: 10px;
      padding: 14px;
      background: rgba(212, 47, 90, 0.04);
      margin-bottom: 12px;
      opacity: 0;
      transform: translateY(8px);
      animation: gep-mcn-sec-alertin 6s ease-in-out infinite;
    }

    #gep-anim-mcn-sec .alert-header {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }

    #gep-anim-mcn-sec .alert-icon {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: var(--gep-ruby);
      color: var(--gep-white);
      font-size: 11px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    #gep-anim-mcn-sec .alert-label {
      font-size: 12px;
      font-weight: 700;
      color: var(--gep-ruby);
    }

    #gep-anim-mcn-sec .alert-body {
      font-size: 11px;
      color: var(--gep-text);
      line-height: 1.5;
      margin-bottom: 12px;
    }

    #gep-anim-mcn-sec .alert-actions {
      display: flex;
      gap: 8px;
    }

    #gep-anim-mcn-sec .action-btn {
      padding: 6px 12px;
      border-radius: 6px;
      font-size: 10px;
      font-weight: 600;
      cursor: pointer;
    }

    #gep-anim-mcn-sec .btn-primary {
      background: var(--gep-ruby);
      color: var(--gep-white);
      border: 1px solid var(--gep-ruby);
      animation: gep-mcn-sec-btnpress 6s ease-in-out infinite;
    }

    #gep-anim-mcn-sec .btn-secondary {
      background: var(--gep-white);
      color: var(--gep-text);
      border: 1px solid var(--gep-border);
    }

    #gep-anim-mcn-sec .response-card {
      border: 1px solid var(--gep-border);
      border-radius: 10px;
      padding: 12px 14px;
      background: var(--gep-light-grey);
      opacity: 0;
      transform: translateY(6px);
      animation: gep-mcn-sec-reveal 6s ease-in-out infinite;
    }

    #gep-anim-mcn-sec .resp-row {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

    #gep-anim-mcn-sec .resp-check {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: var(--gep-green);
      color: var(--gep-white);
      font-size: 12px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    #gep-anim-mcn-sec .resp-text {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    #gep-anim-mcn-sec .resp-text strong {
      font-size: 12px;
      color: var(--gep-dark);
    }

    #gep-anim-mcn-sec .resp-text span {
      font-size: 11px;
      color: var(--gep-muted);
    }

    @keyframes gep-mcn-sec-alertin {
      0%, 8% { opacity: 0; transform: translateY(8px); }
      20%, 75% { opacity: 1; transform: translateY(0); }
      88%, 100% { opacity: 0; transform: translateY(8px); }
    }

    @keyframes gep-mcn-sec-btnpress {
      0%, 45% { transform: scale(1); filter: brightness(1); }
      52% { transform: scale(0.95); filter: brightness(0.88); }
      60%, 100% { transform: scale(1); filter: brightness(1); }
    }

    @keyframes gep-mcn-sec-reveal {
      0%, 58% { opacity: 0; transform: translateY(6px); }
      70%, 88% { opacity: 1; transform: translateY(0); }
      97%, 100% { opacity: 0; transform: translateY(6px); }
    }
