/* 기본 레이아웃 조정 */
.welcome-content {
  display:flex;
  gap:24px;
  align-items:flex-start;
}
.welcome-left,
.welcome-right { flex:1 1 0; min-width:0; }
.step-grid { display:flex; gap:18px; align-items:flex-start; }
.step-grid-img-wrapper { flex:0 0 auto; }
.step-img { max-width:160px; height:auto; }

.action-buttons { display:flex; gap:16px; justify-content:center; margin:40px 0 24px; }
.action-buttons .btn { padding:14px 28px; font-size:16px; border-radius:14px; }

.mobile-cta { display:none; }

/* 반응형: 태블릿 */
@media (max-width:1024px){
  .welcome-content { flex-direction:column; }
  .welcome-right { order:2; }
  .welcome-left { order:1; }
}

/* 반응형: 모바일 */
@media (max-width:640px){
  .welcome-header { padding:28px 14px; }
  .welcome-header-top h1 { font-size: clamp(30px, 7vw, 36px); margin:0; }
  .welcome-header-middle p { font-size:14px; line-height:1.45; }
  .welcome-header-bottom { font-size:13px; }

  .welcome-content { flex-direction:column; padding:0 14px; gap:20px; }

  /* PC 버전과 동일하게 배경 투명 + 테두리 제거 */
  .welcome-block {
    background:#fff;
    border:1px solid #e6e0ea;
    border-radius:16px;
    padding:18px 16px 20px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
  }
  
  .section-block {
    background:#6f3fa3;
    color:#fff;
    border:none;
    border-radius:16px;
    padding:18px 16px 20px;
    box-shadow:none;
  }

  .work-principle .step-grid {
    flex-direction:row;
    gap:12px;
  }
  .step-grid-img-wrapper { display:none; } /* 이미지 제거로 높이 절약 */
  .step .circle {
    width:34px; height:34px;
    border-radius:50%;
    background:#6f3fa3;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
  }
  .step-title { font-size:15px; font-weight:600; margin-bottom:4px; }
  .step-desc { font-size:13px; line-height:1.45; }

  .welcome-right .section-block ul { padding-left:18px; font-size:13px; margin:8px 0; }
  .welcome-right .section-block h3 { color:#fff; }
  .welcome-right .section-block p { color:rgba(255,255,255,0.95); }
  .welcome-right .section-block li { color:rgba(255,255,255,0.95); }

  .action-buttons { display:none; }
  .mobile-cta {
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:0 14px 28px;
  }
  .mobile-cta .btn {
    width:100%;
    text-align:center;
    padding:14px 0;
    font-size:16px;
    font-weight:600;
    border-radius:14px;
  }
  .mobile-cta .primary-wide { background:#6f3fa3; color:#fff; }
  .mobile-cta .secondary-wide { background:#5e2d92; color:#fff; }
  .footer { font-size:12px; padding:18px 12px; }

  /* 오른쪽 컬럼을 위로 재배치 */
  .welcome-right { order:1; }
  .welcome-left { order:2; }
}

/* 초소형 */
@media (max-width:380px){
  .mobile-cta .btn { font-size:15px; padding:13px 0; }
  .welcome-header-top h1 { font-size:26px; }
}