/* Feature */
.feature-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
  max-width: 960px; margin: 0 auto;
}
.feature-text { font-size: 15px; line-height: 2.2; color: var(--text-sub); }
.feature-text strong { color: var(--text); }
.feature-list { list-style: none; padding: 0; margin: 20px 0 0; }
.feature-list li {
  padding: 12px 0; border-bottom: 1px solid var(--border);
  font-size: 15px; display: flex; align-items: baseline; gap: 10px;
}
.feature-list li::before { content: "\2713"; color: var(--red); font-weight: 700; flex-shrink: 0; }
.feature-img {
  border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/3;
}
.feature-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Point */
.point-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 36px 28px; text-align: center; transition: transform .3s, box-shadow .3s;
}
.point-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.point-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; background: var(--red); color: var(--white);
  font-weight: 900; font-size: 16px; border-radius: 50%; margin-bottom: 16px;
}
.point-card h3 { font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.point-card p { font-size: 14px; color: var(--text-sub); line-height: 1.9; }

/* Price */
.price-table-wrap { max-width: 700px; margin: 0 auto; }

/* Steps */
.step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; background: var(--red); color: var(--white);
  font-weight: 900; font-size: 16px; border-radius: 50%; margin-bottom: 12px;
}
.step-card { text-align: center; padding: 32px 24px; }
.step-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.step-card p { font-size: 13px; color: var(--text-sub); line-height: 1.8; }
.step-arrow {
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: var(--border); font-weight: 300;
}

/* FAQ */
.faq-item { background: var(--white); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 12px; overflow: hidden; }
.faq-q { display: flex; align-items: center; gap: 12px; padding: 20px 24px; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--navy); transition: background .2s; }
.faq-q:hover { background: rgba(4,52,90,.02); }
.faq-a { display: none; padding: 0 24px 20px; }
.faq-item.open .faq-a { display: block; }
.faq-a p { padding: 0 24px 20px 68px; font-size: 15px; line-height: 1.8; color: var(--text-sub); }

/* Responsive */
@media (max-width: 900px) {
  .feature-grid { grid-template-columns: 1fr; gap: 28px; }
  .feature-img { order: -1; }
  .step-arrow { transform: rotate(90deg); padding: 8px 0; }
}
