/* Index Page - Minimal Clean Styles */

/* 강력한 스타일 리셋 */
* {
  box-sizing: border-box !important;
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  color: #555 !important;
  overflow-x: hidden !important;
}

/* 모든 외부 스타일 완전 오버라이드 - 네비게이션 제외 */
body main,
body main section,
body main section *,
body main div,
body main div *,
body main h1,
body main h2,
body main h3,
body main p,
body main span {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 100% !important;
  font: inherit !important;
  vertical-align: baseline !important;
  color: inherit !important;
  background: transparent !important;
  text-align: inherit !important;
  text-decoration: none !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  font-family: inherit !important;
}

/* 전체 레이아웃 스타일 */
body {
  padding-top: 64px !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #555 !important;
  background: #fff !important;
}

/* 전체 컨테이너 중앙 정렬 */
.container {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: block !important;
}

/* Hero Section - 완전 오버라이드 */
body section.hero {
  background: #fff !important;
  padding: 80px 0 !important;
  margin: 0 !important;
  width: 100% !important;
  display: block !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

body section.hero .hero__container {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

body section.hero .hero__text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body section.hero .hero__title {
  font-size: 2.5rem !important;
  font-weight: 300 !important;
  color: #333 !important;
  margin: 0 0 32px 0 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  text-align: left !important;
  display: block !important;
}

body section.hero .highlight-blue {
  color: #666 !important;
  font-weight: 400 !important;
  background: none !important;
  text-decoration: none !important;
}

body section.hero .hero__buttons {
  display: flex !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 뉴스페이퍼 스타일 */
.hero__image {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.news-paper {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 32px 24px !important;
  max-width: 500px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.news-article h2 {
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: #333 !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.news-article p {
  font-size: 0.9rem !important;
  color: #666 !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin: 0 0 32px 0 !important;
  text-align: left !important;
}

.news-tags-anim-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 16px 0 0 0 !important;
  border-top: 1px solid #f0f0f0 !important;
}

.news-tags-desc {
  color: #666 !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  margin: 0 0 16px 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}

.news-tags-desc span {
  color: #333 !important;
  font-weight: 400 !important;
}

.news-tags-anim {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.news-tag {
  background: #f0f0f0 !important;
  color: #666 !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  display: inline-block !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease !important;
}

.news-tag:hover {
  background: #e8e8e8 !important;
}

.news-tags-note {
  color: #999 !important;
  font-size: 0.8rem !important;
  margin: 0 !important;
  text-align: center !important;
  font-weight: 300 !important;
  line-height: 1.4 !important;
}

/* 버튼 스타일 */
.btn {
  display: inline-block !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  font-size: 0.95rem !important;
  transition: all 0.2s ease !important;
  border: 1px solid #e8e8e8 !important;
  background: #fff !important;
  color: #666 !important;
}

.btn:hover {
  border-color: #ccc !important;
  color: #333 !important;
}

.btn--primary {
  background: #333 !important;
  color: #fff !important;
  border-color: #333 !important;
}

.btn--primary:hover {
  background: #555 !important;
  border-color: #555 !important;
}

.btn--secondary {
  background: #fff !important;
  color: #666 !important;
  border: 1px solid #e8e8e8 !important;
}

.btn--secondary:hover {
  border-color: #ccc !important;
  color: #333 !important;
}

/* 기술 섹션 */
body main section.tech-section {
  background: #f8f8f8 !important;
  padding: 80px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

body main section.tech-section h2 {
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: #333 !important;
  margin: 0 0 50px 0 !important;
  text-align: center !important;
  padding: 0 !important;
}

.tech-list {
  display: grid !important;
  gap: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tech-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 32px 24px !important;
  transition: border-color 0.2s ease !important;
  margin: 0 !important;
}

.tech-item:hover {
  border-color: #ddd !important;
}

.tech-icon {
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  opacity: 0.7 !important;
}

.tech-item div {
  font-size: 1rem !important;
  color: #666 !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tech-item strong {
  font-size: 1.2rem !important;
  color: #333 !important;
  font-weight: 400 !important;
  display: block !important;
  margin-bottom: 8px !important;
}

/* 비전 섹션 */
body main section.vision-section {
  background: #fff !important;
  padding: 80px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: center !important;
}

body main section.vision-section h2 {
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: #333 !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
}

.vision-summary {
  font-size: 1.2rem !important;
  color: #666 !important;
  font-weight: 300 !important;
  margin: 0 0 24px 0 !important;
  text-align: center !important;
}

.vision-desc {
  font-size: 1rem !important;
  color: #666 !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 !important;
}

/* 파트너 섹션 */
body main section.partners {
  background: #f8f8f8 !important;
  padding: 80px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: center !important;
}

body main section.partners h2 {
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: #333 !important;
  margin: 0 0 50px 0 !important;
  padding: 0 !important;
}

.partner-logos {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 40px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.partner-logos img {
  height: 40px !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
  filter: grayscale(100%) !important;
}

.partner-logos img:hover {
  opacity: 1 !important;
  filter: grayscale(0%) !important;
}

/* CTA 섹션 */
body main section.cta {
  background: #fff !important;
  padding: 80px 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

body main section.cta h2 {
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: #333 !important;
  margin: 0 0 32px 0 !important;
  padding: 0 !important;
}

.cta-btn-group {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 검은색 배경 방지 - 푸터 제외 */
body main *,
header *,
body > *:not(footer) {
  background-color: initial !important;
}

section {
  background-color: #fff !important;
}

.tech-section {
  background-color: #f8f8f8 !important;
}

.partners {
  background-color: #f8f8f8 !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
  body section.hero .hero__container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    text-align: center !important;
  }
  
  body section.hero .hero__title {
    text-align: center !important;
  }
  
  .tech-item {
    flex-direction: column !important;
    text-align: center !important;
    gap: 16px !important;
  }
}

@media (max-width: 768px) {
  body section.hero {
    padding: 60px 0 !important;
  }
  
  body section.hero .hero__title {
    font-size: 2rem !important;
  }
  
  body section.hero .hero__buttons {
    flex-direction: column !important;
    align-items: center !important;
  }
  
  .btn {
    width: 100% !important;
    max-width: 280px !important;
    text-align: center !important;
  }
  
  body main section.tech-section,
  body main section.vision-section,
  body main section.partners,
  body main section.cta {
    padding: 60px 0 !important;
  }
  
  .news-paper {
    max-width: 100% !important;
    padding: 24px 16px !important;
  }
  
  .partner-logos {
    gap: 24px !important;
  }
  
  .cta-btn-group {
    flex-direction: column !important;
    align-items: center !important;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 16px !important;
  }
  
  body section.hero .hero__container {
    padding: 0 16px !important;
  }
  
  .tech-item {
    padding: 24px 16px !important;
  }
  
  .news-paper {
    padding: 16px !important;
  }
  
  .partner-logos img {
    height: 32px !important;
  }
}

/* 네비게이션 드롭다운 스타일 보정 */
.site-header .nav-dropdown {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  min-width: 160px !important;
}

.site-header .nav-dropdown a {
  background: transparent !important;
  color: #555 !important;
  padding: 8px 16px !important;
  display: block !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  border: none !important;
  margin: 0 !important;
  transition: background-color 0.2s ease !important;
}

.site-header .nav-dropdown a:hover {
  background: #f8f8f8 !important;
  color: #333 !important;
}

/* 모바일 네비게이션 드롭다운 스타일 보정 */
.mobile-nav .nav-dropdown {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mobile-nav .nav-dropdown a {
  background: transparent !important;
  color: #fff !important;
  padding: 8px 16px !important;
  display: block !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  border: none !important;
  margin: 0 !important;
  transition: background-color 0.2s ease !important;
}

.mobile-nav .nav-dropdown a:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
} 