  @charset "UTF-8";

  * {
      box-sizing: border-box;
      text-decoration: none;
  }

  .brand p {
      color: var(--color-primary);
      margin: 0;
  }

  body {
      background: linear-gradient(135deg, var(--color-secondary-green-light) 0%, var(--color-secondary-cyan) 50%, var(--color-secondary-blue) 100%);
  }

  .flow-section {
      /* background: linear-gradient(135deg, var(--color-secondary-green-light) 0%, var(--color-secondary-cyan) 50%, var(--color-secondary-blue) 100%); */
      padding: 0;
      position: relative;
  }

  .flow-section::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="dots" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23dots)"/></svg>');
      pointer-events: none;
  }

  /* .container { */
  /* max-width: 1400px; */
  /* margin: 0 auto; */
  /* position: relative; */
  /* z-index: 2; */
  /* } */

  .section-header {
      text-align: center;
      margin-bottom: 20px;
      animation: fadeInUp 1s ease-out;
  }

  /* .section-title { */
  /* font-size: 2.3rem; */
  /* font-weight: 800; */
  /* color: var(--color-white); */
  /* margin-bottom: 20px; */
  /* letter-spacing: 0.05em; */
  /* text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); */
  /* } */

  .flow-section-subtitle {
      font-size: 1.2em;
      color: var(--color-white);
      text-align: center;
      margin-bottom: 2rem;

  }

  .flow-container {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 30px;
      /* margin-top: 20px; */
      position: relative;
  }



  .flow-step {
      background: rgba(255, 255, 255, 0.98);
      border-radius: 24px;
      padding: 40px;
      position: relative;
      overflow: visible;
      transform: translateY(30px);
      opacity: 0;
      animation: slideInUp 0.8s ease-out forwards;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  }

  .flow-step:nth-child(1) {
      animation-delay: 0.2s;
  }

  .flow-step:nth-child(2) {
      animation-delay: 0.4s;
  }

  .flow-step:nth-child(3) {
      animation-delay: 0.6s;
  }

  .flow-step:nth-child(4) {
      animation-delay: 0.8s;
  }

  .flow-step:nth-child(5) {
      animation-delay: 1.0s;
  }

  .flow-step.step-1 {
      grid-column: 1;
      grid-row: 1;
  }

  .flow-step.step-2 {
      grid-column: 2;
      grid-row: 1;
  }

  .flow-step.step-3 {
      grid-column: 3;
      grid-row: 1;
  }

  .flow-step.step-4 {
      grid-column: 1 / span 2;
      grid-row: 2;
  }

  .flow-step.step-5 {
      grid-column: 3;
      grid-row: 2;
  }

  .flow-step::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 6px;
      background: linear-gradient(90deg, var(--color-secondary-green-light), var(--color-secondary-cyan));
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.6s ease;
  }

  .flow-step:hover::before {
      transform: scaleX(1);
  }

  .flow-step:hover {
      transform: translateY(-10px) scale(1.02);
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
  }

  .step-number {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--color-secondary-green-light), var(--color-secondary-cyan));
      color: var(--color-white);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.5rem;
      font-weight: bold;
      position: absolute;
      top: -15px;
      left: -15px;
      z-index: 10;
      overflow: hidden;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }

  .step-number::after {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
      transition: left 0.6s;
  }

  .flow-step:hover .step-number::after {
      left: 100%;
  }

  .step-title {
      font-size: 1.8rem;
      font-weight: 700;
      color: var(--color-text-dark);
      margin-bottom: 15px;
      line-height: 1.3;
  }

  .step-description {
      font-size: 1rem;
      font-weight: 500;
      color: var(--color-text-dark);
      margin-bottom: 25px;
      line-height: 1.7;
  }

  .step-duration {
      display: inline-block;
      background: linear-gradient(135deg, var(--color-background-blue-light), #e0f2fe);
      color: var(--color-primary-dark);
      padding: 8px 16px;
      border-radius: 20px;
      font-size: 0.9rem;
      font-weight: 600;
      margin-bottom: 20px;
  }

  .step-details {
      margin-top: 20px;
  }

  .detail-list {
      list-style: none;
      padding-left: 2px;
  }

  .detail-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 10px;
      padding: 6px 0;
      transition: all 0.3s ease;
  }

  .detail-item:hover {
      transform: translateX(5px);
  }

  .detail-item::before {
      content: '•';
      color: var(--color-secondary-green);
      font-weight: bold;
      font-size: 1.2rem;
      margin-right: 12px;
      margin-top: -4px;
      flex-shrink: 0;
  }

  .detail-text {
      color: var(--color-text-light);
      font-size: 0.9rem;
      line-height: 1.5;
      text-align: start;
  }

  /* .arrow-connector { */
  /* position: absolute; */
  /* width: 40px; */
  /* height: 2px; */
  /* background: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.4)); */
  /* z-index: 1; */
  /* } */

  /* .arrow-connector::after { */
  /* content: ''; */
  /* position: absolute; */
  /* right: -8px; */
  /* top: -4px; */
  /* width: 0; */
  /* height: 0; */
  /* border-left: 8px solid rgba(255, 255, 255, 0.6); */
  /* border-top: 5px solid transparent; */
  /* border-bottom: 5px solid transparent; */
  /* } */

  /* .arrow-1 { */
  /* top: 50%; */
  /* left: calc(33.333% - 20px); */
  /* transform: translateY(-50%); */
  /* } */

  /* .arrow-2 { */
  /* top: 50%; */
  /* left: calc(66.666% - 20px); */
  /* transform: translateY(-50%); */
  /* } */

  /* .arrow-3 { */
  /* top: calc(50% + 120px); */
  /* left: calc(25% - 20px); */
  /* transform: translateY(-50%) rotate(45deg); */
  /* } */

  /* .arrow-4 { */
  /* top: calc(50% + 120px); */
  /* left: calc(75% - 20px); */
  /* transform: translateY(-50%) rotate(-45deg); */
  /* } */

  .floating-elements {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      overflow: hidden;
  }

  .floating-shape {
      position: absolute;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.1);
      animation: float 8s ease-in-out infinite;
  }

  .floating-shape:nth-child(1) {
      width: 100px;
      height: 100px;
      top: 15%;
      left: 8%;
      animation-delay: 0s;
  }

  .floating-shape:nth-child(2) {
      width: 80px;
      height: 80px;
      top: 70%;
      right: 10%;
      animation-delay: 3s;
  }

  .floating-shape:nth-child(3) {
      width: 60px;
      height: 60px;
      top: 40%;
      right: 25%;
      animation-delay: 6s;
  }

  .contact-cta {
      text-align: center;
      /* margin-top: 40px; */
      animation: fadeInUp 1.5s ease-out;
  }

  .cta-button {
      display: inline-block;
      padding: 18px 40px;
      background: linear-gradient(135deg, #facc15, #fb923c);
      color: var(--color-white);
      text-decoration: none;
      border-radius: 50px;
      font-size: 1.2rem;
      font-weight: 600;
      border: none;
      backdrop-filter: blur(10px);
      transition: all 0.3s ease;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
      position: relative;
      overflow: hidden;
  }


  .button-primary-outline:hover {
      background: rgba(255, 255, 255, 0.3);
      transform: translateY(-5px);
  }

  .cta-button::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
      transition: left 0.6s;
  }

  .cta-button:hover::before {
      left: 100%;
  }

  .cta-button:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
      background: rgba(255, 255, 255, 0.15);
      border-color: var(--color-white);
  }

  @keyframes fadeInUp {
      from {
          opacity: 0;
          transform: translateY(30px);
      }

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

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

  @keyframes float {

      0%,
      100% {
          transform: translateY(0px) rotate(0deg);
      }

      33% {
          transform: translateY(-25px) rotate(120deg);
      }

      66% {
          transform: translateY(15px) rotate(240deg);
      }
  }

  @media (max-width: 1024px) {
      .flow-container {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 1fr 1fr 1fr;
      }

      .flow-step.step-1 {
          grid-column: 1;
          grid-row: 1;
      }

      .flow-step.step-2 {
          grid-column: 2;
          grid-row: 1;
      }

      .flow-step.step-3 {
          grid-column: 1;
          grid-row: 2;
      }

      .flow-step.step-4 {
          grid-column: 2;
          grid-row: 2;
      }

      .flow-step.step-5 {
          grid-column: 1 / span 2;
          grid-row: 3;
      }

      .arrow-connector {
          display: none;
      }
  }

  @media (max-width: 768px) {

      .flow-container {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
          gap: 0;
      }

      .flow-step {
          grid-column: 1 !important;
          padding: 30px;
      }

      .flow-step.step-1 {
          grid-row: 1;
      }

      .flow-step.step-2 {
          grid-row: 2;
      }

      .flow-step.step-3 {
          grid-row: 3;
      }

      .flow-step.step-4 {
          grid-row: 4;
      }

      .flow-step.step-5 {
          grid-row: 5;
          margin-bottom: 20px;
      }

      .flow-section {
          padding: 80px 20px 10px;
      }
  }

  footer p {
      color: var(--color-text-lighter);
      font-size: 0.8rem;
      text-align: center;
      margin: 0;
  }