    :root {
      --vp-blue: #2563EB;
      --page-bg: #F3F4F6;
      --card-bg: #FFFFFF;
      --border: #E5E7EB;
      --text-muted: #6B7280;
      --text-gray: #bfc5cc;
      --pricing-bg: #E5E7EB;
      --chrome-bg: #111827; /* 👈 header / footer 专用0B0B0B */
    }



    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
                   Helvetica, Arial, sans-serif;
      background: var(--page-bg);
      color: #0B0B0B;
    }

    /* Header */

.site-header {
  background: var(--chrome-bg);
  border-bottom: 1px solid var(--border);
}
@media (min-width: 992px) {
.form-align {
  margin-top: 118px;
}
}


    .brand {
      display: flex;
      gap: 16px;
      align-items: center;
    }

    .brand img {
      width: 110px;
      height: 44px;
      border-radius: 6px;
      transform: scale(1.5);
    }

    .login-btn {
      border-radius: 999px;
      padding: .35rem 1.1rem;
      font-size: 0.9rem;
    }

    @media (max-width: 767px) {
  .about-btn {
    display: none !important;
  }
}


    /* Hero */
    .hero { min-height: 70vh; display: flex; align-items: center; }
    h1 { font-weight: 300; letter-spacing: -0.02em; }
    .sub { color: var(--text-muted); font-size: 1.05rem; }
@media (max-width: 768px) {
  .hero h1 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .hero .sub {
    padding-left: 20px;
    padding-right: 20px;
  }
}

    /* Video module */
    .video-module {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 18px;
    }
    .video-wrapper {
      aspect-ratio: 16 / 9;
      border-radius: 14px;
      overflow: hidden;
      background: #000;
      margin-bottom: 20px;
    }
    .video-wrapper video { width: 100%; height: 100%; object-fit: cover; }

    .section-card img {
  opacity: 0.9;
}
    /* Keep note close to video (but we increase distance before the upload sentence) 
    .video-note {
      font-size: 0.55rem;
      color: var(--text-muted);
      text-align: right;
    }

@media (min-width: 768px) {
  .video-note {
    font-size: 0.7rem;
  }
}

@media (min-width: 992px) {
  .video-note {
    font-size: 0.75rem;
  }
}
  */
.form-control::placeholder {
  color: var(--text-gray);
  opacity: 1;
}


    /* Upload text block spacing from video */
    .video-desc {
      margin-top: 6px; /* small extra separation */
    }

    .btn-vp {
      background: var(--vp-blue);
      color: #fff;
      border-radius: 999px;
      padding: .5rem 1.3rem;
      font-weight: 600;
    }
    .btn-vp:hover { background: #1E4ED8; color: #fff; }

    section { padding: 3rem 0; }

    .section-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 2.25rem;
    }

    /* How it works step style */
    .step-card {
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 18px;
      background: #fff;
      height: 100%;
      text-align: left;
    }
.step-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 6px;
  margin-bottom: 6px;
  border-bottom: var(--border) 1px solid;
}

.step-title {
  font-weight: 600;
  font-size: 1rem;
}
    .step-badge {
      width: 34px;
      height: 34px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      background: rgba(37, 99, 235, 0.12);
      color: var(--vp-blue);
      font-weight: 700;
      font-size: 0.95rem;
      flex-shrink: 0;
    }
    .step-icon {
      font-size: 22px;
      color: var(--vp-blue);
    }
    .step-desc {
      color: var(--text-muted);
      font-size: 0.95rem;
      margin: 0;
    }

    /* Pricing */
    .pricing-card {
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 18px;
      height: 100%;
    }
    .pricing-title { font-weight: 600; margin-bottom: 0.5rem; }
    .pricing-desc { font-size: 0.95rem; color: #374151; margin-bottom: 1.5rem; }

    /* Testimonials */
    .testimonial { display: flex; gap: 14px; align-items: flex-start; }
    .testimonial img {
      width: 48px; height: 48px;
      border-radius: 50%;
      object-fit: cover;
    }

    /* Footer */
    footer {
      background: var(--card-bg);
      border-top: 1px solid var(--border);
      color: var(--text-muted);
      font-size: 0.9rem;
    }

.video-note-row {
  font-size: 0.55rem;
  color: var(--text-muted);
  margin-bottom: 8px;
}

.video-note-left {
  font-weight: 500;
  color: var(--soft-black-2);
}

.video-note-right {
  text-align: right;
  max-width: 70%;
}

@media (max-width: 576px) {
  .video-note-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .video-note-right {
    text-align: left;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .video-note-row {
    font-size: 0.7rem;
  }
}

@media (min-width: 992px) {
  .video-note-row {
    font-size: 0.75rem;
  }
}

@media (min-width: 992px) {
  .site-header .header-left {
    padding-left: 50px;
  }

  .site-header .header-right {
    padding-right: 50px;
  }
}

/* Mobile only: give logo some breathing room */
@media (max-width: 991px) {
  .site-header .header-left {
    padding-left: 24px;
  }
}

.video-wrapper {
  position: relative;
  overflow: hidden;
}

/* fullscreen button */
.video-fullscreen-btn {
  position: absolute;
  top: 10px;
  right: 10px;

  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  border: none;
  border-radius: 6px;

  padding: 6px 8px;
  font-size: 0.75rem;
  cursor: pointer;

  opacity: 0;
  transition: opacity 0.2s ease;
}

/* show on hover */
.video-wrapper:hover .video-fullscreen-btn {
  opacity: 1;
}

@media (max-width: 768px) {
  .video-desc .btn {
    width: 100%;
  }
}


/* mobile: always visible (no hover) */
@media (max-width: 768px) {
  .video-fullscreen-btn {
    opacity: 1;
  }
}

.stage-banner {
  width: 100%;
  background: #ffcc00;
  color: #000;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
body {
  padding-top: 45px;
}

.pricing-price {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 12px;
  border-bottom: var(--border) 1px solid;
}


.pricing-note {
  position: relative;
  padding-left: 14px;          /* 给小点留空间 */
  margin-bottom: 8px;

  font-size: 0.9rem;
  color: #374151;              /* 比 text-muted 稍实一点 */
  line-height: 1.4;
}

.pricing-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;                  /* 垂直居中 */
  width: 5px;
  height: 5px;
  background: #D1D5DB;         /* 浅灰小点 */
  border-radius: 50%;
}

.pricing-year {
  font-size: 0.9rem;     /* 👈 比 small 更小 */
  color: var(--text-muted);
}


/* 展开时：移除蓝色背景 */
.accordion-button:not(.collapsed) {
  background-color: #fff !important;
  box-shadow: none;
}

/* 给 Question 按钮单独加蓝色粗边框 */
.accordion-button:not(.collapsed) {
  border: 1px solid var(--vp-blue);
  border-radius: 8px;
}

/* Answer 打开时灰色背景 */
.accordion-collapse .accordion-body {
  background-color: #F3F4F6;
}

/* 1. 移除点击时的蓝色闪框动画 */
.accordion-button:focus,
.accordion-button:active,
.accordion-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* 2. 打开状态保持文字黑色 */
.accordion-button:not(.collapsed) {
  color: #000 !important;
}

/* 3. 防止 active 状态短暂变色 */
.accordion-button:active {
  color: #000 !important;
}
.accordion-button::after {
  opacity: 0.25;
}
@media (max-width: 768px) {
  .accordion-button {
    padding-right: 0.8rem;
  }
}


.faq-more {
  text-align: right;
  margin-top: 12px;
}

.faq-more a {
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
}

.faq-more a:hover {
  text-decoration: underline;
}

.video-wrapper {
  user-select: none;
}
