* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Noto Sans KR', sans-serif; color: #222; line-height: 1.6; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.header { background: #0b1c2d; color: #fff; position: fixed; width: 100%; top: 0; z-index: 1000; }
.nav { display: flex; justify-content: space-between; align-items: center; height: 64px; }
.logo { font-size: 1.2rem; font-weight: 700; color: #9cff00; }
nav ul { display: flex; list-style: none; }
nav li { margin-left: 24px; }
nav a { color: #fff; text-decoration: none; font-size: 0.95rem; }
.hero { height: 100vh; background: url('https://images.unsplash.com/photo-1526378722484-bd91ca387e72') center/cover no-repeat; position: relative; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; padding-top: 64px; }
.hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.55); }
.hero-content { position: relative; z-index: 1; }
.hero h1 { font-size: 2.2rem; margin-bottom: 12px; }
.hero p { font-size: 1.1rem; }
.section { padding: 80px 0; }
.section h2 { font-size: 1.8rem; margin-bottom: 32px; text-align: center; }
.section.light { background: #ffffff; }
.section.gray { background: #f4f6f8; }
.intro { text-align: center; margin-bottom: 24px; }
.company-info { max-width: 700px; margin: 0 auto; list-style: none; }
.company-info li { margin-bottom: 10px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.card { background: #fff; border-radius: 8px; padding: 28px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
.card h3 { color: #0b1c2d; margin-bottom: 12px; }
.portfolio-list { max-width: 800px; margin: 0 auto; list-style: none; }
.portfolio-list li { padding: 12px 0; border-bottom: 1px solid #ddd; }
.portfolio-list span { font-weight: 600; color: #0b1c2d; margin-right: 8px; }
.footer { background: #0b1c2d; color: #fff; text-align: center; padding: 40px 20px; }
.footer p { margin-bottom: 8px; }
.btn-recruit { display: inline-block; background-color: #0b1c2d; color: #fff; padding: 15px 40px; font-size: 1.1rem; font-weight: 700; border-radius: 50px; text-decoration: none; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(11, 28, 45, 0.3); }
.btn-recruit:hover { background-color: #9cff00; color: #0b1c2d; transform: translateY(-3px); }
.recruit-contact { text-align: center; color: #666; font-size: 0.9rem; margin-top: 20px; }
@media (max-width: 768px) { .card-grid { grid-template-columns: 1fr; } nav ul { d