/* first-container [S] */
.first-container {
    background: var(--neutral-30);
    padding: var(--space-8) var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  .first-container .cta-wrapper {
    width: 100%;
    max-width: var(--layout-max-width);
  }
  .first-container .frame-154 {
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .first-container .section-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    position: relative;
  }
  
  .first-container .top {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: flex-start;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .first-container .secondary-headline {
    font-family: var(--mh2-font-family, "Roboto-Bold", sans-serif);
    font-size: var(--space-6);
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
    width: 100%;
  }

  .first-container .secondary-headline > span {
    display: inline-block;
    color: var(--neutral-100);
    font-family: var(--mh2-font-family, "Roboto-Bold", sans-serif);
    font-size: clamp(1.2rem, 1.9vw, var(--space-7));
    line-height: clamp(1.2rem, 3.2vw, 2.1rem);
    font-weight: inherit;
  }

  .first-container .secondary-headline > span > b {
    color: var(--primary-60);
  }
  
  .first-container .paragraph {
    color: var(--neutral-100);
    font-family: var(--mh4-font-family, "Roboto-Bold", sans-serif);
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
    width: 100%;
    font-size: clamp(.8rem, 1.9vw, var(--space-5));
    line-height: clamp(1.5rem, 3.2vw, 2.1rem);
  }

  .first-container .paragraph > span {
    display: inline-block;
    
  }

  .first-container .paragraph > span > b {
    color: var(--primary-60);
  }
  
  .first-container .group-2 {
    width: 100%;
    max-width: clamp(280px, 50vw, 640px);
    height: auto;
    position: relative;
    display: flex;
    justify-content: center;
  }

  .first-container .placeholder-picture,
  .first-container ._1 {
    position: static;
    width: clamp(200px, 45vw, 356px);
    height: auto;
    object-fit: contain;
    transition: var(--transition-base);
  }
  .first-container .group-2 > ._1 {
    display: none;
    }
  
  .first-container .row {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    position: relative;
  }
  
  .first-container .stats-card {
    background: var(--default-white, var(--white));
    border-radius: var(--space-5);
    border-style: solid;
    border-color: var(--coolgray-20);
    border-width: 1px;
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    position: relative;
    box-shadow: var(
      --shadow-default-box-shadow,
      0px 0px var(--space-5) 0px rgba(0, 0, 0, 0.2)
    );
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .first-container .stats-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px var(--space-2) 25px 0px rgba(0, 0, 0, 0.25);
  }
  
  .first-container .icon-heroicons-solid-office-building,
  .first-container .icon-ionicons-filled-browsers,
  .first-container .icon-heroicons-solid-user-group,
  .first-container .icon-feathericons-thumbs-up {
    width: var(--space-8);
    height: var(--space-8);
    position: relative;
    overflow: visible;
  }
  
  .first-container .content {
    display: flex;
    flex-direction: row;
    gap: var(--space-4);
    align-items: flex-start;
    justify-content: center;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .first-container .text {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    position: relative;
    width: 100%;
  }
  
  .first-container .title-container {
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
    align-items: center;
    justify-content: center;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .first-container .title,
  .first-container .title2 {
    color: var(--primary-60);
    text-align: center;
    font-family: var(--mh3-font-family, "Roboto-Bold", sans-serif);
    font-size: 28px;
    line-height: 130%;
    font-weight: 700;
    position: relative;
    flex: 1;
  }
  
  .first-container .title2 {
    mix-blend-mode: darken;
  }
  
  /* 카운트업 애니메이션 스타일 */
  .countup-number {
    transition: var(--transition-base);
  }
  
  .countup-number.counting {
    text-shadow: 0 0 var(--space-gap) rgba(250, 140, 22, 0.3);
    transform: scale(1.05);
  }
  
  .countup-number.completed {
    animation: countupComplete 0.6s ease-out;
  }
  
  @keyframes countupComplete {
    0% { 
      transform: scale(1.05);
      text-shadow: 0 0 var(--space-gap) rgba(250, 140, 22, 0.5);
    }
    50% { 
      transform: scale(1.1);
      text-shadow: 0 0 15px rgba(250, 140, 22, 0.7);
    }
    100% { 
      transform: scale(1);
      text-shadow: none;
    }
  }
  
  /* 접근성: 애니메이션 감소 옵션 지원 */
  @media (prefers-reduced-motion: reduce) {
    .countup-number {
      transition: none;
    }
    
    .countup-number.counting {
      text-shadow: none;
      transform: none;
    }
    
    .countup-number.completed {
      animation: none;
    }
  }
  
  .first-container .description-bottom {
    color: var(--coolgray-60);
    text-align: center;
    font-family: var(--mbody1-font-family, "Roboto-Regular", sans-serif);
    font-size: var(--space-4);
    line-height: 140%;
    font-weight: 400;
    position: relative;
    align-self: stretch;
    width: 100%;
  }
  /* first container [E] */
/* second container [S] */
.second-container {
    background: var(--default-white, var(--white));
    padding: var(--space-8) var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .second-container .section-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
    max-width: 100%;
  }
  
  .second-container .top {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .second-container .secondary-headline {
    text-align: center;
    font-family: var(--mh2-font-family, "Roboto-Bold", sans-serif);
    font-size: 32px;
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
  }
  
  .second-container .secondary-headline-span {
    color: var(--neutral-120);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
  }
  
  .second-container .secondary-headline-span2 {
    color: var(--primary-60);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
  }
  
  .second-container .frame-1 {
    display: flex;
    flex-direction: column;
    gap: clamp(.8rem, 2vw, var(--space-8));
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
  }
  
  .second-container .frame-12,
  .second-container .frame-4,
  .second-container .frame-5 {
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    position: relative;
    transition: transform var(--transition-base);
  }

  .second-container .frame-12:hover,
  .second-container .frame-4:hover,
  .second-container .frame-5:hover {
    transform: translateY(-5px);
  }
  
  .second-container .div,
  .second-container ._1,
  .second-container ._12 {
    width: clamp(260px, 25vw, 220px);
    height: clamp(260px, 25vw, 220px);
    position: relative;
    object-fit: contain;
  }
  
  .second-container .paragraph {
    color: var(--neutral-90);
    text-align: center;
    font-family: var(--mh3-font-family, "Roboto-Bold", sans-serif);
    font-size: var(--space-6);
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
  }
  
  .second-container .paragraph2 {
    color: var(--coolgray-90);
    text-align: center;
    font-family: var(--mbody1-font-family, "Roboto-Regular", sans-serif);
    font-size: var(--space-4);
    line-height: 140%;
    font-weight: 400;
    position: relative;
    align-self: stretch;
  }
/* second container [E] */
/* third-container [S] */
.third-container {
    background: var(--default-white, var(--white));
    padding: var(--space-8) var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .third-container .section-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-30);
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
    max-width: 100%;
  }
  
  .third-container .top {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: center;
    justify-content: flex-start;
    align-self: stretch;
    position: relative;
    width: 100%;
  }
  
  .third-container .secondary-headline {
    text-align: center;
    font-family: var(--mh2-font-family, "Roboto-Bold", sans-serif);
    font-size: 32px;
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
  }
  
  .third-container .secondary-headline-span {
    color: var(--neutral-100);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
  }
  
  .third-container .secondary-headline-span2 {
    color: var(--primary-60);
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
  }
  
  .third-container .paragraph {
    color: var(--coolgray-90);
    text-align: center;
    font-family: var(--mh4-font-family, "Roboto-Bold", sans-serif);
    font-size: var(--space-5);
    line-height: 130%;
    font-weight: 700;
    position: relative;
    align-self: stretch;
    margin-bottom: var(--space-gap);
  }
  
  /* Q&A Grid Layout */
  .third-container .qa-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-10) var(--space-10);
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .third-container .qa-item {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
  }

  .third-container .qa-question {
    background: var(--primary-60);
    border-radius: 25px;
    padding: var(--space-3) var(--space-6);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 360px;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    box-shadow: 0px 2px var(--space-2) 0px rgba(0, 0, 0, 0.15);
  }

  .third-container .qa-question .paragraph3 {
    color: var(--neutral-20);
    text-align: center;
    font-family: var(--mh6-font-family, "Roboto-Bold", sans-serif);
    font-size: var(--space-4);
    line-height: 120%;
    font-weight: 700;
    margin: 0;
  }

  .third-container .qa-answer {
    background: var(--white);
    border-radius: 15px;
    padding: 35px var(--space-5) var(--space-6) var(--space-5);
    box-shadow: 0px var(--space-1) var(--space-5) 0px rgba(0, 0, 0, 0.1);
    transition: var(--transition-base);
    flex: 1;
    margin-top: 15px;
  }

  .third-container .qa-answer:hover {
    transform: translateY(-2px);
    box-shadow: 0px var(--space-2) var(--space-30) 0px rgba(0, 0, 0, 0.15);
  }

  .third-container .qa-answer .paragraph2 {
    color: var(--coolgray-90);
    text-align: left;
    font-family: var(--mh6-font-family, "Roboto-Medium", sans-serif);
    font-size: var(--space-4);
    line-height: 150%;
    font-weight: 500;
    margin: 0;
  }
  
  .third-container .frame-12 {
    position: relative;
    box-shadow: 0px 0px var(--space-5) 0px rgba(0, 0, 0, 0.25);
    border-radius: var(--space-5);
    width: 100%;
    margin-top: var(--space-30);
    transition: var(--transition-base);
    display: flex;
    flex-direction: column;
    overflow: visible;
  }

  /* Q&A cards hover effects */
  .third-container .frame-12:hover {
    transform: translateY(-5px);
    box-shadow: 0px var(--space-2) 35px 0px rgba(0, 0, 0, 0.3);
  }
  
  .third-container .frame-164,
  .third-container .frame-1642 {
    background: var(--white);
    border-radius: 15px;
    padding: var(--space-30) var(--space-5) var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-gap);
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    margin-top: 0;
  }
  
  .third-container .paragraph2 {
    color: var(--coolgray-90);
    text-align: center;
    font-family: var(--mbody1-font-family, "Roboto-Regular", sans-serif);
    font-size: var(--space-4);
    line-height: 140%;
    font-weight: 400;
    position: relative;
    align-self: stretch;
  }
  
  .third-container .frame-152 {
    background: var(--primary-60);
    border-radius: var(--space-5);
    padding: var(--space-3) var(--space-6);
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    position: relative;
    z-index: 2;
    margin: -15px 0 0 0;
    width: fit-content;
    max-width: calc(100% - var(--space-8));
    flex-shrink: 0;
  }
  
  .third-container .paragraph3 {
    color: var(--neutral-20);
    text-align: center;
    font-family: var(--mh6-font-family, "Roboto-Bold", sans-serif);
    font-size: var(--space-4);
    line-height: 120%;
    font-weight: 700;
    position: relative;
    flex: 1;
  }
/* third-container [E] */
  /* 태블릿 크기 (768px 이상) */
  @media screen and (min-width: 768px) {
    /* first container [S] */
    .first-container {
      padding: 60px var(--space-8);
      gap: var(--space-8);
    }
    
    .first-container .group-2 {
      max-width: clamp(400px, 35vw, 640px);
    }

    .first-container .placeholder-picture,
    .first-container ._1 {
      width: clamp(250px, 30vw, 356px);
    }

    .first-container .group-2 > ._1 {
        display: block;
    }
    
    .first-container .row {
      flex-direction: row;
      flex-wrap: wrap;
      gap: var(--space-5);
    }
    
    .first-container .stats-card {
      width: calc(50% - var(--space-gap));
      flex: 0 0 calc(50% - var(--space-gap));
    }
    .first-container .frame-154 {
      justify-content: center;
    }
    /* first container [E] */
    /* second container [S] */
    .second-container {
        padding: 60px var(--space-8);
        gap: var(--space-8);
      }
      
      .second-container .secondary-headline {
        font-size: 36px;
      }
      
      /* .second-container .frame-1 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--space-5);
        justify-content: center;
      } */
      
      .second-container .frame-12,
      .second-container .frame-4,
      .second-container .frame-5 {
        flex: 0 0 calc(50% - var(--space-5));
        max-width: calc(50% - var(--space-5));
      }
      
      .second-container .div,
      .second-container ._1,
      .second-container ._12 {
        width: 200px;
        height: 200px;
      }
      
      .second-container ._12 {
        height: 201px;
      }
      
      .second-container .paragraph {
        font-size: 28px;
      }
      
      .second-container .paragraph2 {
        font-size: 17px;
      }
    /* second container [E] */
    /* third-container [S] */
    .third-container {
        padding: 60px var(--space-8);
        gap: var(--space-8);
      }
      
      .third-container .secondary-headline {
        font-size: 36px;
      }
      
      .third-container .paragraph {
        font-size: 22px;
      }
      
      .third-container .frame-1,
      .third-container .frame-4 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--space-5);
        justify-content: center;
      }
      
      .third-container .frame-12 {
        flex: 0 0 calc(100% - var(--space-5));
        max-width: calc(100% - var(--space-5));
        padding: 60px var(--space-30) var(--space-8);
      }
      
      .third-container .frame-164,
      .third-container .frame-1642 {
        padding: 25px;
        border-radius: 18px;
      }
      
      .third-container .paragraph2 {
        font-size: 17px;
      }
      
      .third-container .frame-152 {
        border-radius: 25px;
        padding: 5px 18px;
        width: 85%;
        left: 7.5%;
        top: -18px;
      }
      
      .third-container .paragraph3 {
        font-size: 17px;
      }
    /* third-container [E] */
  }

  /* 중간 태블릿 크기 (900px 이상) */
    @media screen and (min-width: 900px) {
    /* third-container [S] */
    .third-container .frame-12 {
      flex: 0 0 calc(50% - var(--space-5));
      max-width: calc(50% - var(--space-5));
    }
    /* third-container [E] */
    }
  
  /* 데스크탑 크기 (1024px 이상) */
  @media screen and (min-width: 1024px) {
    /* first container [S] */
    .first-container {
      padding: 80px;
      gap: 48px;
    }
    
    .first-container .frame-154 {
      max-width: var(--layout-max-width);
      flex-direction: row;
      gap: 48px;
      align-items: flex-start;
    }
    
    .first-container .section-text {
      flex: 1;
      gap: 48px;
    }
    
    .first-container .group-2 {
      width: clamp(480px, 40vw, 640px);
      height: clamp(350px, 32vw, 466px);
      position: relative;
    }

    .first-container .placeholder-picture {
      position: absolute;
      left: clamp(213px, 18.8vw, 284px);
      top: 0px;
      width: clamp(267px, 16vw, 284px);
      height: auto;
    }

    .first-container ._1 {
      width: clamp(252px, 21vw, 336px);
      height: clamp(251px, 21vw, 335px);
      position: absolute;
      left: 0;
      top: clamp(98px, 8.7vw, 131px);
    }
    
    .first-container .row {
      flex-wrap: nowrap;
      gap: var(--space-6);
    }
    
    .first-container .stats-card {
      width: auto;
      flex: 1;
    }
    
    .first-container .icon-heroicons-solid-office-building,
    .first-container .icon-ionicons-filled-browsers,
    .first-container .icon-heroicons-solid-user-group,
    .first-container .icon-feathericons-thumbs-up {
      width: 48px;
      height: 48px;
    }
    
    .first-container .description-bottom {
      font-size: 18px;
    }
    /* first-container [E] */
    /* second container [S] */
    .second-container {
        padding: 80px;
        gap: 64px;
      }
      
      .second-container .section-text {
        gap: 48px;
        max-width: 1280px;
      }
      
      .second-container .secondary-headline {
        font-size: 42px;
      }
      
      .second-container .frame-1 {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 25px;
        max-width: 1120px;
        width: 100%;
      }
      
      .second-container .frame-12,
      .second-container .frame-4,
      .second-container .frame-5 {
        flex: 1;
        padding: 0px var(--space-4);
      }
      
      .second-container .div,
      .second-container ._1,
      .second-container ._12 {
        width: 250px;
        height: 250px;
      }
      
      .second-container ._12 {
        height: 251.13px;
      }
      
      .second-container .paragraph {
        font-size: 32px;
      }
      
      .second-container .paragraph2 {
        font-size: 18px;
      }
    /* second container [E] */
    /* third-container [S] */
    .third-container {
        padding: 80px 60px;
        gap: 64px;
      }
      
      .third-container .section-text {
        gap: 48px;
        max-width: 1280px;
      }
      
      .third-container .secondary-headline {
        font-size: 42px;
      }
      
      .third-container .paragraph {
        font-size: var(--space-6);
        margin-bottom: 0;
      }
      
      .third-container .frame-1,
      .third-container .frame-4 {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 25px;
        max-width: 1120px;
        width: 100%;
      }
      
      .third-container .frame-12 {
        padding: 72px;
        flex: 1;
      }
      
      .third-container .frame-164,
      .third-container .frame-1642 {
        width: 100%;
        max-width: 548px;
        padding: var(--space-30);
        border-radius: var(--space-5);
        position: absolute;
        left: 0;
        top: -2px;
      }
      
      .third-container .paragraph2 {
        font-size: 18px;
        text-align: left;
      }
      
      .third-container .frame-152 {
        border-radius: var(--space-30);
        padding: var(--space-gap) 18px;
        margin: -var(--space-3) 0 0 0;
      }
      
      .third-container .paragraph3 {
        font-size: 18px;
        text-align: left;
      }
      
      .third-container .frame-1642 {
        left: 0.5px;
      }
    /* third-container [E] */
  }

  /* 태블릿 반응형 */
  @media screen and (max-width: 1200px) {
    .third-container .qa-grid {
      gap: var(--space-6) var(--space-30);
      max-width: 900px;
    }

    .third-container .qa-question {
      padding: var(--space-gap) var(--space-5);
      border-radius: var(--space-5);
    }

    .third-container .qa-question .paragraph3 {
      font-size: 15px;
    }

    .third-container .qa-answer {
      padding: var(--space-5) 18px;
    }

    .third-container .qa-answer .paragraph2 {
      font-size: 15px;
      line-height: 145%;
    }
  }

  /* 모바일 반응형 */
  @media screen and (max-width: 768px) {
    .third-container .qa-grid {
      grid-template-columns: 1fr;
      gap: var(--space-8);
      max-width: 100%;
    }

    .third-container .qa-question {
      padding: var(--space-2) var(--space-4);
      border-radius: var(--space-5);
      max-width: calc(100% - var(--space-5));
      top: -var(--space-3);
    }

    .third-container .qa-question .paragraph3 {
      font-size: 14px;
      text-align: center;
    }

    .third-container .qa-answer {
      padding: 18px var(--space-4);
    }

    .third-container .qa-answer .paragraph2 {
      font-size: 14px;
      line-height: 140%;
      text-align: center;
    }
  }

  /* 대형 화면 크기 (1440px 이상) */
  @media screen and (min-width: var(--layout-max-width)) {
    /* first container [S] */
    .first-container .group-2 {
      position: relative;
      width: 640px;
      height: 466px;
    }

    .first-container .placeholder-picture {
      left: 284px;
      width: 356px;
      height: auto;
    }

    .first-container ._1 {
      width: 336px;
      height: 335px;
    }

    .first-container .frame-154 {
      flex-direction: row;
    }
    /* first-container [E] */
    /* second container [S] */
    .second-container .section-text {
        width: 1280px;
      }
      
      .second-container .frame-1 {
        width: 1120px;
      }
    /* second container [E] */
    /* third-container [S] */
    .third-container .section-text {
        width: 1280px;
      }
      
      .third-container .frame-1,
      .third-container .frame-4 {
        width: 1120px;
      }
    /* third-container [E] */
  }

/* Mobile-optimized touch interactions */
@media (max-width: 768px) {
  .first-container .stats-card:active,
  .second-container .frame-12:active,
  .second-container .frame-4:active,
  .second-container .frame-5:active,
  .third-container .frame-12:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
  }
}

