/* 기본 스타일 */ body { margin: 0; font-family: Pretendard GOV Variable, Pretendard GOV, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; background: linear-gradient(180deg, #4f46e5 0%, #7c3aed 50%, #a855f7 100%); color: #e5e7eb; overflow-x: hidden; animation: fadeInUp 1.2s ease forwards; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes shimmer { 0% { background-position: -300px 0; } 100% { background-position: 300px 0; } } header { position: absolute; top: 0; left: 0; width: 100%; padding: 1.2rem 1.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; z-index: 10; background: rgba(17, 24, 39, 0.92); backdrop-filter: blur(4px); box-shadow: 0 2px 8px rgba(0,0,0,0.3); } header a, header button { color: #e5e7eb; font-weight: 600; margin-left: 0.75rem; background: none; border: 1px solid #c084fc; padding: 0.35rem 0.8rem; border-radius: 9999px; font-size: 0.95rem; cursor: pointer; transition: all 0.25s ease; } header a:first-child { font-size: 1.4rem; font-weight: 900; margin-left: 0; border: none; padding: 0; cursor: pointer; } header a:hover, header button:hover { color: white; background: linear-gradient(90deg, #c084fc, #a855f7); border-color: transparent; transform: scale(1.05); } header nav { display: flex; align-items: center; gap: 0.75rem; } /* 히어로 섹션 */ #hero { flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 6rem 1.5rem 4rem; min-height: 90vh; display: flex; gap: 1.5rem; } #hero h2 { font-size: 3.25rem; font-weight: 900; color: #fff; text-shadow: 0 0 12px rgba(192,132,252,0.8); } #hero p { max-width: 640px; color: #d1c7f7; font-size: 1.125rem; line-height: 1.5; } /* 버튼 */ #showServicesBtn { background: linear-gradient(90deg, #c084fc, #a855f7); color: white; font-weight: 700; padding: 0.75rem 1.5rem; border-radius: 9999px; box-shadow: 0 0 20px rgba(192,132,252,0.7); cursor: pointer; transition: background-color 0.3s ease, transform 0.3s ease; font-size: 1rem; max-width: 300px; margin: 0 auto; display: block; } #showServicesBtn:hover { background: linear-gradient(90deg, #b572fc, #973ff7); transform: scale(1.05); } /* 서비스 섹션 */ #services { opacity: 0; transform: translateY(50px); transition: opacity 0.8s ease, transform 0.8s ease; max-width: 1280px; margin: 1rem auto 5rem auto; padding: 0 1rem; } #services.visible { opacity: 1; transform: translateY(0); } #services .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; } .service-card { position: relative; background: rgba(31, 41, 55, 0.8); border: 1px solid rgba(167, 139, 250, 0.4); border-radius: 24px; padding: 30px; text-align: left; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; overflow: hidden; color: #e5e7eb; box-shadow: 0 4px 10px rgba(0,0,0,0.2); } .service-card:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 10px 25px rgba(192,132,252,0.6); } .service-card::before { content: ""; position: absolute; top: 0; left: -75%; height: 100%; width: 50%; background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.12), rgba(255,255,255,0)); transform: skewX(-20deg); animation: shimmer 3s infinite; } .service-title { font-size: 1.4rem; margin-bottom: 10px; color: #ddd; } .service-description { font-size: 1rem; color: #bbb; line-height: 1.6; } /* 아웃소싱 섹션 */ #outsourcing { padding: 6rem 1rem; max-width: 960px; margin: 0 auto 6rem; text-align: center; } #outsourcing h3 { font-size: 2.25rem; font-weight: 900; color: #eaddff; margin-bottom: 1.5rem; text-shadow: 0 0 10px rgba(192,132,252,0.7); } #outsourcing p { max-width: 720px; margin: 0 auto 2rem; color: #d0c3f2; font-size: 1.1rem; } #outsourcing a { display: inline-block; background: linear-gradient(90deg, #22c55e, #16a34a); color: white; padding: 1rem 3rem; border-radius: 9999px; font-weight: 700; box-shadow: 0 0 20px rgba(34, 197, 94, 0.6); transition: background-color 0.3s ease, transform 0.3s ease; text-decoration: none; } #outsourcing a:hover { background: linear-gradient(90deg, #16a34a, #15803d); transform: scale(1.05); } /* footer */ footer { background: #111827; color: #a78bfa; text-align: center; padding: 1.5rem 1rem; font-size: 0.9rem; } /* 모바일 반응형 */ @media (max-width: 768px) { header { flex-direction: column; align-items: flex-start; padding: 0.5rem 1rem; flex-wrap: wrap; gap: 0.3rem; } header a, header button { margin-left: 0 !important; margin-top: 0.15rem; margin-bottom: 0.15rem; font-size: 0.85rem; padding: 0.25rem 0.6rem; } header a:first-child { font-size: 1.1rem !important; } #hero { padding: 4rem 1rem 2rem; } #hero h2 { font-size: 2rem; } #hero p { font-size: 1rem; } #showServicesBtn { padding: 0.5rem 1rem !important; font-size: 0.9rem !important; width: 90% !important; max-width: 200px !important; margin: 1rem auto !important; box-shadow: 0 0 15px rgba(192,132,252,0.6) !important; } #services .grid { grid-template-columns: 1fr !important; gap: 1rem !important; } .service-card { padding: 1rem !important; } .service-title { font-size: 1.2rem !important; } .service-description { font-size: 0.95rem !important; } #outsourcing { padding: 3rem 1rem; } #outsourcing h3 { font-size: 1.75rem; } #outsourcing p { font-size: 1rem; } #outsourcing a { padding: 0.8rem 2rem; font-size: 0.95rem; } }