/* ============================================================
   NT Invest — Design System
   Pretendard + Montserrat, deep navy theme
   ============================================================ */

:root {
  --nt-primary:         #1a2e5a;
  --nt-primary-light:   #3b5998;
  --nt-primary-hover:   #142447;
  --nt-accent:          #4a7dff;
  --nt-text-primary:    #191919;
  --nt-text-secondary:  #5a5a5a;
  --nt-text-tertiary:   #888888;
  --nt-text-muted:      #aaaaaa;
  --nt-text-inverse:    #ffffff;
  --nt-surface-white:   #ffffff;
  --nt-surface-light:   #f6f6f6;
  --nt-surface-subtle:  #f0f0f0;
  --nt-surface-dark:    #0d1b2a;
  --nt-border-default:  #e0e0e0;
  --nt-border-light:    #eaeaea;
  --nt-border-on-dark:  rgba(255,255,255,0.12);
  --nt-font-primary:    'Pretendard Variable', 'Pretendard', -apple-system, sans-serif;
  --nt-font-display:    'Montserrat', 'Pretendard Variable', sans-serif;
  --nt-duration-fast:   0.2s;
  --nt-duration:        0.3s;
  --nt-duration-slow:   0.7s;
  --nt-shadow-card:     0 8px 30px rgba(0,0,0,0.08);
  --nt-shadow-lift:     0 20px 40px rgba(0,0,0,0.12);
  --nt-container:       1280px;
  --nt-pad:             40px;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
body { font-family: var(--nt-font-primary); font-size: 16px; line-height: 1.6; color: var(--nt-text-primary); background: var(--nt-surface-white); letter-spacing: -0.02em; overflow-x: hidden; word-break: keep-all; overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: color var(--nt-duration); }
ul, ol { list-style: none; }
.nt-en { font-family: var(--nt-font-display); }
.nt-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Container */
.nt-container { max-width: var(--nt-container); margin: 0 auto; padding: 0 var(--nt-pad); }

/* Sections */
.nt-section { padding: 120px 0; }
.nt-section--dark { background: var(--nt-surface-dark); color: var(--nt-text-inverse); }
.nt-section--gray { background: var(--nt-surface-light); }
.nt-section--compact { padding: 80px 0; }

/* Section Titles */
.nt-stitle { margin-bottom: 56px; }
.nt-stitle--center { text-align: center; }
.nt-stitle__label { font-family: var(--nt-font-display); font-size: 13px; font-weight: 600; color: var(--nt-primary-light); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 14px; }
.nt-section--dark .nt-stitle__label { color: var(--nt-accent); opacity: 0.7; }
.nt-stitle__heading { font-size: 42px; font-weight: 700; line-height: 1.3; letter-spacing: -0.04em; color: var(--nt-text-primary); }
.nt-section--dark .nt-stitle__heading { color: var(--nt-text-inverse); }
.nt-stitle__desc { font-size: 16px; color: var(--nt-text-secondary); line-height: 1.8; margin-top: 20px; max-width: 640px; }
.nt-stitle--center .nt-stitle__desc { margin-left: auto; margin-right: auto; }
.nt-section--dark .nt-stitle__desc { color: rgba(255,255,255,0.55); }

/* Sub-page Hero */
.nt-subhero { position: relative; width: 100%; height: 340px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--nt-surface-dark); }
.nt-subhero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.nt-subhero__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,27,42,0.5) 0%, rgba(13,27,42,0.85) 100%); }
.nt-subhero[data-page="company"] .nt-subhero__bg { background-image: url('../images/subhero-company.jpg'); }
.nt-subhero[data-page="strategy"] .nt-subhero__bg { background-image: url('../images/subhero-strategy.jpg'); }
.nt-subhero[data-page="ai-platform"] .nt-subhero__bg { background-image: url('../images/subhero-ai-platform.jpg'); }
.nt-subhero[data-page="portfolio"] .nt-subhero__bg { background-image: url('../images/subhero-portfolio.jpg'); }
.nt-subhero[data-page="news"] .nt-subhero__bg { background-image: url('../images/subhero-news.jpg'); }
.nt-subhero[data-page="contact"] .nt-subhero__bg { background-image: url('../images/subhero-contact.jpg'); }
.nt-subhero__text { position: relative; z-index: 2; text-align: center; }
.nt-subhero__label { font-family: var(--nt-font-display); font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.45); letter-spacing: 0.1em; margin-bottom: 12px; }
.nt-subhero__title { font-size: 52px; font-weight: 700; color: #ffffff; letter-spacing: -0.03em; }

/* Split Layout 50/50 */
.nt-split { display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 560px; }
.nt-split--reverse { direction: rtl; }
.nt-split--reverse > * { direction: ltr; }
.nt-split__media { position: relative; overflow: hidden; background: var(--nt-surface-light); min-height: 400px; display: flex; align-items: center; justify-content: center; }
.nt-split__media-placeholder { color: var(--nt-text-muted); font-size: 13px; }
.nt-split__content { display: flex; align-items: center; padding: 60px 80px; }
.nt-split__content-inner { max-width: 480px; }
.nt-split__content-label { font-family: var(--nt-font-display); font-size: 13px; font-weight: 600; color: var(--nt-primary-light); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.nt-split__content-title { font-size: 32px; font-weight: 700; line-height: 1.35; letter-spacing: -0.03em; margin-bottom: 20px; }
.nt-split__content-desc { font-size: 15px; color: var(--nt-text-secondary); line-height: 1.8; }

/* Card Grid */
.nt-cards { display: grid; gap: 28px; }
.nt-cards--2 { grid-template-columns: repeat(2, 1fr); }
.nt-cards--3 { grid-template-columns: repeat(3, 1fr); }
.nt-cards--4 { grid-template-columns: repeat(4, 1fr); }
.nt-cards--5 { grid-template-columns: repeat(5, 1fr); }
.nt-card { background: var(--nt-surface-white); border: 1px solid var(--nt-border-light); border-radius: 12px; padding: 36px 28px; transition: transform var(--nt-duration), box-shadow var(--nt-duration); }
.nt-card:hover { transform: translateY(-4px); box-shadow: var(--nt-shadow-lift); }
.nt-card__num { font-family: var(--nt-font-display); font-size: 13px; font-weight: 700; color: var(--nt-accent); letter-spacing: 0.05em; margin-bottom: 16px; }
.nt-card__title { font-size: 20px; font-weight: 700; color: var(--nt-text-primary); margin-bottom: 10px; line-height: 1.4; }
.nt-card__desc { font-size: 14px; color: var(--nt-text-secondary); line-height: 1.7; }
.nt-card--dark { background: rgba(255,255,255,0.05); border-color: var(--nt-border-on-dark); transition: transform 0.3s, box-shadow 0.3s, background 0.3s; }
.nt-card--dark:hover { background: rgba(255,255,255,0.08); box-shadow: 0 20px 40px rgba(0,0,0,0.3); }
.nt-card--dark .nt-card__num { color: var(--nt-accent); }
.nt-card--dark .nt-card__title { color: var(--nt-text-inverse); }
.nt-card--dark .nt-card__desc { color: rgba(255,255,255,0.45); }
.nt-card__list { margin-top: 16px; padding-left: 0; }
.nt-card__list li { position: relative; padding-left: 16px; font-size: 13px; line-height: 2; color: rgba(255,255,255,0.4); }
.nt-card__list li::before { content: '·'; position: absolute; left: 0; font-weight: 700; }

/* Metrics */
.nt-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.nt-metric { padding: 40px; text-align: center; border-right: 1px solid var(--nt-border-light); }
.nt-metric:last-child { border-right: none; }
.nt-section--dark .nt-metric { border-color: var(--nt-border-on-dark); }
.nt-metric__value { font-family: var(--nt-font-display); font-size: 48px; font-weight: 700; color: var(--nt-text-primary); letter-spacing: -0.02em; line-height: 1; margin-bottom: 12px; }
.nt-section--dark .nt-metric__value { color: var(--nt-text-inverse); }
.nt-metric__label { font-size: 14px; color: var(--nt-text-tertiary); }
.nt-section--dark .nt-metric__label { color: rgba(255,255,255,0.45); }

/* Info Row Table */
.nt-info-table { width: 100%; }
.nt-info-row { display: flex; border-bottom: 1px solid var(--nt-border-light); padding: 18px 0; }
.nt-info-row__label { width: 160px; flex-shrink: 0; font-size: 14px; font-weight: 600; color: var(--nt-text-primary); }
.nt-info-row__value { font-size: 14px; color: var(--nt-text-secondary); line-height: 1.6; }

/* Tags & Badges */
.nt-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.nt-tag { display: inline-block; padding: 10px 22px; font-size: 14px; font-weight: 500; color: var(--nt-text-primary); background: var(--nt-surface-white); border: 1px solid var(--nt-border-light); border-radius: 6px; transition: all var(--nt-duration); }
.nt-tag:hover { border-color: var(--nt-primary-light); color: var(--nt-primary); }
.nt-badge { display: inline-block; padding: 6px 16px; font-size: 13px; color: var(--nt-text-tertiary); background: var(--nt-surface-subtle); border-radius: 999px; }

/* Buttons */
.nt-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; font-size: 15px; font-weight: 600; font-family: var(--nt-font-primary); border: 1px solid var(--nt-text-primary); color: var(--nt-text-primary); background: transparent; cursor: pointer; transition: all var(--nt-duration); position: relative; overflow: hidden; z-index: 1; }
.nt-btn::before { content: ''; position: absolute; inset: 0; background: var(--nt-text-primary); transform: scaleX(0); transform-origin: left; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); z-index: -1; }
.nt-btn:hover { color: var(--nt-text-inverse); }
.nt-btn:hover::before { transform: scaleX(1); }
.nt-btn--light { border-color: rgba(255,255,255,0.35); color: var(--nt-text-inverse); }
.nt-btn--light::before { background: rgba(255,255,255,1); }
.nt-btn--light:hover { color: var(--nt-text-primary); }
.nt-btn--small { padding: 10px 24px; font-size: 14px; }

/* CTA Section */
.nt-cta { padding: 100px 0; background: var(--nt-surface-dark); text-align: center; }
.nt-cta__title { font-size: 36px; font-weight: 700; color: var(--nt-text-inverse); letter-spacing: -0.03em; margin-bottom: 16px; }
.nt-cta__desc { font-size: 15px; color: rgba(255,255,255,0.45); margin-bottom: 32px; }

/* News Cards */
.nt-news-card { display: block; transition: transform var(--nt-duration); }
.nt-news-card:hover { transform: translateY(-4px); }
.nt-news-card__thumb { width: 100%; aspect-ratio: 16 / 9; background: var(--nt-surface-subtle); display: flex; align-items: center; justify-content: center; color: var(--nt-text-muted); font-size: 13px; margin-bottom: 20px; border-radius: 8px; overflow: hidden; }
.nt-news-card__meta { font-size: 12px; color: var(--nt-text-muted); margin-bottom: 10px; font-family: var(--nt-font-display); }
.nt-news-card__title { font-size: 18px; font-weight: 700; color: var(--nt-text-primary); line-height: 1.5; margin-bottom: 8px; letter-spacing: -0.02em; }
.nt-news-card__excerpt { font-size: 14px; color: var(--nt-text-secondary); line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Filter & Pagination */
.nt-filters { display: flex; gap: 8px; justify-content: center; margin-bottom: 48px; }
.nt-filter-btn { padding: 10px 24px; font-size: 13px; font-weight: 600; font-family: var(--nt-font-primary); border: 1px solid var(--nt-border-default); background: transparent; color: var(--nt-text-secondary); cursor: pointer; border-radius: 6px; transition: all var(--nt-duration); }
.nt-filter-btn:hover { border-color: var(--nt-text-primary); color: var(--nt-text-primary); }
.nt-filter-btn--active { background: var(--nt-primary); border-color: var(--nt-primary); color: var(--nt-text-inverse); }
.nt-pagination { display: flex; gap: 6px; justify-content: center; margin-top: 60px; }
.nt-page-btn { width: 40px; height: 40px; font-size: 14px; font-weight: 500; font-family: var(--nt-font-display); border: 1px solid var(--nt-border-default); background: transparent; color: var(--nt-text-secondary); cursor: pointer; border-radius: 6px; transition: all var(--nt-duration); display: flex; align-items: center; justify-content: center; }
.nt-page-btn:hover { border-color: var(--nt-text-primary); color: var(--nt-text-primary); }
.nt-page-btn--active { background: var(--nt-primary); border-color: var(--nt-primary); color: var(--nt-text-inverse); }

/* Quote */
.nt-quote { border-left: 3px solid var(--nt-primary); padding: 24px 32px; font-size: 18px; font-weight: 500; line-height: 1.7; color: var(--nt-text-primary); }

/* Bio List — Education / Career 리스트 (회색 불렛) */
.nt-bio-list { list-style: none; padding: 0; margin: 0; }
.nt-bio-list li { position: relative; padding-left: 12px; }
.nt-bio-list li::before { content: '·'; position: absolute; left: 0; top: 0; color: #bbb; font-weight: 700; line-height: inherit; }

/* F-009 이미지형 팝업 공지 */
.nt-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.nt-popup[hidden] { display: none; }
.nt-popup__overlay { position: absolute; inset: 0; background: rgba(13,27,42,0.65); cursor: pointer; }
.nt-popup__panel { position: relative; width: calc(100% - 40px); max-width: 600px; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,0.35); animation: nt-popup-in 0.25s ease-out; }
@keyframes nt-popup-in { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.nt-popup__close { position: absolute; top: 8px; right: 12px; width: 36px; height: 36px; background: rgba(255,255,255,0.92); border: none; border-radius: 50%; font-size: 26px; line-height: 1; color: #1a1a1a; cursor: pointer; z-index: 2; transition: background 0.2s, transform 0.2s; padding: 0; display: flex; align-items: center; justify-content: center; }
.nt-popup__close:hover { background: #fff; transform: scale(1.05); }
.nt-popup__media { display: block; line-height: 0; }
.nt-popup__media img { width: 100%; height: auto; display: block; }
a.nt-popup__media { cursor: pointer; }
.nt-popup__hide-today { display: flex; align-items: center; gap: 8px; padding: 14px 20px; background: #fafafa; border-top: 1px solid #eee; font-size: 13px; color: #555; cursor: pointer; user-select: none; }
.nt-popup__hide-today input { margin: 0; cursor: pointer; }
@media (max-width: 640px) {
	.nt-popup__panel { width: calc(100% - 32px); }
	.nt-popup__close { top: 6px; right: 8px; width: 32px; height: 32px; font-size: 22px; }
	.nt-popup__hide-today { padding: 12px 16px; font-size: 12px; }
}

/* About Board — dark masonry layout */
.nt-about-board {
  background: var(--nt-surface-white);
  padding: 140px 0;
  overflow: hidden;
}
.nt-about-board--dark {
  background: var(--nt-surface-dark);
}
.nt-about-board--dark .nt-about-board__title { color: #fff; }
.nt-about-board--dark .nt-about-board__nav-item { color: rgba(255,255,255,0.35); border-bottom-color: rgba(255,255,255,0.1); }
.nt-about-board--dark .nt-about-board__nav-item:first-child { border-top-color: rgba(255,255,255,0.1); }
.nt-about-board--dark .nt-about-board__nav-item:hover { color: rgba(255,255,255,0.7); }
.nt-about-board--dark .nt-about-board__card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); transition: background 0.3s, border-color 0.3s, transform 0.3s, box-shadow 0.3s; }
.nt-about-board--dark .nt-about-board__card:hover,
.nt-about-board--dark .nt-about-board__card.is-hover { background: #fff; border-color: #fff; }
.nt-about-board--dark .nt-about-board__card:hover .nt-about-board__badge,
.nt-about-board--dark .nt-about-board__card.is-hover .nt-about-board__badge { background: rgba(26,46,90,0.08); color: var(--nt-primary); }
.nt-about-board--dark .nt-about-board__card:hover .nt-about-board__card-title,
.nt-about-board--dark .nt-about-board__card.is-hover .nt-about-board__card-title { color: var(--nt-text-primary); border-bottom-color: var(--nt-border-light); }
.nt-about-board--dark .nt-about-board__card:hover .nt-about-board__card-desc,
.nt-about-board--dark .nt-about-board__card.is-hover .nt-about-board__card-desc { color: var(--nt-text-secondary); }
.nt-about-board--dark .nt-about-board__badge { background: rgba(255,255,255,0.1); color: var(--nt-accent); transition: background 0.3s, color 0.3s; }
.nt-about-board--dark .nt-about-board__card-title { color: #fff; border-bottom-color: rgba(255,255,255,0.1); transition: color 0.3s, border-bottom-color 0.3s; }
.nt-about-board--dark .nt-about-board__card-title:hover { border-bottom-color: transparent; }
.nt-about-board--dark .nt-about-board__card-desc { color: rgba(255,255,255,0.5); transition: color 0.3s; }
.nt-about-board--dark .nt-stitle__label { color: var(--nt-accent); opacity: 0.7; }
.nt-about-board--gray {
  background: #f8f8f8;
}
.nt-about-board__inner {
  max-width: var(--nt-container);
  margin: 0 auto;
  padding: 0 var(--nt-pad);
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 60px;
  align-items: start;
}
.nt-about-board__title {
  font-size: 36px;
  font-weight: 700;
  color: var(--nt-text-primary);
  line-height: 1.35;
  letter-spacing: -0.04em;
  margin-bottom: 48px;
}
.nt-about-board__nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
}
.nt-about-board__nav-item {
  display: block;
  padding: 16px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--nt-text-tertiary);
  cursor: default;
  transition: color var(--nt-duration);
  border-bottom: 1px solid var(--nt-border-light);
  letter-spacing: -0.01em;
}
.nt-about-board__nav-item:first-child {
  border-top: 1px solid var(--nt-border-light);
}
.nt-about-board__nav-item--active {
  color: var(--nt-text-primary);
  font-weight: 700;
}
.nt-about-board__nav-item:hover {
  color: var(--nt-text-primary);
}
.nt-about-board__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}
.nt-about-board__col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.nt-about-board__col--offset {
  margin-top: 0;
}
.nt-about-board__card {
  background: #ffffff;
  border: 1px solid var(--nt-border-light);
  border-radius: 12px;
  padding: 40px 32px;
  transition: transform 0.3s, box-shadow 0.3s, background 0.3s;
}
.nt-about-board__card:hover,
.nt-about-board__card.is-hover {
  transform: translateY(-4px);
  background: var(--nt-primary);
  border-color: var(--nt-primary);
}
.nt-about-board__card:hover .nt-about-board__badge,
.nt-about-board__card.is-hover .nt-about-board__badge {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.nt-about-board__card:hover .nt-about-board__card-title,
.nt-about-board__card.is-hover .nt-about-board__card-title {
  color: #fff;
  border-bottom-color: transparent;
}
.nt-about-board__card:hover .nt-about-board__card-desc,
.nt-about-board__card.is-hover .nt-about-board__card-desc {
  color: rgba(255,255,255,0.7);
}
.nt-about-board__card--accent {
  background: var(--nt-surface-light);
}
.nt-about-board__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 13px;
  font-weight: 700;
  color: var(--nt-primary);
  background: rgba(26,46,90,0.07);
  border-radius: 8px;
  margin-bottom: 20px;
  letter-spacing: 0;
  transition: background 0.3s, color 0.3s;
}
.nt-about-board__card-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--nt-text-primary);
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--nt-border-light);
  line-height: 1.4;
  letter-spacing: -0.02em;
  transition: color 0.3s;
}
.nt-about-board__card-desc {
  font-size: 14px;
  color: var(--nt-text-secondary);
  line-height: 1.8;
  transition: color 0.3s;
}

@media (max-width: 1024px) {
  .nt-about-board__inner { grid-template-columns: 1fr; gap: 0; }
  .nt-about-board__col--offset { margin-top: 0; }
  /* 모바일/태블릿: View More 버튼을 cards 뒤(03 아래)로 이동 (display:contents로 풀고 order) */
  .nt-about-board__left { display: contents; }
  .nt-about-board__left > .nt-stitle__label { order: 1; }
  .nt-about-board__title { order: 2; margin-bottom: 32px; }
  .nt-about-board__nav { order: 3; }
  .nt-about-board__cards { order: 4; margin-top: 32px; }
  .nt-about-board__more { order: 5; margin-top: 24px !important; text-align: center; }
}

/* CEO 프로필 사진 — PC: leftCol과 동일 height(stretch) / 모바일: 3/4 비율 */
.nt-ceo-photo-frame { height: 100%; min-height: 540px; }
.nt-ceo-photo-frame > .nt-ceo-photo-img { position: absolute; inset: 0; }
@media (max-width: 1024px) {
  .nt-ceo-photo-frame { aspect-ratio: 3/4; height: auto; min-height: 0; }
  .nt-ceo-photo-frame > .nt-ceo-photo-img { position: static; }
}
@media (max-width: 640px) {
  .nt-about-board__cards { grid-template-columns: 1fr; }
  .nt-about-board__title { font-size: 28px; }
}

/* Responsive utility — PC에서만 줄바꿈, 모바일에서는 공백 처리 */
br.pc-only { display: inline; }
br.mobile-only { display: none; }
@media (max-width: 1024px) {
  br.pc-only { display: none; }
  br.pc-only::after { content: " "; white-space: pre; }
  br.mobile-only { display: inline; }
}

/* PC/모바일 텍스트 분기 (span) — 텍스트 자체가 환경별로 다를 때 사용 */
.nt-text-pc { display: inline; }
.nt-text-mobile { display: none; }
@media (max-width: 1024px) {
  .nt-text-pc { display: none; }
  .nt-text-mobile { display: inline; }
}

/* Scroll Reveal */
[data-motion] { opacity: 0; transform: translateY(36px); transition: opacity var(--nt-duration-slow) ease, transform var(--nt-duration-slow) ease; }
[data-motion].is-visible { opacity: 1; transform: translateY(0); }
[data-motion] [data-motion-child] { opacity: 0; transform: translateY(24px); transition: opacity 0.5s ease, transform 0.5s ease; }
[data-motion].is-visible [data-motion-child] { opacity: 1; transform: translateY(0); }
[data-motion].is-visible [data-motion-child]:nth-child(1) { transition-delay: 0.1s; }
[data-motion].is-visible [data-motion-child]:nth-child(2) { transition-delay: 0.2s; }
[data-motion].is-visible [data-motion-child]:nth-child(3) { transition-delay: 0.3s; }
[data-motion].is-visible [data-motion-child]:nth-child(4) { transition-delay: 0.4s; }
[data-motion].is-visible [data-motion-child]:nth-child(5) { transition-delay: 0.5s; }
[data-motion].is-visible [data-motion-child]:nth-child(6) { transition-delay: 0.6s; }
/* 리빌 완료 후 — 컴포넌트 자체 hover transition이 작동하도록 리셋 */
[data-motion].motion-done [data-motion-child] { transition: all 0.3s ease !important; transition-delay: 0s !important; }

/* Responsive */
@media (max-width: 1024px) {
  .nt-split { grid-template-columns: 1fr; }
  .nt-split__content { padding: 48px 40px; }
  .nt-cards--4, .nt-cards--5 { grid-template-columns: repeat(2, 1fr); }
  .nt-metrics { grid-template-columns: repeat(2, 1fr); }
  .nt-metric { border-bottom: 1px solid var(--nt-border-light); }
  .nt-metric:nth-child(2) { border-right: none; }
  .nt-section--dark .nt-metric { border-bottom-color: var(--nt-border-on-dark); }
  .nt-stitle__heading { font-size: 34px; }
  .nt-subhero__title { font-size: 40px; }
}
@media (max-width: 640px) {
  :root { --nt-pad: 20px; }
  .nt-section { padding: 80px 0; }
  .nt-split__content { padding: 40px 20px; }
  .nt-cards--2, .nt-cards--3 { grid-template-columns: 1fr; }
  .nt-metrics { grid-template-columns: 1fr; }
  .nt-metric { border-right: none; }
  .nt-stitle__heading { font-size: 28px; }
  .nt-subhero { height: 240px; }
  .nt-subhero__title { font-size: 32px; }
}

/* ============================================================
   Mobile Responsive — 인라인 스타일 일괄 대응 (단계 1)
   PHP 안에 박혀있는 grid/font/padding을 attribute selector로 처리
   ============================================================ */

/* === Tablet (1024px) === */
@media (max-width: 1024px) {
  /* 인라인 3-col grid → 2-col */
  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* aside layout 1fr 2fr → stacked, sidebar 위 */
  [style*="grid-template-columns:1fr 2fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* AI agent 번호+본문 — 번호 칸 축소 */
  [style*="grid-template-columns:200px 1fr"] {
    grid-template-columns: 110px 1fr !important;
    gap: 32px !important;
  }
  /* 인라인 큰 padding 축소 */
  [style*="padding:160px 0"],
  [style*="padding:140px 0"] { padding: 80px 0 !important; }
  [style*="padding:120px 0"] { padding: 70px 0 !important; }
  /* 인라인 큰 폰트 축소 */
  [style*="font-size:42px"] { font-size: 32px !important; }
  [style*="font-size:36px"] { font-size: 28px !important; }
  [style*="font-size:48px"] { font-size: 38px !important; }
  /* 큰 gap 축소 */
  [style*="gap:140px"] { gap: 60px !important; }
  [style*="gap:80px"] { gap: 48px !important; }
  /* CTA */
  .nt-cta__title { font-size: 30px; }
}

/* === Mobile (640px) === */
@media (max-width: 640px) {
  /* 모든 인라인 multi-col grid → 1col, gap 통일 */
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1fr 2fr"],
  [style*="grid-template-columns:200px 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  /* 인라인 padding 축소 */
  [style*="padding:160px 0"],
  [style*="padding:140px 0"],
  [style*="padding:120px 0"] { padding: 60px 0 !important; }
  [style*="padding:48px 40px"] { padding: 32px 24px !important; }
  [style*="padding:60px 60px 60px 100px"] { padding: 40px 20px !important; }
  [style*="padding:40px 40px 40px 0"],
  [style*="padding:40px 0 40px 40px"] { padding: 28px 0 !important; }
  [style*="padding:40px 40px"][style*="border-right"] { padding: 28px 0 !important; }
  /* Strategy Overall 02번 카드 — 단독 padding:40px (border-right 결합) */
  [style*="padding:40px;border-right"] { padding: 28px 0 !important; }
  /* 인라인 폰트 축소 */
  [style*="font-size:42px"] { font-size: 26px !important; }
  [style*="font-size:36px"] { font-size: 24px !important; }
  [style*="font-size:32px"] { font-size: 22px !important; }
  [style*="font-size:28px"] { font-size: 22px !important; }
  [style*="font-size:26px"] { font-size: 20px !important; }
  [style*="font-size:24px"] { font-size: 19px !important; }
  [style*="font-size:22px"] { font-size: 18px !important; }
  [style*="font-size:48px"] { font-size: 32px !important; }
  /* 세로 보더 → 가로 보더 (스택된 그리드 항목 사이) */
  [style*="border-right:1px solid var(--nt-border-light)"] {
    border-right: none !important;
    border-bottom: 1px solid var(--nt-border-light) !important;
  }
  /* CTA */
  .nt-cta__title { font-size: 26px; }
  .nt-cta__desc { font-size: 14px; }
  .nt-cta { padding: 60px 0; }
  /* Cards padding */
  .nt-card { padding: 28px 22px; }
  /* Filter buttons */
  .nt-filters { flex-wrap: wrap; gap: 6px; margin-bottom: 32px; }
  .nt-filter-btn { padding: 8px 14px; font-size: 12px; }
  /* News card thumb */
  /* .nt-news-card__thumb 모바일 height 제거 — aspect-ratio 16:9 자동 적용 */
  /* Pagination */
  .nt-pagination { flex-wrap: wrap; gap: 4px; margin-top: 40px; }
  .nt-page-btn { width: 36px; height: 36px; font-size: 13px; }
  /* Tags */
  .nt-tag { padding: 8px 14px; font-size: 12px; }
  .nt-tags { gap: 6px; }
  /* Section title 간격 */
  .nt-stitle { margin-bottom: 36px; }
}

/* ============================================================
   Mobile Responsive — 페이지별 특수 레이아웃 (단계 2)
   ============================================================ */

/* === Tablet — CEO Message flex 비율 약간 조정 === */
@media (max-width: 1024px) {
  /* CEO Message 80px → 48px로 좁힘 */
  [style*="display:flex"][style*="justify-content:space-between"][style*="gap:80px"] {
    gap: 48px !important;
  }
  /* Contact split: 지도 영역 높이 줄이기 */
  .nt-contact-split { min-height: auto !important; }
  .nt-contact-map { min-height: 360px !important; }
  .nt-contact-info { padding: 48px 32px 48px 48px !important; }
}

/* === Tablet 작은 폭 (768px) — CEO Message 스택 === */
@media (max-width: 768px) {
  /* CEO Message 사진+텍스트 스택 */
  [style*="display:flex"][style*="justify-content:space-between"][style*="gap:80px"] {
    flex-direction: column-reverse !important;
    gap: 40px !important;
  }
  [style*="display:flex"][style*="justify-content:space-between"][style*="gap:80px"] > [style*="width:50%"] {
    width: 100% !important;
  }
  [style*="display:flex"][style*="justify-content:space-between"][style*="gap:80px"] > [style*="width:41.666%"] {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
  }
  /* Contact 지도+정보 스택 */
  .nt-contact-split { grid-template-columns: 1fr !important; }
  .nt-contact-map { min-height: 320px !important; }
  .nt-contact-info { padding: 40px 24px !important; justify-content: center !important; }
  .nt-contact-info__inner { max-width: 100% !important; }
  .nt-contact-info__title { font-size: 26px !important; }
}

/* === Mobile (640px) — CEO 학력/경력, AI agent 미세 보정 === */
@media (max-width: 640px) {
  /* CEO Message 학력/경력 column → row stack */
  [style*="display:grid"][style*="grid-template-columns:1fr 1fr"][style*="gap:48px"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  /* AI Platform 5 agents — 번호 블록 위/콘텐츠 아래로 자연 스택 */
  /* (200px 1fr → 1fr는 위 attribute selector에서 처리됨) */
  /* Trust & Governance 카드 패딩 */
  [style*="background:#fafafa;padding:48px 40px"] {
    padding: 32px 24px !important;
  }
  /* Strategy Key Investment Themes — 컨테이너 max-width 보정 */
  [style*="max-width:1080px"] { max-width: 100% !important; }
  /* CEO 사진 컬럼 패딩 */
  [style*="width:41.666%"][style*="padding-top:36px"] { padding-top: 0 !important; }
}

/* ============================================================
   Mobile Responsive — 메인 히어로 (단계 5)
   .nt-hero는 front-page.php / page-en.php의 inline style로 정의되지만,
   미디어 쿼리는 여기 main.css에서 일괄 관리
   ============================================================ */
@media (max-width: 1024px) {
	.nt-hero { min-height: 480px !important; }
	.nt-hero__title { font-size: 42px !important; max-width: 90% !important; }
	.nt-hero__desc { font-size: 16px !important; max-width: 90% !important; }
	.nt-hero__content { padding-bottom: 10vh !important; }
	.nt-hero__scroll { right: 24px !important; bottom: 24px !important; }
}
@media (max-width: 640px) {
	.nt-hero { min-height: 460px !important; height: calc(var(--nt-hero-vh, 100svh) - 72px) !important; }
	.nt-hero__title { font-size: 30px !important; line-height: 1.3 !important; }
	.nt-hero__desc { font-size: 14px !important; line-height: 1.65 !important; max-width: 100% !important; }
	.nt-hero__label { font-size: 12px !important; margin-bottom: 14px !important; }
	.nt-hero__content { padding: 0 20px 60px !important; }
	.nt-hero__scroll { display: none !important; }
}

/* ============================================================
   Subhero / 서브 페이지 히어로 — 모바일 추가 보정
   (기존 1024px/640px 폰트 사이즈 룰은 main.css 위쪽에 있음)
   ============================================================ */
@media (max-width: 1024px) {
	.nt-subhero { height: 280px; }
}
@media (max-width: 640px) {
	.nt-subhero__label { font-size: 12px; margin-bottom: 8px; }
}

/* ============================================================
   4차 수정요청 보강 (260504/260506)
   - PC + 모바일: Portfolio VC 카드 세로 가운데 정렬
   - 모바일: Strategy Overall margin / 핵심 테마 gap·정렬 / Mission-Vision gap
   ============================================================ */

/* === 전역 (PC + 모바일): Portfolio VC 카드 세로 가운데 정렬 === */
.nt-cards--4 .nt-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.nt-cards--4 .nt-card__title {
	margin: 0;
}

@media (max-width: 640px) {
	/* 3-2: Strategy Overall grid — 첫 카드 위 여백 균등화 + grid gap 0 (모바일에서 24px 기본값 무력화) */
	[style*="grid-template-columns:repeat(3,1fr)"][style*="margin-top:80px"] {
		margin-top: 32px !important;
		gap: 0 !important;
	}
	/* 3-4: Strategy 핵심 투자 테마 셀 — 좌측 정렬 + grid gap 0 (모바일에서 24px 기본값 무력화) */
	[style*="grid-template-columns:repeat(2,1fr)"][style*="gap:0"] {
		gap: 0 !important;
	}
	[style*="grid-template-columns:repeat(2,1fr)"][style*="gap:0"] > [style*="padding:20px 24px"][style*="border-bottom:1px solid var(--nt-border-default)"] {
		text-align: left !important;
		padding: 18px 24px !important;
	}
	/* 2-4: Company Mission-Vision 모바일 간격 더 떨어지게 */
	[style*="grid-template-columns:1fr 1fr"][style*="gap:140px"] {
		gap: 56px !important;
	}
	/* 5-2: Portfolio VC 카드 모바일 — min-height 통일 */
	.nt-cards--4 .nt-card {
		min-height: 96px;
	}
}

/* ============================================================
   단일 게시글 본문 콘텐츠 스타일 (.nt-news-content)
   글머리/문단 간격/제목 등 표준 콘텐츠 스타일 복원
   ============================================================ */
.nt-news-content h1,
.nt-news-content h2,
.nt-news-content h3,
.nt-news-content h4,
.nt-news-content h5,
.nt-news-content h6 {
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: var(--nt-text-primary);
	margin: 36px 0 14px;
}
.nt-news-content h1 { font-size: 28px; }
.nt-news-content h2 { font-size: 24px; }
.nt-news-content h3 { font-size: 20px; }
.nt-news-content h4 { font-size: 18px; }
.nt-news-content h5 { font-size: 16px; }
.nt-news-content h6 { font-size: 15px; }
.nt-news-content > *:first-child { margin-top: 0; }

.nt-news-content p {
	margin: 0 0 20px;
	white-space: pre-wrap; /* 연속 공백·줄 시작 들여쓰기 보존 */
	overflow-wrap: anywhere; /* 매우 긴 단어·URL 안전 wrap */
}
.nt-news-content p:last-child { margin-bottom: 0; }
.nt-news-content p:empty { min-height: 1.5em; } /* 빈 단락(엔터 여러 번)도 간격 유지 */

.nt-news-content ul,
.nt-news-content ol {
	margin: 0 0 20px;
	padding-left: 24px;
}
.nt-news-content ul { list-style: disc; }
.nt-news-content ol { list-style: decimal; }
.nt-news-content ul ul { list-style: circle; }
.nt-news-content li {
	margin-bottom: 8px;
	line-height: 1.8;
}
.nt-news-content li > ul,
.nt-news-content li > ol {
	margin-top: 8px;
	margin-bottom: 0;
}

.nt-news-content strong, .nt-news-content b { font-weight: 700; color: var(--nt-text-primary); }
.nt-news-content em, .nt-news-content i { font-style: italic; }

.nt-news-content a {
	color: var(--nt-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nt-news-content a:hover { color: var(--nt-primary-hover); }

.nt-news-content blockquote {
	margin: 28px 0;
	padding: 16px 24px;
	border-left: 3px solid var(--nt-primary);
	background: var(--nt-surface-subtle);
	color: var(--nt-text-secondary);
	font-style: italic;
}
.nt-news-content blockquote p:last-child { margin-bottom: 0; }

.nt-news-content img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	margin: 28px 0;
	display: block;
}

.nt-news-content code {
	font-family: 'JetBrains Mono', Menlo, monospace;
	background: var(--nt-surface-subtle);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.92em;
	color: var(--nt-primary);
}
.nt-news-content pre {
	background: var(--nt-surface-subtle);
	padding: 16px 20px;
	border-radius: 6px;
	overflow-x: auto;
	margin: 24px 0;
}
.nt-news-content pre code {
	background: none;
	padding: 0;
	color: var(--nt-text-primary);
}

.nt-news-content hr {
	border: none;
	border-top: 1px solid var(--nt-border-light);
	margin: 40px 0;
}

@media (max-width: 640px) {
	.nt-news-content h1 { font-size: 24px; }
	.nt-news-content h2 { font-size: 21px; }
	.nt-news-content h3 { font-size: 18px; }
	.nt-news-content h4 { font-size: 16px; }
}
