/* ---------- 리셋 & 기본 ---------- */
*       { box-sizing: border-box; }
html,body{ margin:0; padding:0; }
body     { background:#0f1115; color:#e4e7ea;
           font-family:-apple-system, BlinkMacSystemFont, 'Noto Sans KR', Roboto, 'Noto Sans KR', sans-serif;
           line-height:1.6; }

/* ---------- 공통 컴포넌트 ---------- */
.topbar   { display:flex; justify-content:center; align-items:center;
            padding:1rem 2rem; background:#000; position:sticky; top:0; z-index:100;}
.logo     { margin:0; font-size:1.4rem; color:#fff; letter-spacing:-0.03em; 
  text-decoration: none;   /* 밑줄 제거 */
  cursor: pointer;         /* 커서 포인터로 */}
.logo:hover {
  opacity: 0.8;            /* 호버 시 약간 투명하게 */
}

.back-link{ margin-left:auto; color:#2196F3; text-decoration:none; }
.back-link:hover{ text-decoration:underline; }

a,button  { transition:background .2s, color .2s; }

.cta-btn  { display:inline-block; padding:1rem 2.5rem; font-size:1.1rem;
            background:#2196F3; color:#fff; border:none; border-radius:6px; text-decoration:none; cursor:pointer; }
.cta-btn:hover{ background:#1e88e5; }
.cta-btn.full{ width:100%; }

main      { max-width:900px; margin:0 auto; padding:2rem 1rem; }

/* ---------- HERO SECTION ---------- */
.hero, .download-hero{
  text-align:center; margin:0rem 0 3rem;
}
.hero h2      { font-size:2rem; margin-bottom:1rem; color:#fff; }
.tagline      { font-size:1.1rem; color:#c2c5c8; margin-bottom:2rem; }
.download-hero h2{ margin-bottom:.5rem; }

/* ---------- FEATURES GRID ---------- */
.features h3  { font-size:1.5rem; color:#fff; margin-bottom:1.5rem; }
.features ul.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
                   gap:1.2rem; list-style:none; padding:0; margin:0; }
.features li  { background:#181a1f; border:1px solid #2a2d33; border-radius:8px;
                padding:1.2rem; font-size:.95rem; line-height:1.45; }
.features li strong{ color:#ffffff; font-weight:600; display:block; margin-bottom:.4rem; }

/* ---------- PARTNERS 섹션 ---------- */
.spinaiq {
  background: #0f1115;
  padding: 4rem 1rem;
}

.spinaiq .partners-inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

/* 제목 */
.partners-title {
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 1rem;
  letter-spacing: -0.03em;
}

/* 설명 */
.partners-desc {
  font-size: 1.125rem;
  color: #c2c5c8;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

/* PARTNERS 로고 그리드 */
.partners-list {
  display: grid;
  /* 고정 4열, 행은 콘텐츠에 따라 자동 생성 (8개 → 2행) */
  grid-template-columns: repeat(4, auto);
  grid-auto-rows: auto;
  /* 전체 그리드를 가운데 정렬 */
  justify-content: center;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0 auto 3rem;
}

.partners-list li {
  background: #1b1d22;
  border: 1px solid #333;
  border-radius: 8px;
  /* 로고 크기에 딱 맞게, 최소한의 여백만 */
  padding: 0.5rem;
  /* 로고 중앙 정렬 */
  display: flex;
  align-items: center;
  justify-content: center;
}

.partners-list img {
  /* 원본 비율 유지하며 최대 높이만 제한 */
  max-height: 80px;
  height: auto;
  width: auto;
  display: block;
}
/* Asia Networks 제목 */
.networks-title {
  font-size: 1.75rem;
  color: #fff;
  margin-bottom: 1.5rem;
  text-align: left;
}

/* 네트워크 리스트 2컬럼 */
.networks-lists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin: 0 auto;
  text-align: left;
}

/* 점 리스트 스타일 */
.dot-list {
  list-style: disc inside;
  color: #c2c5c8;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

.dot-list li {
  margin-bottom: 0.75rem;
}

/* ---------- FORM 스타일 ---------- */
.form-wrapper{ max-width:450px; margin:0 auto 4rem; }
form label   { display:block; margin:.8rem 0 .3rem; font-size:.9rem; }
form input,
form textarea{ width:100%; padding:.7rem .9rem; border:1px solid #333; border-radius:6px;
               background:#1b1d22; color:#e4e7ea; font-size:.95rem; }
form input:focus,
form textarea:focus{ outline:none; border-color:#2196F3; }

/* ---------- 미디어쿼리 (가독성) ---------- */
@media (max-width:480px){
  .hero h2{ font-size:1.5rem; }
  .cta-btn{ font-size:1rem; padding:.8rem 1.8rem; }
}

.modal {
  display: none; /* hidden by default */
  position: fixed;
  z-index: 200;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.6);
}

.modal-content {
  background: #1b1d22;
  margin: 10% auto;
  padding: 1.5rem;
  border: 1px solid #333;
  width: 90%;
  max-width: 400px;
  border-radius: 8px;
  color: #e4e7ea;
}

.modal-content h3 {
  margin-top: 0;
}

.modal-content input {
  margin-bottom: 1rem;
}

.close {
  color: #aaa;
  float: right;
  font-size: 1.5rem;
  cursor: pointer;
}

.close:hover {
  color: #fff;
}

.error-message {
  color: #f44336;
  font-size: 0.9rem;
  min-height: 1.2em;
  margin-bottom: 0.5rem;
}

.request-field {
  font-family: -apple-system, BlinkMacSystemFont,
              'Noto Sans KR', Roboto, 'Noto Sans KR', sans-serif;
  resize: none;             /* 크기 조절 비활성화 */
  height: 80px;            /* 고정 높이 */
  line-height: 1.5;         /* 줄 간격 */
  transition: box-shadow .2s; 
}
.request-field:focus {
  outline: none;
  border-color: #2196F3;
  box-shadow: 0 0 0 4px rgba(33,150,243,0.3);
}