
.home-v2 {
  --v2-gap: 104px;
  --v2-pad: 24px;
  --v2-ink: #f2f4f8;
  --v2-ink-2: #c3cad6;
  --v2-ink-3: #a3adbd;
  --v2-line: rgba(255, 255, 255, 0.1);
  --v2-card: #141414;
  --v2-accent: #89aacc;
  --v2-cta: #3f7dff;
}


.home-v2 main > section:not(.company-intro):not(.hero) {
  padding-top: var(--v2-gap) !important;
  padding-bottom: 0 !important;
}
.home-v2 main > section#contact { padding-bottom: var(--v2-gap) !important; }
.home-v2 main > section h2 { font-size: 44px !important; line-height: 1.2 !important; }
.home-v2 .section-head, .home-v2 .capability-proof-head, .home-v2 .demo-video-head { margin-bottom: 36px !important; }
.home-v2 .v2-anchor { display: block; position: relative; top: -96px; height: 0; }
.home-v2 [id] { scroll-margin-top: 88px; }


.home-v2 .hero.v2-hero {
  min-height: 0 !important;
  padding: 120px 0 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

.home-v2 .hero.v2-hero::before {
  top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  aspect-ratio: auto !important; transform: none !important;
  background: #0a0a0a !important;
}

@media (min-width: 1025px) {
  .home-v2 .hero .v2-hero-grid::before {
    content: ""; position: absolute; z-index: -1; pointer-events: none;
    left: 1.2%; top: 50%; width: 141.6%; aspect-ratio: 16 / 9;
    margin-top: calc(-66.74% - 40px);
    background: url("/assets/v2/hero-bg-horizon-4k-1920.webp") center / 100% 100% no-repeat;
    background-image: image-set(url("/assets/v2/hero-bg-horizon-1280.avif") type("image/avif"), url("/assets/v2/hero-bg-horizon-4k-1920.webp") type("image/webp"));
    -webkit-mask-image: linear-gradient(90deg, transparent 25.6%, #000 32.3%), linear-gradient(180deg, #000 85%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent 25.6%, #000 32.3%), linear-gradient(180deg, #000 85%, transparent 100%);
    mask-composite: intersect;
  }
}
.home-v2 .hero .container.v2-hero-grid {
  display: grid !important;
  grid-template-columns: 5fr 7fr !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 48px !important;
  max-width: 1280px !important;
  padding-top: 0 !important;
  text-align: left !important;
}
.home-v2 .v2-hero-copy { min-width: 0; }
.home-v2 .hero h1 {
  max-width: none !important;
  margin: 0 0 20px !important;
  font-size: clamp(36px, 3.6vw + 8px, 64px) !important;
  line-height: 1.15 !important;
}
.home-v2 .hero h1 .hero-line-slogan {
  margin-top: 10px !important;
  margin-left: 0 !important;
  font-size: 0.56em !important;
  line-height: 1.35 !important;
}
.home-v2 .hero h1 .hero-line-slogan::after { margin-left: 0; }
.home-v2 .hero .v2-hero-lead { max-width: 34em !important; margin: 0 0 20px !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--v2-ink-2) !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 17px; color: var(--v2-ink); }
.home-v2 .hero .v2-hero-lead strong { color: var(--v2-ink); }
.home-v2 .hero .hero-context,
.home-v2 .hero .hero-actions,
.home-v2 .hero .hero-refund-assurance { justify-content: flex-start !important; text-align: left !important; }
.home-v2 .v2-hero-points {
  display: flex; flex-direction: column; gap: 8px;
  margin: 0 0 28px; padding: 0; list-style: none;
}
.home-v2 .v2-hero-points li { display: flex; align-items: baseline; gap: 10px; font-size: 14px; color: var(--v2-ink-3); }
.home-v2 .v2-hero-points strong { flex: none; font-size: 15px; color: var(--v2-ink); font-weight: 650; }
.home-v2 .v2-hero-points strong::before { content: "✓"; margin-right: 6px; color: var(--v2-accent); }
.home-v2 .hero .hero-actions { gap: 12px !important; margin-bottom: 10px !important; }
.home-v2 .hero .hero-actions a { min-height: 52px !important; display: inline-flex; align-items: center; justify-content: center; }
.home-v2 .v2-sysreq { margin: 0 0 14px !important; font-size: 14px !important; color: var(--v2-ink-3) !important; text-shadow: none !important; }


.home-v2 .v2-window {
  min-width: 0;
  border: 1px solid var(--v2-line);
  border-radius: 14px;
  background: #0f1117;
  box-shadow: 0 30px 80px -28px rgba(0, 0, 0, 0.85), 0 0 90px -24px rgba(110, 155, 205, 0.22);
  overflow: hidden;
  margin-bottom: -80px;
}
.home-v2 .v2-window-bar { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; border-bottom: 1px solid var(--v2-line); font-size: 13px; color: var(--v2-ink-3); }
.home-v2 .v2-window-bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); }
.home-v2 .v2-window-bar span { margin-left: 8px; }
.home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 80px) !important; }


.home-v2 .v2-media {
  position: relative;
  margin: 0;
  width: 100%;
  aspect-ratio: var(--ar-d);
  overflow: hidden;
  border-radius: 12px;
  background: #0f1117;
}
.home-v2 .v2-window .v2-media { border-radius: 0; }
.home-v2 .v2-media picture, .home-v2 .v2-media .v2-poster, .home-v2 .v2-media img, .home-v2 .v2-media video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
.home-v2 .v2-media img { filter: none !important; }
.home-v2 .v2-media img[data-src] { visibility: hidden; } 
.home-v2 .v2-media video { opacity: 0; transition: opacity 0.3s; }
.home-v2 .v2-media.is-playing video { opacity: 1; }
.home-v2 .v2-media-toggle {
  position: absolute; right: 10px; bottom: 10px; z-index: 2;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(10, 10, 12, 0.72); color: #fff;
  display: grid; place-items: center; cursor: pointer;
  
  opacity: 0; pointer-events: none;
}
.home-v2 .v2-media-toggle[hidden] { display: none; }
.home-v2 .v2-media-toggle span { width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent currentColor; margin-left: 3px; }
.home-v2 .v2-media-toggle.is-playing span { width: 12px; height: 14px; border: 0; margin: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.home-v2 .v2-media-toggle:focus-visible { opacity: 1; pointer-events: auto; outline: 3px solid var(--v2-cta); outline-offset: 2px; }


.home-v2 .v2-split { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.home-v2 .v2-split-copy .label { margin-bottom: 12px; }
.home-v2 .v2-split-copy h2 { margin: 0 0 16px; text-align: left !important; }
.home-v2 .v2-lead { margin: 0 0 16px; font-size: 17px; line-height: 1.7; color: var(--v2-ink-2); }
.home-v2 .v2-lead kbd { font-size: 0.9em; }
.home-v2 .v2-ticks { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.home-v2 .v2-ticks li { font-size: 16px; color: var(--v2-ink-2); }
.home-v2 .v2-ticks li::before { content: "✓"; margin-right: 8px; color: var(--v2-accent); }
.home-v2 .v2-subhead { margin: 56px 0 20px; font-size: 22px; color: var(--v2-ink); text-align: center; }
.home-v2 .v2-section-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 40px 0 0; }
.home-v2 .v2-section-cta a { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; }
.home-v2 .v2-text-cta { color: var(--v2-accent); font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.home-v2 .demo-video-caption { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; }
.home-v2 .demo-video-caption a { min-height: 44px; display: inline-flex; align-items: center; }


.home-v2 .v2-media-portrait { width: min(100%, calc(480px * 404 / 720)); margin-left: auto; margin-right: auto; }


.home-v2 .v2-compare {
  position: relative;
  width: 100%; max-width: 860px; min-height: 0 !important;
  margin: 0 auto 40px !important;
  aspect-ratio: 16 / 10;
  background: var(--v2-card) !important;
  border: 1px solid var(--v2-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 80px -28px rgba(0, 0, 0, 0.85) !important;
}


.home-v2 .stealth-method-visual { aspect-ratio: 2 / 1; height: auto !important; min-height: 0 !important; overflow: hidden; }
.home-v2 .stealth-method-visual picture, .home-v2 .stealth-method-visual img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.home-v2 .stealth-methods-head { margin-bottom: 16px !important; }
.home-v2 .demo-video-wrap { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }


.home-v2 .v2-mock .mock-interview-layout { text-align: left !important; max-width: none !important; margin: 0 !important; }
.home-v2 .v2-mock .mock-interview-layout h2 { text-align: left !important; }
.home-v2 .v2-mock .mock-interview-flow { flex-direction: column !important; align-items: stretch !important; }
.home-v2 .v2-mock .mock-flow-line { display: none !important; }
.home-v2 .v2-mock .mock-interview-cta { min-height: 52px; display: inline-flex; align-items: center; }


.home-v2 .v2-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.home-v2 .v2-card { padding: 24px; border: 1px solid var(--v2-line); border-radius: 16px; background: var(--v2-card); }
.home-v2 .v2-card-num { font-size: 13px; color: var(--v2-accent); letter-spacing: 0.06em; }
.home-v2 .v2-card h3 { margin: 8px 0 8px; font-size: 19px; color: var(--v2-ink); }
.home-v2 .v2-card p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--v2-ink-2); }
.home-v2 .v2-note { margin: 20px 0 0; text-align: center; font-size: 14px; color: var(--v2-ink-3); }


.home-v2 .v2-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.home-v2 .v2-details .proof-secondary-card { margin: 0 !important; height: 100%; }
.home-v2 .v2-eye { padding: 24px; border: 1px solid var(--v2-line); border-radius: 24px; background: var(--v2-card); }
.home-v2 .v2-eye .eye-section-head { text-align: left !important; margin: 0 0 18px !important; }
.home-v2 .v2-eye-title { margin: 0; font-size: 22px; color: var(--v2-ink); }
.home-v2 .v2-eye .eye-comparison { padding: 0; border: 0; background: none; box-shadow: none; }


.home-v2 .exam-proof-tab, .home-v2 .faq-item summary, .home-v2 .mobile-nav-pill, .home-v2 .nav-links a { min-height: 44px; display: inline-flex; align-items: center; }
.home-v2 .faq-item summary { display: flex; }
.home-v2 .footer-col a { display: flex; align-items: center; min-height: 44px; }
.home-v2 .hero-refund-assurance a { display: inline-flex; align-items: center; min-height: 44px; }


@media (max-width: 1024px) {
  .home-v2 { --v2-gap: 80px; }
  .home-v2 main > section h2 { font-size: 36px !important; }
  .home-v2 .hero .container.v2-hero-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .home-v2 .v2-window { margin-bottom: -60px; }
  .home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 60px) !important; }
  .home-v2 .hero h1 { font-size: 50px !important; }
  .home-v2 .v2-split { grid-template-columns: 1fr; gap: 28px; }
  .home-v2 .v2-split-reverse .v2-media { order: -1; }
  .home-v2 .v2-cards { grid-template-columns: 1fr; }
  .home-v2 .v2-details-grid { grid-template-columns: 1fr; }
}


@media (max-width: 640px) {
  .home-v2 { --v2-gap: 56px; }
  .home-v2 .container { padding-left: 20px !important; padding-right: 20px !important; }
  .home-v2 main > section h2 { font-size: 28px !important; line-height: 1.25 !important; }
  .home-v2 .hero.v2-hero { padding-top: 92px !important; }
  .home-v2 .hero h1 { font-size: clamp(36px, 7vw + 8px, 44px) !important; margin-bottom: 14px !important; }
  .home-v2 .hero .v2-hero-lead, .home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 16px !important; }
  .home-v2 .v2-hero-points { gap: 6px; margin-bottom: 20px; }
  .home-v2 .v2-hero-points li { gap: 8px; font-size: 13px; }
  .home-v2 .hero .hero-actions { flex-direction: column !important; align-items: stretch !important; }
  .home-v2 .hero .hero-actions a, .home-v2 .v2-section-cta a.btn-primary, .home-v2 .v2-section-cta a.btn-secondary { width: 100%; }
  .home-v2 .v2-sysreq { font-size: 13px !important; }
  .home-v2 .v2-window { margin-bottom: -40px; border-radius: 12px; }
  .home-v2 .v2-window-bar { height: 28px; }
  .home-v2 .hero + section { padding-top: calc(var(--v2-gap) + 40px) !important; }
  
  .home-v2 .v2-media { aspect-ratio: var(--ar-m); width: min(100%, calc(62svh * var(--ar-m))); margin-left: auto; margin-right: auto; }
  .home-v2 .v2-media.v2-media-still { aspect-ratio: var(--ar-m); width: 100%; }
  .home-v2 .v2-window .v2-media { width: 100%; }
  .home-v2 .v2-media-portrait { width: min(100%, calc(56svh * var(--ar-m))); }
  
  .home-v2 .stealth-methods { display: flex !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px 4px; scrollbar-width: none; }
  .home-v2 .stealth-methods > .stealth-screen-card { flex: 0 0 86%; scroll-snap-align: center; }
  .home-v2 .v2-cards { gap: 10px; margin-top: 24px; }
  
  .home-v2 .features-grid, .home-v2 .v2-cards { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; margin-left: -20px !important; margin-right: -20px !important; padding: 0 20px 4px !important; scrollbar-width: none; }
  .home-v2 .features-grid > *, .home-v2 .v2-cards > * { flex: 0 0 82%; scroll-snap-align: center; }
  .home-v2 .v2-coding .v2-media { width: min(100%, calc(52svh * var(--ar-m))); }
  .home-v2 .v2-details .eye-comparison { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .v2-subhead { margin-top: 40px; font-size: 20px; }
  .home-v2 .v2-compare { aspect-ratio: 4 / 3; border-radius: 14px !important; margin-bottom: 28px !important; }
  .home-v2 .v2-card { padding: 18px; }
  .home-v2 .v2-eye { padding: 16px; border-radius: 16px; }

  
  .home-v2 *, .home-v2 *::before, .home-v2 *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .home-v2 header > .container.nav { background: rgba(20, 20, 20, 0.94) !important; }
  .home-v2 .hero-flow, .home-v2 .hero-flow-inner, .home-v2 .hero-stars, .home-v2 .xm-orb, .home-v2 .xm-noise, .home-v2 .xm-grid { display: none !important; }
  
  
  .home-v2 .floating-service { width: 48px !important; height: 48px !important; min-width: 0 !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; right: 12px !important; bottom: 16px !important; }
  .home-v2 .floating-service-copy, .home-v2 .floating-service-arrow { display: none !important; }
}


@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 { --v2-gap: 48px; }
  .home-v2 header > .container.nav { min-height: 0 !important; padding-top: 4px !important; padding-bottom: 4px !important; }
  .home-v2 header { padding-top: 6px !important; }
  .home-v2 .hero.v2-hero { padding-top: 64px !important; }
  .home-v2 .hero .container.v2-hero-grid { grid-template-columns: 45fr 55fr !important; gap: 24px !important; }
  .home-v2 .hero h1 { font-size: 30px !important; margin-bottom: 10px !important; }
  .home-v2 .hero .v2-hero-lead { font-size: 15px !important; margin-bottom: 10px !important; }
  .home-v2 .v2-hero-points { margin-bottom: 12px; }
  .home-v2 .hero .hero-actions a { min-height: 44px !important; }
  .home-v2 .v2-window { margin-bottom: 0; }
  .home-v2 .hero + section { padding-top: var(--v2-gap) !important; }
  .home-v2 .v2-media { width: min(100%, calc(70vh * var(--ar-d))); margin-left: auto; margin-right: auto; }
  .home-v2 .v2-split { grid-template-columns: 1fr 1fr; }
  .home-v2 .v2-split-reverse .v2-media { order: 0; }
  .home-v2 .v2-media-portrait { width: min(100%, calc(70vh * 404 / 720)); }
  .home-v2 .v2-details-grid, .home-v2 .stealth-methods { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .v2-cards { grid-template-columns: repeat(3, 1fr); }
  .home-v2 .features-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .home-v2 .v2-compare { max-width: calc(80vh * 1.6); }
  .home-v2 main > section h2 { font-size: 28px !important; }
}


@media (prefers-reduced-motion: reduce) {
  .home-v2 .v2-media video { transition: none; }
}


.home-v2 .v2-nofont { font-family: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif !important; }
.home-v2 .v2-hero-points strong::before, .home-v2 .v2-ticks li::before { font-family: system-ui, sans-serif; }


@media (max-width: 1024px) {
  .home-v2 .hero.v2-hero::before {
    background:
      radial-gradient(140% 46% at 50% 108%, transparent 56%, rgba(168, 196, 222, 0.5) 58.5%, rgba(78, 133, 191, 0.22) 62%, transparent 70%),
      radial-gradient(70% 40% at 50% 38%, rgba(46, 78, 120, 0.28), transparent 70%),
      #0a0a0a !important;
  }
}


@media (min-width: 1025px) {
  .home-v2 .faq-list { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 16px !important; align-items: start; max-width: 1200px !important; }
  .home-v2 .faq-list > .faq-item { margin: 0 !important; }
  .home-v2 .v2-compare { max-width: 760px; }
  .home-v2 .stealth-method-visual { aspect-ratio: 12 / 5; }
}

.home-v2 .v2-inline-cta { margin: 16px 0 0; }


@media (max-width: 640px) {
  .home-v2 .hero.v2-hero { padding-top: 24px !important; }
  .home-v2 .hero .container.v2-hero-grid { gap: 0 !important; }
  .home-v2 .v2-hero-copy { display: contents; }
  .home-v2 .v2-hero-copy > * { order: 1; }
  .home-v2 .v2-window { order: 2; margin: 14px 0 0; }
  .home-v2 .hero .hero-context { margin-bottom: 12px !important; }
  .home-v2 .hero .v2-hero-lead { margin-bottom: 12px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-outcome { margin-top: 4px; }
  .home-v2 .v2-hero-points { margin-bottom: 14px; gap: 2px; }
  .home-v2 .hero .hero-actions { display: grid !important; grid-template-columns: 1.15fr 0.85fr !important; flex-direction: row !important; gap: 8px !important; }
  .home-v2 .hero .hero-actions a { width: auto; padding-inline: 8px !important; min-width: 0 !important; }
  .home-v2 .v2-sysreq { margin-bottom: 0 !important; }
  .home-v2 .hero + section { padding-top: var(--v2-gap) !important; }
}


@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 .hero .container.v2-hero-grid { align-items: start !important; }
  .home-v2 .floating-service { width: 48px !important; height: 48px !important; min-width: 0 !important; padding: 0 !important; border-radius: 50% !important; justify-content: center !important; right: 12px !important; bottom: 12px !important; }
  .home-v2 .floating-service-copy, .home-v2 .floating-service-arrow { display: none !important; }
}


.home-v2 {
  --v2-card: #10162a;
  --v2-line: rgba(150, 178, 238, 0.16);
  --v2-line-soft: rgba(150, 178, 238, 0.12);
  --v2-line-hover: rgba(160, 190, 255, 0.3);
  --v2-surface: linear-gradient(180deg, rgba(112, 146, 232, 0.11), rgba(112, 146, 232, 0.035) 42%, rgba(112, 146, 232, 0.02)), #0d1222;
  --v2-surface-3: rgba(132, 165, 238, 0.11);
  --v2-shade: inset 0 1px 0 rgba(198, 216, 255, 0.17), inset 0 0 36px -14px rgba(108, 148, 255, 0.2), 0 24px 48px -32px rgba(0, 0, 0, 0.9);
  
  --x-ink-3: #b3bccc;
  --x-ink-4: #a3acbf;
}

.home-v2 .exam-proof-keys-head span { color: var(--v2-ink) !important; }
.home-v2 :is(.exam-proof-keys-head small, .exam-proof-keys-note, .feature-scenarios-lead) { color: var(--x-ink-4) !important; }

.home-v2 .hero-slider-caption span { background: rgba(8, 12, 24, 0.78); padding: 4px 12px; border-radius: 999px; }
.home-v2 .hero-slider-caption { z-index: 21 !important; } 

.home-v2 .exam-question-index { background: #2f5fd0 !important; color: #fff !important; }
.home-v2 :is(.feature-mini-card, .proof-secondary-card, .mock-interview-flow, .exam-proof, .stealth-method-visual, .demo-video-wrap,
  .stealth-screen-card, .faq-item, .v2-card, .v2-eye, .v2-compare, .contact-card) {
  background: var(--v2-surface) !important;
  border: 1px solid var(--v2-line) !important;
  box-shadow: var(--v2-shade) !important;
}
.home-v2 :is(.feature-mini-card, .proof-secondary-card, .mock-interview-flow, .stealth-screen-card, .faq-item, .v2-card, .demo-video-wrap):is(:hover, [open]) {
  border-color: var(--v2-line-hover) !important;
}
.home-v2 :is(.feature-mini-icon, .feature-flow-icon, .feature-mini-corner, .mock-flow-item span, .proof-kicker, .exam-proof-key kbd, .proof-fact, .exam-proof-keys-panel) {
  background: var(--v2-surface-3) !important;
  border-color: var(--v2-line) !important;
}
.home-v2 :is(.feature-mini-outcome, .feature-mini-card-cyan .feature-mini-outcome, .proof-fact, .exam-proof-keys-note) { border-top-color: var(--v2-line-soft) !important; }
.home-v2 .exam-proof-copy { border-color: var(--v2-line-soft) !important; }
.home-v2 :is(.stealth-section, .capability-proof-section, .demo-video-section, #faq) { border-top-color: var(--v2-line-soft) !important; }


.home-v2 main > section:is(#stealth, #features, #mock-interview, #eye-contact) {
  background: radial-gradient(720px 420px at 12% 320px, rgba(70, 108, 222, 0.13), transparent 72%) no-repeat !important;
}
.home-v2 main > section:is(#demo-video, #capability-proof, #dual-camera, #faq) {
  background: radial-gradient(720px 420px at 88% 320px, rgba(70, 108, 222, 0.11), transparent 72%) no-repeat !important;
}
.home-v2 main > section#contact {
  background: radial-gradient(900px 480px at 50% 360px, rgba(64, 106, 232, 0.17), transparent 74%) no-repeat !important;
}
.home-v2 #contact .cta {
  background: var(--v2-surface) !important;
  border: 1px solid var(--v2-line) !important;
  box-shadow: var(--v2-shade) !important;
}
.home-v2 footer {
  background: linear-gradient(180deg, #0c1120, #090c15) !important;
  border-top-color: var(--v2-line-soft) !important;
}


.home-v2 .exam-proof-panel:has(> .exam-shot) { display: block; min-height: 0; padding: 0; }
.home-v2 .exam-proof-panel[hidden] { display: none; }
.home-v2 .exam-shot { display: block; margin: 0; }
.home-v2 .exam-shot img {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
  border-radius: 14px; border: 1px solid rgba(160, 190, 255, .18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35); background: #0d1424;
}
@media (max-width: 640px) {
  .home-v2 .exam-shot img { aspect-ratio: 9 / 16; width: min(100%, 260px); margin: 0 auto; }
}


.home-v2 { --v2-gap: 80px; }
.home-v2 .demo-video-wrap { max-width: 1080px; } 

/* Home product demo (2026-10-31, = domestic #demo-video): click to play, then native controls (seek, fullscreen,
   captions toggle). The poster is the film's own 16:9 frame. The cosmic theme greys .demo-video-wrap video by 30%;
   the film and its poster keep their colours. */
.home-v2 .demo-video-wrap video.demo-film-video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #04060b; border-radius: 11px; cursor: pointer; filter: none !important; }
/* Video and end layer share one grid cell, so when a long language needs more room than the frame (German or
   Russian buttons on a phone), the layer makes the frame taller instead of spilling out of it.
   The box is also a size container: the play button below is sized in cqw, so it grows and shrinks with the picture. */
.home-v2 .demo-film { position: relative; display: grid; container-type: inline-size; }
.home-v2 .demo-film > :is(video, .demo-film-end) { grid-area: 1 / 1; }
/* Play button. Since 2026-11-01 (T12) every poster is a title card like the tutorial poster: tag, serif title and
   key row in the top 60% of the height (lowest: the three-line German and Russian titles), empty dark below, so the
   button sits at (50%, 78%) and covers no text. Every size is in em of a font size that follows the picture's width, so
   the longest labels (German, Russian) keep their share at any screen width. Gone once playback starts. */
.home-v2 .demo-film-play {
  position: absolute; left: 50%; top: 78%; z-index: 1; transform: translate(-50%, -50%); max-width: 46%;
  display: inline-flex; align-items: center; gap: .8em; padding: .6em 1.3em .6em .6em;
  border: 0; border-radius: 999px; background: #fff; color: #0b0d12; font-family: inherit; font-weight: 700; line-height: 1.15; text-align: left; cursor: pointer;
  font-size: 18px; font-size: clamp(13px, 1.8cqw, 20px);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 0 0 .4em rgba(255, 255, 255, .12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-v2 .demo-film-play:hover, .home-v2 .demo-film-play:focus-visible { transform: translate(-50%, -50%) scale(1.05); box-shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 0 0 .6em rgba(255, 255, 255, .16); outline: none; }
.home-v2 .demo-film-icon { flex: none; width: 2.8em; height: 2.8em; border-radius: 50%; background: #0b0d12; display: grid; place-items: center; }
.home-v2 .demo-film-icon::after { content: ""; margin-left: .25em; border-left: .95em solid #fff; border-top: .55em solid transparent; border-bottom: .55em solid transparent; }
.home-v2 .demo-film.is-started .demo-film-play { display: none; }
/* Below 700px of picture the pane is too narrow for a label in every language: the round icon alone at 80% (it is a
   quarter of the picture height there, so it moves down to clear the key row under the three-line titles; its aria-label
   says what it does). Same look as on phones, see the max-width: 640px block. */
@container (max-width: 700px) {
  .home-v2 .demo-film-play { top: 80%; gap: 0; padding: 4px; font-size: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55), 0 0 0 5px rgba(255, 255, 255, .12); }
  .home-v2 .demo-film-play-text { display: none; }
  .home-v2 .demo-film-icon { width: 40px; height: 40px; }
  .home-v2 .demo-film-icon::after { margin-left: 4px; border-left-width: 13px; border-top-width: 8px; border-bottom-width: 8px; }
}
/* End layer: straight on the picture (no card), one "Plus: ..." line, the three buttons below (they wrap in long languages). */
.home-v2 .demo-film-end {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px;
  padding: 24px; border-radius: 11px; text-align: center;
  background: rgba(5, 8, 16, .86);
}
.home-v2 .demo-film-end[hidden] { display: none; }
.home-v2 .demo-film-more { margin: 0; color: #f2f5fb; font-size: 24px; font-weight: 600; line-height: 1.4; text-wrap: balance; }
.home-v2 .demo-film-more > span { white-space: nowrap; } /* a feature name never breaks across lines */
.home-v2 .demo-film-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.home-v2 .demo-film-actions :is(a, button) {
  min-height: 52px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap;
  font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; cursor: pointer;
}
/* On the end layer only "Download free" takes the hero's gold (2026-10-31); "Full guide" and "Replay" stay dark.
   site-visual's site-wide dark button rules are !important and load after this file, so this needs one more class
   to win, and its :hover would turn the button dark again, so the hover state repeats the gold. */
.home-v2 .demo-film-actions .btn-primary,
.home-v2 .demo-film-actions .btn-primary:hover {
  background: #ebcb8b !important; border-color: #ebcb8b !important; color: #090b10 !important; font-weight: 700 !important;
}
.home-v2 .demo-film-actions .btn-primary:hover { filter: brightness(1.04); }
.home-v2 .demo-film-actions .btn-primary:focus-visible { outline: 2px solid #ebcb8b; outline-offset: 3px; }
/* Captions on a narrow picture (2026-10-31, logic in home-v2-media.js): at 700 px of picture or less .demo-film has
   is-cue-below, the captions in the picture are hidden and the current cue is written in the line right under the video.
   The line is always two lines tall, so a new cue or piece never shifts the page; before playback, with captions off
   and in fullscreen it is hidden. */
/* Captions in the picture (2026-11-01) follow the burned-in captions of the full tutorial film on the guide page:
   white, bold, on a semi-transparent dark blue-grey box (scripts/tutorial-video/assemble.cjs, style Sub, &H64141A26 =
   rgba(20,26,38,.61)), about 2.1% of the picture's width (22px on a 1062px picture at 1440 wide; the tutorial film's
   are 21.7px on the 1440-wide guide page). Chrome's default is 5% of the picture's height (29.9px), too big. */
.home-v2 .demo-film video::cue {
  font-size: 22px; font-size: clamp(14px, 2.1cqw, 22px); font-weight: 700; line-height: 1.35;
  color: #fff; background-color: rgba(20, 26, 38, .61);
}
.home-v2 .demo-film.is-cue-below video::-webkit-media-text-track-container { display: none; }
.home-v2 .demo-film.is-cue-below video::cue { visibility: hidden; }
/* The line under a narrow picture (2026-11-01): 14 -> 13px and a heavier weight, like the captions in the picture.
   It sits outside the picture on the dark page, so it needs no box. */
.home-v2 .demo-film-cue {
  margin: 8px 6px 4px; height: 2.9em; overflow: hidden;
  color: #f2f5fb; font-size: 13px; font-weight: 600; line-height: 1.45; text-align: center;
  overflow-wrap: anywhere; text-wrap: balance;
}
.home-v2 .demo-film-cue[hidden] { display: none; }
/* The two sentences under the title wrap as units. Long languages need more than one line even on desktop, so
   no nowrap here (the domestic page keeps its one short line). */
.home-v2 .demo-video-copy { white-space: normal; text-wrap: balance; }
.home-v2 .demo-video-copy > span { display: inline-block; }
/* Phones: the left pane is under 100px wide, so the button is the round icon alone (its aria-label says what it does).
   Kept as a media query too, for browsers without container queries. */
@media (max-width: 640px) {
  .home-v2 .demo-film-play { top: 80%; gap: 0; padding: 4px; font-size: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55), 0 0 0 5px rgba(255, 255, 255, .12); }
  .home-v2 .demo-film-play-text { display: none; }
  .home-v2 .demo-film-icon { width: 40px; height: 40px; }
  .home-v2 .demo-film-icon::after { margin-left: 4px; border-left-width: 13px; border-top-width: 8px; border-bottom-width: 8px; }
  /* The end layer sits in the same grid cell as the picture, so it grows the box when the three buttons stack.
     de / ru needed 211.2px at 390 wide against a 174.4px picture (36.8px taller, 2026-10-31). Smaller type,
     height and gaps keep the layer inside the picture instead of enlarging the video frame. */
  .home-v2 .demo-film-end { gap: 8px; padding: 8px 10px; }
  .home-v2 .demo-film-more { font-size: 13px; line-height: 1.35; }
  .home-v2 .demo-film-actions { gap: 6px; }
  .home-v2 .demo-film-actions :is(a, button) { min-height: 32px; padding: 0 12px !important; font-size: 13px; }
}
@media (max-width: 380px) {
  /* Narrowest phones: ru still needs a third line for "Plus …", so take one more step down. */
  .home-v2 .demo-film-end { gap: 6px; padding: 6px 8px; }
  .home-v2 .demo-film-more { font-size: 12px; line-height: 1.3; }
  .home-v2 .demo-film-actions { gap: 4px; }
  .home-v2 .demo-film-actions :is(a, button) { min-height: 28px; padding: 0 10px !important; font-size: 12px; }
}
.home-v2 .section-head, .home-v2 .capability-proof-head, .home-v2 .demo-video-head { margin-bottom: 28px !important; }
@media (min-width: 1025px) {
  .home-v2 .stealth-method-visual { aspect-ratio: 5 / 2; }
}
@media (max-width: 640px) {
  .home-v2 { --v2-gap: 48px; }
}

.home-v2 .nav-links a { white-space: nowrap; }
/* 导航要装进胶囊：容器最宽 1160，1440+ 退回宽松间距后连英文都会顶出胶囊右缘（下载按钮悬在
   胶囊外面），西语/俄语则任何宽度都放不下。统一用紧凑间距，并让胶囊在宽屏上跟着主内容一起变宽。 */
@media (min-width: 1201px) {
  .home-v2 .container.nav { width: min(1320px, calc(100% - 40px)); max-width: min(1320px, calc(100% - 40px)); gap: 16px; }
  .home-v2 .nav-links { gap: 0 !important; font-size: 13px; }
  .home-v2 .nav-links a { padding: 7px 8px !important; }
  .home-v2 .nav-cta { padding: 9px 14px; font-size: 13px; }
  .home-v2 .nav-guide { padding: 8px 11px; font-size: 13px; }
}
/* 西语、俄语的导航文案最长，1360 以下收起整行改菜单按钮，避免下载按钮被挤出胶囊。 */
@media (min-width: 1201px) and (max-width: 1359px) {
  html[lang="es"] .home-v2 .nav-links,
  html[lang="ru"] .home-v2 .nav-links { display: none; }
  html[lang="es"] .home-v2 .nav-menu-btn,
  html[lang="ru"] .home-v2 .nav-menu-btn { display: inline-flex; }
}
/* 360~400px：logo + 菜单按钮 + 下载按钮已经顶满胶囊，收一档间距和字号。 */
@media (max-width: 400px) {
  .home-v2 .container.nav { gap: 8px; }
  .home-v2 .logo { gap: 8px; font-size: 18px; }
  .home-v2 .logo-mark { width: 28px; height: 28px; border-radius: 9px; }
}
/* 光晕、跑马灯这类装饰层会带来几像素的横向溢出，手机上表现成整页能左右晃。clip 不产生
   滚动容器，吸顶导航不受影响；单独的横向滚动条（如语言行）仍然可以滚。 */
body.home-v2 { overflow-x: clip; }


.home-v2 main > section:not(#live-answer) { padding-top: 72px !important; }
.home-v2 .v2-section-cta { margin-top: 28px !important; }
.home-v2 .stealth-stage { margin-top: 36px !important; }

.home-v2 .footer-col { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 12px; align-content: start; }
.home-v2 .footer-col h4 { grid-column: 1 / -1; height: auto !important; margin-bottom: 8px !important; }
.home-v2 .footer-col a { padding-block: 0 !important; line-height: 1.5 !important; }
.home-v2 footer, footer { padding-bottom: 16px !important; }

.home-v2 .stealth-method-visual { max-height: 230px; overflow: hidden; }
.home-v2 .stealth-method-visual img { object-fit: cover; object-position: top; }


.home-v2 .exam-proof-key span { color: #d3dae6 !important; }
.home-v2 .term-chipbox small { color: #c7cfdd !important; }
.home-v2 .term-arrow { color: #c7cfdd !important; }
.home-v2 .mock-flow-item span, .home-v2 .mock-flow-item small, .home-v2 .mock-flow-item p { color: #cddcef !important; }


.home-v2 .refund-promise a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -12px; }

@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 .stealth-note a { display: inline-block; padding-block: 12px; margin-block: -12px; }
}


.home-v2 .v2-details-tabs { display: none; }

@media (min-width: 1025px) {
  
  .home-v2 main > section h2 { max-width: none !important; text-wrap: balance; }
  .home-v2 .demo-video-head { margin-bottom: 20px !important; }
  .home-v2 .v2-split-copy h2, .home-v2 .mock-interview-layout h2 { font-size: clamp(30px, 2.3vw, 36px) !important; }
  
  .home-v2 #stealth .stealth-note { margin-top: 14px !important; }
  .home-v2 #stealth .v2-section-cta { margin-top: 18px !important; }
  .home-v2 #stealth .stealth-stage { margin-top: 28px !important; }
  .home-v2 #stealth > .container { display: flex; flex-direction: column; }
  .home-v2 #stealth > .container > * { order: 1; }
  .home-v2 #stealth > .container > .product-card { align-self: center; margin-bottom: 0 !important; }
  
  .home-v2 #dual-camera > .container { display: grid; grid-template-columns: 1fr 269px; column-gap: 56px; align-items: start; }
  .home-v2 #dual-camera .v2-split { display: contents !important; }
  .home-v2 #dual-camera .v2-split-copy { grid-column: 1; grid-row: 1; }
  .home-v2 #dual-camera figure.v2-media-portrait { grid-column: 2; grid-row: 1 / span 4; }
  .home-v2 #dual-camera .v2-cards { grid-column: 1; grid-row: 2; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 20px !important; }
  .home-v2 #dual-camera .v2-card { display: grid; grid-template-columns: 40px 140px 1fr; align-items: baseline; padding: 14px 18px !important; min-height: 0 !important; }
  .home-v2 #dual-camera .v2-card h3, .home-v2 #dual-camera .v2-card p { margin: 0 !important; }
  .home-v2 #dual-camera .v2-note { grid-column: 1; grid-row: 3; margin-top: 14px !important; }
  .home-v2 #dual-camera .v2-section-cta { grid-column: 1; grid-row: 4; justify-content: flex-start !important; margin-top: 18px !important; }
}


@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 main > section:not(#live-answer) { padding-top: 64px !important; }
  .home-v2 .stealth-methods { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .home-v2 .features-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  .home-v2 .v2-cards { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  .home-v2 #dual-camera .v2-split { grid-template-columns: 1fr 240px !important; align-items: center; }
  .home-v2 .v2-details-grid { grid-template-columns: 1fr 1fr !important; }
  .home-v2 .eye-comparison { grid-template-columns: 1fr !important; }
  .home-v2 .v2-split:not(#dual-camera .v2-split) { grid-template-columns: 1fr 1fr !important; align-items: center; gap: 24px !important; }
  .home-v2 .exam-proof { grid-template-columns: 1fr !important; }
}


@media (max-width: 699px) {
  .home-v2 main > section:not(#live-answer) { padding-top: 40px !important; }
  .home-v2 .section-head { margin-bottom: 20px !important; }
  .home-v2 .v2-section-cta { margin-top: 20px !important; }
  .home-v2 .footer-cols { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .home-v2 .footer-brand { gap: 6px !important; }
  .home-v2 .v2-split figure.v2-media { max-width: 300px; margin-inline: auto; }
  .home-v2 #mock-interview figure.v2-media, .home-v2 #capability-proof .v2-split figure.v2-media { max-width: 240px !important; }
  
  .home-v2 #stealth > .container { display: flex; flex-direction: column; }
  .home-v2 #stealth > .container > * { order: 1; }
  
  
  .home-v2 #stealth .stealth-note { padding: 12px 14px !important; font-size: 13px !important; }
  
  .home-v2 #dual-camera .v2-cards { display: grid !important; grid-template-columns: 1fr !important; width: auto !important; overflow: visible !important; gap: 8px !important; margin-top: 16px !important; }
  .home-v2 #dual-camera .v2-card { display: grid !important; grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; width: auto !important; min-height: 0 !important; padding: 12px 14px !important; }
  .home-v2 #dual-camera .v2-card p { grid-column: 1 / -1; margin: 0 !important; }
  .home-v2 #dual-camera .v2-card-num { margin: 0 !important; }
  .home-v2 #dual-camera figure.v2-media-portrait { max-width: 200px !important; }
  .home-v2 #dual-camera .v2-section-cta, .home-v2 #capability-proof .v2-section-cta { gap: 10px !important; }
  
  .home-v2 .exam-proof-copy { gap: 12px !important; }
  .home-v2 .exam-proof-keys-panel { padding: 12px !important; }
  .home-v2 .exam-proof-keys-note { margin-top: 8px !important; }
  .home-v2 .mock-flow-item { padding-block: 8px !important; min-height: 0 !important; }
  .home-v2 .mock-interview-flow { margin-block: 14px !important; }
  .home-v2 .proof-facts { grid-template-columns: repeat(3, 1fr) !important; gap: 6px !important; }
  .home-v2 .term-stream { grid-template-columns: 1fr 20px 1fr !important; align-items: center !important; gap: 8px !important; }
  .home-v2 .term-arrow { height: auto !important; align-self: center !important; text-align: center; }
  
  .home-v2 .v2-details-tabs { display: flex; gap: 6px; margin: 0 0 14px; padding: 4px; border-radius: 12px; background: rgba(132, 165, 238, 0.08); border: 1px solid rgba(160, 190, 255, 0.14); }
  .home-v2 .v2-details-tab { flex: 1; min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--x-ink-2, #c9d3e6); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
  .home-v2 .v2-details-tab[aria-selected="true"] { background: rgba(132, 165, 238, 0.2); color: var(--x-ink, #fff); }
  .home-v2 .v2-details-tab:focus-visible { outline: 2px solid var(--c-accent-soft, #9db8ff); outline-offset: 2px; }
  .home-v2 .v2-details-grid[data-details-active="term"] > [data-details-panel="eye"],
  .home-v2 .v2-details-grid[data-details-active="eye"] > [data-details-panel="term"] { display: none !important; }
  
  .home-v2 #dual-camera .v2-split { display: grid !important; grid-template-columns: 1fr 128px !important; gap: 14px !important; align-items: start; }
  .home-v2 #dual-camera figure.v2-media-portrait { max-width: none !important; width: 128px !important; margin: 0 !important; }
  .home-v2 #capability-proof .v2-split { display: grid !important; grid-template-columns: 1fr 132px !important; gap: 14px !important; align-items: start; }
  .home-v2 #capability-proof .v2-split figure.v2-media { max-width: none !important; width: 132px !important; margin: 0 !important; }
  .home-v2 #capability-proof .v2-split-copy .v2-lead, .home-v2 #dual-camera .v2-split-copy .v2-lead { font-size: 14px !important; }
  
  .home-v2 .exam-proof-tabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  .home-v2 .exam-proof-tabs::-webkit-scrollbar { display: none; }
  .home-v2 .exam-proof-tab { flex: 0 0 auto !important; }
  .home-v2 .exam-shot img { width: min(100%, 220px) !important; }
  .home-v2 .exam-proof-copy { padding: 16px !important; }
  .home-v2 .exam-proof-copy h3 { margin-top: 10px !important; font-size: 19px !important; }
  .home-v2 .v2-subhead { margin-top: 28px !important; }
  
  
  .home-v2 #mock-interview .v2-split { display: grid !important; grid-template-columns: minmax(0, 1fr) 120px !important; column-gap: 14px !important; row-gap: 0 !important; align-items: start; }
  .home-v2 #mock-interview .mock-interview-layout { display: contents !important; }
  .home-v2 #mock-interview .mock-interview-layout > * { grid-column: 1 / -1; }
  .home-v2 #mock-interview .mock-interview-layout > .mock-interview-flow { grid-column: 1; grid-row: 4; margin-top: 0 !important; }
  .home-v2 #mock-interview figure.v2-media { grid-column: 2; grid-row: 4; max-width: none !important; width: 120px !important; margin: 0 !important; }
  .home-v2 #mock-interview .mock-interview-layout > .label { justify-self: start; }
  .home-v2 #mock-interview .mock-interview-layout > .mock-interview-cta { justify-self: start; margin-top: 14px !important; }
  .home-v2 #mock-interview .mock-interview-intro { margin-bottom: 14px !important; }
  .home-v2 #mock-interview .mock-interview-intro { font-size: 14px !important; }
  
  .home-v2 #dual-camera .v2-section-cta { flex-direction: row !important; flex-wrap: nowrap; }
  .home-v2 #dual-camera .v2-section-cta > .btn-secondary { flex: 4 1 0; min-width: 0; padding-inline: 10px !important; font-size: 14px !important; }
  .home-v2 #dual-camera .v2-section-cta > .btn-primary { flex: 6 1 0; min-width: 0; padding-inline: 10px !important; }
  
  .home-v2 .stealth-note a { display: inline-block; padding-block: 14px; margin-block: -14px; }
  .home-v2 .refund-promise a { margin-block: -12px; }
}


.home-v2 *, .home-v2 *::before, .home-v2 *::after { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.home-v2 header > .container.nav { background: rgba(14, 18, 30, 0.94) !important; }
.home-v2 footer { background: #0b0f1a !important; }
.home-v2 .btn-secondary, .home-v2 .tags > .tag, .home-v2 .hero-slider-caption { background-color: rgba(22, 28, 44, 0.86) !important; }
.home-v2 .btn-primary::before, .home-v2 .btn-primary::after, .home-v2 .hero-slider-button,
.home-v2 .hero-slider-caption, .home-v2 .hero-slider-caption-arrow { animation-iteration-count: 2 !important; }


.home-v2 .hero-slider-container::after { display: none !important; }
.home-v2 .hero-slider-base, .home-v2 .hero-slider-overlay img, .home-v2 .hero-window-grade img { filter: none !important; }
.home-v2 .hero-window-grade { display: none !important; }
.home-v2 .v2-compare::before { opacity: .18 !important; }


.home-v2 .term-demo { margin: 18px 0 16px; padding: 14px 16px 12px; border-radius: 14px;
  background: rgba(10, 16, 30, .72); border: 1px solid rgba(132, 165, 238, .18); }
.home-v2 .term-demo-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12px; color: #9fb0cc; }
.home-v2 .term-demo-bar i { width: 7px; height: 7px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 0 3px rgba(61, 220, 151, .16); }
.home-v2 .term-demo-bar em { margin-left: auto; font-style: normal; color: #8fb4ff; }
.home-v2 .term-demo-line { margin: 0; font-size: 15px; line-height: 2.05; color: #e8edf6; }
.home-v2 .term-demo-who { margin-right: 8px; padding: 1px 7px; border-radius: 5px; font-size: 12px; color: #9fc0ff; background: rgba(91, 140, 255, .14); }
.home-v2 .term-fix { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; }
.home-v2 .term-fix s, .home-v2 .term-demo-legend s { color: #8a93a6; text-decoration-color: rgba(255, 120, 120, .75); text-decoration-thickness: 1.5px; font-size: .86em; }
.home-v2 .term-fix b, .home-v2 .term-demo-legend b { color: #7fb0ff; font-weight: 600; padding: 0 5px; border-radius: 5px; background: rgba(91, 140, 255, .16); }
.home-v2 .term-demo-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 12px; color: #aab5c8; }
.home-v2 .term-demo-legend b { font-size: 12px; }
.home-v2 .term-facts .proof-fact { background: transparent !important; padding: 8px 0 0 !important; border-top: 1px solid rgba(132, 165, 238, .16); }
.home-v2 .term-facts .proof-fact strong { display: block; font-size: 22px; line-height: 1.2; color: #f1f4fa; }
.home-v2 .term-facts .proof-fact span { font-size: 12.5px; color: #aab5c8; }
@media (max-width: 640px) { .home-v2 .term-demo-line { font-size: 14px; line-height: 2.1; } }


.home-v2 #dual-camera .v2-card.v2-card-visual { display: grid !important; grid-template-columns: 132px 1fr !important; grid-template-rows: auto 1fr; column-gap: 16px !important; row-gap: 4px !important; align-items: start !important; padding: 12px !important; }
.home-v2 .v2-card-pic { grid-column: 1; grid-row: 1 / span 3; display: block; width: 132px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #0d1424; border: 1px solid rgba(132, 165, 238, .16); align-self: center; }
.home-v2 .v2-card-pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { grid-column: 2; grid-row: 1; margin: 2px 0 0 !important; }
.home-v2 #dual-camera .v2-card-visual > h3 { grid-column: 2; grid-row: 1; margin: 0 0 0 30px !important; font-size: 17px !important; }
.home-v2 #dual-camera .v2-card-visual > p { grid-column: 2; grid-row: 2; margin: 0 !important; font-size: 14.5px !important; line-height: 1.6 !important; }
@media (max-width: 640px) {
  .home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: 96px 1fr !important; column-gap: 12px !important; padding: 10px !important; }
  .home-v2 .v2-card-pic { width: 96px; }
  .home-v2 #dual-camera .v2-card-visual > h3 { font-size: 15px !important; margin-left: 26px !important; }
  .home-v2 #dual-camera .v2-card-visual > p { font-size: 13px !important; }
  .home-v2 .v2-card-listen svg { width: 30px; height: 30px; }
  .home-v2 .v2-card-listen .v2-listen-wave, .home-v2 .v2-card-listen span { display: none; }
}
.home-v2 .v2-card-listen { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #8fb4ff;
  background: radial-gradient(80% 90% at 50% 30%, rgba(91, 140, 255, .22), rgba(13, 20, 36, 1) 70%); }
.home-v2 .v2-listen-wave { display: flex; align-items: center; gap: 4px; height: 24px; }
.home-v2 .v2-listen-wave i { width: 4px; border-radius: 2px; background: #7fb0ff; }
.home-v2 .v2-listen-wave i:nth-child(1), .home-v2 .v2-listen-wave i:nth-child(7) { height: 6px; }
.home-v2 .v2-listen-wave i:nth-child(2), .home-v2 .v2-listen-wave i:nth-child(6) { height: 14px; }
.home-v2 .v2-listen-wave i:nth-child(3), .home-v2 .v2-listen-wave i:nth-child(5) { height: 20px; }
.home-v2 .v2-listen-wave i:nth-child(4) { height: 24px; }
.home-v2 .v2-card-listen span { display: none; }
.home-v2 .v2-card-listen svg { width: 34px; height: 34px; }
.home-v2 .v2-card-listen .v2-listen-wave { height: 14px; gap: 3px; }
.home-v2 .v2-card-listen .v2-listen-wave i { width: 3px; max-height: 14px; }


.home-v2 .eye-faces { display: grid; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.home-v2 .eye-faces .eye-comparison-frame { margin: 0; aspect-ratio: auto; overflow: hidden; border-radius: 14px; background: #0d1424;
  border: 1px solid rgba(143, 180, 255, .16); }
.home-v2 .eye-faces .eye-comparison-frame.after { border-color: rgba(255, 255, 255, .22); }
.home-v2 .eye-faces .eye-comparison-frame img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.home-v2 .eye-faces figcaption { display: flex; align-items: center; gap: 7px; padding: 9px 12px; font-size: 14px; font-weight: 600; line-height: 1.3; color: #c7d3ea; }
.home-v2 .eye-faces figcaption i { display: none; }
.home-v2 .eye-faces figcaption { color: var(--x-ink-3); font-weight: 500; }
.home-v2 .eye-faces .after figcaption { color: var(--v2-ink); font-weight: 600; }

.home-v2 {
  --v3-ink-2: #c9d1df;                       
  --v3-hair: rgba(255, 255, 255, 0.09);      
  --v3-hair-2: rgba(255, 255, 255, 0.18);    
  --v3-chip: rgba(255, 255, 255, 0.045);     
  --v3-accent: #8fb4ff;                      
}
.home-v2 main > section .label { color: var(--x-ink-3) !important; font-weight: 600; }
.home-v2 main > section .label::before { background: var(--v3-hair-2) !important; opacity: 1 !important; }
.home-v2 #dual-camera .v2-card-num { color: var(--x-ink-3) !important; }
.home-v2 #mock-interview .mock-flow-item.active span { background: var(--v2-ink) !important; color: #0b0f1a !important; border-color: transparent !important; }


.home-v2 #features .feature-mini-card { gap: 8px; padding: 26px 24px 24px !important; }
.home-v2 #features .feature-mini-card::before { display: none !important; }
.home-v2 #features .feature-mini-card .feature-mini-icon { width: 44px; height: 44px; border-radius: 12px; margin-bottom: 10px;
  color: var(--v2-ink) !important; background: var(--v3-chip) !important; border: 1px solid var(--v3-hair) !important; }
.home-v2 #features .feature-mini-card .feature-mini-icon svg { width: 22px; height: 22px; }
.home-v2 #features .feature-mini-card h3 { font-size: 20px; color: var(--v2-ink) !important; }
.home-v2 #features .feature-mini-card p { font-size: 15px; line-height: 1.6; color: var(--x-ink-3) !important; }
.home-v2 #features .feature-mini-card:hover { border-color: var(--v3-hair-2) !important; }


.home-v2 .v2-steps { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; }
.home-v2 .v2-steps li { display: inline-flex; align-items: center; gap: 8px; color: var(--v3-ink-2); font-size: 15px; font-weight: 500; }
.home-v2 .v2-steps li + li::before { content: "→"; margin: 0 12px; color: var(--x-ink-4); font-family: system-ui, sans-serif; }
.home-v2 .v2-steps b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--v3-hair-2);
  color: var(--v2-ink); font-size: 12px; font-weight: 600; }

.home-v2 .v2-coding .v2-lead kbd, .home-v2 .exam-proof-key kbd { color: var(--v2-ink) !important; background: linear-gradient(180deg, #262d3d, #1b2130) !important;
  border: 1px solid var(--v3-hair-2) !important; box-shadow: 0 2px 0 rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
  font-style: normal !important; font-weight: 600; font-family: ui-monospace, "SF Mono", Consolas, monospace !important; }
.home-v2 .v2-coding .v2-lead kbd { padding: 1px 8px; border-radius: 6px; }


.home-v2 .exam-proof-copy { justify-content: center; padding: 28px !important; }
.home-v2 .exam-proof-copy .exam-proof-keys { display: grid; grid-template-columns: 1fr; gap: 14px; }
.home-v2 .exam-proof-copy .exam-proof-key { display: flex; align-items: center; gap: 14px; padding: 0 !important; background: none !important; border: 0 !important; }
.home-v2 .exam-proof-copy .exam-proof-key kbd { flex: 0 0 auto; min-width: 72px; padding: 9px 12px; border-radius: 10px; font-size: 17px; text-align: center; }
.home-v2 .exam-proof-copy .exam-proof-key span { font-size: 15px; font-weight: 600; color: var(--v2-ink) !important; line-height: 1.4; }
.home-v2 .exam-proof-tab[aria-selected="true"] { color: #0b0f1a !important; background: var(--v2-ink) !important; box-shadow: none !important; }
@media (min-width: 1025px) {
  .home-v2 .exam-proof { grid-template-columns: 260px minmax(0, 1fr) !important; min-height: 0 !important; }
}
@media (max-width: 1024px) {
  .home-v2 .exam-proof-copy { padding: 16px !important; }
  .home-v2 .exam-proof-copy .exam-proof-keys { grid-template-columns: repeat(3, auto); justify-content: start; gap: 10px 18px; }
  .home-v2 .exam-proof-copy .exam-proof-key { gap: 8px; }
  .home-v2 .exam-proof-copy .exam-proof-key kbd { min-width: 0; padding: 6px 10px; font-size: 14px; }
  .home-v2 .exam-proof-copy .exam-proof-key span { font-size: 13px; }
}
@media (max-width: 699px) {
  .home-v2 .exam-proof-copy .exam-proof-keys { grid-template-columns: 1fr; }
  .home-v2 .v2-steps li { font-size: 14px; padding: 6px 12px 6px 6px; }
}


.home-v2 .hero .hero-context { background: none !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
  color: var(--x-ink-3) !important; font-size: 13px !important; letter-spacing: .04em !important; font-style: normal !important;
  font-family: inherit !important; margin-bottom: 18px !important; }
.home-v2 .hero .hero-context::before { display: none !important; }
.home-v2 .hero h1 { margin-bottom: 16px !important; }
.home-v2 .hero .hero-line-slogan::after { display: none !important; }
.home-v2 .hero .v2-hero-lead { margin-bottom: 16px !important; color: var(--v3-ink-2) !important; }
.home-v2 .v2-hero-points { flex-direction: row !important; flex-wrap: wrap; gap: 6px 0 !important; margin: 0 0 30px !important; }
.home-v2 .v2-hero-points li { gap: 0 !important; padding: 0; font-size: 14px !important; white-space: nowrap; background: none; border: 0; }
.home-v2 .v2-hero-points li + li::before { content: ""; width: 1px; height: 12px; margin: 0 14px; background: var(--v3-hair-2); align-self: center; }
.home-v2 .v2-hero-points strong { font-size: 14px !important; font-weight: 500 !important; color: var(--x-ink-3) !important; }
.home-v2 .v2-hero-points strong::before { content: none !important; }
.home-v2 .v2-trust { display: flex; flex-wrap: wrap; align-items: center; margin-top: 2px; }
.home-v2 .v2-trust .v2-sysreq { margin: 0 !important; font-size: 13px !important; color: var(--x-ink-4) !important; }

.home-v2 .hero .v2-refund-pill { display: inline-flex !important; align-items: center !important; gap: 8px !important; width: auto;
  margin: 18px 0 0 !important; padding: 7px 8px 7px 10px !important; min-height: 0 !important; border-radius: 999px !important;
  background: rgba(52, 211, 153, .08) !important; border: 1px solid rgba(52, 211, 153, .32) !important; box-shadow: none !important; }
.home-v2 .v2-refund-pill .hero-refund-assurance-mark { display: inline-grid !important; place-items: center; width: 18px !important; height: 18px !important;
  border-radius: 50%; font-size: 10px !important; font-weight: 900; background: rgba(52, 211, 153, .2) !important; color: #4ade9a !important; }
.home-v2 .v2-refund-pill strong { font-size: 13px !important; font-weight: 500 !important; color: #c9f2dd !important; }
.home-v2 .v2-refund-pill a { min-height: 28px !important; padding: 0 6px; font-size: 13px; color: #8fdcb6 !important;
  text-decoration: underline; text-decoration-color: rgba(143, 220, 182, .45); text-underline-offset: 3px; }
.home-v2 .v2-refund-pill a:hover { color: #c9f2dd !important; }
@media (max-width: 640px) {
  .home-v2 .v2-hero-copy > .v2-refund-pill { order: 3; justify-self: center; margin-top: 16px !important; }
  .home-v2 .v2-refund-pill strong, .home-v2 .v2-refund-pill a { font-size: 12px !important; }
}


@media (min-width: 1025px) {
  .home-v2 .hero h1 { font-size: clamp(56px, 4.6vw + 6px, 76px) !important; line-height: 1.08 !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; white-space: nowrap; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.46em !important; margin-top: 14px !important; letter-spacing: 0 !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .home-v2 .hero h1 { font-size: 60px !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; }
}
@media (max-width: 640px) {
  .home-v2 .hero h1 { font-size: clamp(40px, 9vw + 6px, 48px) !important; letter-spacing: -0.02em !important; }
  .home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; }
  .home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; }
}

.home-v2 .hero .hero-actions .btn-secondary { background: transparent !important; border: 1px solid var(--v3-hair-2) !important; color: var(--v2-ink) !important; box-shadow: none !important; }
.home-v2 .hero .hero-actions .btn-secondary:hover { border-color: rgba(255, 255, 255, .34) !important; }
@media (max-width: 640px) {
  .home-v2 .hero .hero-context { margin-bottom: 12px !important; font-size: 12px !important; }
  .home-v2 .v2-hero-points { margin-bottom: 18px !important; flex-wrap: nowrap; }
  .home-v2 .v2-hero-points li + li::before { margin: 0 10px; }
  .home-v2 .v2-hero-points strong { font-size: 13px !important; }
}


.home-v2 .v2-window { margin-bottom: 0 !important; }
.home-v2 .hero.v2-hero { padding-bottom: 32px !important; } 

.home-v2 .hero.v2-hero::before {
  -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 140px), transparent 100%) !important;
  mask-image: linear-gradient(180deg, #000 calc(100% - 140px), transparent 100%) !important;
}
.home-v2 main > section#stealth { padding-top: 40px !important; }
@media (max-width: 640px) { .home-v2 main > section#stealth { padding-top: 32px !important; } }
.home-v2 main > section { border-top: 0 !important; }
.home-v2 :is(.stealth-card-head, .v2-card, .feature-mini-card, .proof-secondary-card) h3 + p { margin-top: 8px !important; }
.home-v2 #dual-camera .v2-card h3 + p { margin-top: 6px !important; } 
.home-v2 main :is(h1, h2, h3, .hero-line) { text-wrap: balance; }
.home-v2 main :is(p, li, figcaption) { text-wrap: pretty; }
@media (max-width: 1024px) {
  .home-v2 .hero.v2-hero { padding-bottom: 24px !important; }
  
  .home-v2 .hero .container.v2-hero-grid { justify-items: center !important; }
  .home-v2 .v2-hero-copy, .home-v2 .v2-window { width: 100%; max-width: 680px; }
}
@media (max-width: 640px) { .home-v2 .hero.v2-hero { padding-bottom: 8px !important; } }


.home-v2 .hero h1 .hero-line-1,
.home-v2 main > section h2,
.home-v2 main > section h2 .title-phrase {
  background: linear-gradient(180deg, #ffffff 0%, #eef2f8 30%, #9aa6bb 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important; color: #eef1f6 !important;
  text-shadow: none !important;
}

.home-v2 .hero h1 .hero-line-1 {
  background: linear-gradient(100deg, #ffffff 0%, #f4f7ff 38%, #c9d9ff 72%, #94b4ff 100%) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.home-v2 .hero h1 .hero-line-slogan {
  -webkit-text-fill-color: #b9c2d2 !important; color: #b9c2d2 !important; font-weight: 600 !important; text-shadow: none !important;
}
.home-v2 .hero .v2-hero-lead, .home-v2 .hero .v2-hero-lead * { text-shadow: none !important; }

.home-v2 main :is(.feature-mini-card, .v2-card, .stealth-card-head, .proof-secondary-card) h3 { font-weight: 600 !important; color: #eef1f6 !important; }


.home-v2 .hero h1, .home-v2 .hero h1 .hero-line,
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase {
  font-family: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", sans-serif !important;
  font-style: normal !important;
}
.home-v2 .hero h1 .hero-line-1 { font-weight: 700 !important; letter-spacing: -0.035em !important; }

.home-v2 .hero h1 .hero-line-1 { display: inline-block !important; padding-right: .1em; margin-right: -.1em; }
@media (min-width: 1025px) {
  .home-v2 .hero h1 { font-size: clamp(52px, 4.4vw, 72px) !important; }
}
.home-v2 .hero h1 .hero-line-slogan { font-weight: 500 !important; letter-spacing: -0.01em !important; }
.home-v2 main > section h2 { font-weight: 700 !important; letter-spacing: -0.025em !important; }
.home-v2 .xm-orb { opacity: .35 !important; }
.home-v2 .xm-noise { opacity: .12 !important; }
@media (min-width: 641px) {
  .home-v2 .v2-window {
    border: 1px solid transparent !important;
    background:
      linear-gradient(#0d1019, #0d1019) padding-box,
      linear-gradient(180deg, rgba(190, 214, 255, .55) 0%, rgba(150, 182, 240, .18) 28%, rgba(150, 182, 240, .08) 100%) border-box !important;
    box-shadow:
      0 -1px 0 0 rgba(214, 228, 255, .10),
      0 0 0 1px rgba(0, 0, 0, .4),
      0 40px 100px -30px rgba(0, 0, 0, .9),
      0 0 120px -30px rgba(96, 140, 255, .32) !important;
    border-radius: 16px !important;
  }
  .home-v2 .v2-window-bar { background: rgba(255, 255, 255, .025); border-bottom-color: rgba(160, 190, 255, .10) !important; }
}
.home-v2 header .nav-cta, .home-v2 header .nav-cta * { font-family: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif !important; font-style: normal !important; letter-spacing: 0 !important; }


.home-v2 #stealth > .container > * { min-width: 0; max-width: 100%; }

.home-v2 .term-demo-legend s, .home-v2 .term-demo-legend b { font-size: 12px !important; }
.home-v2 .exam-proof-tab { font-size: 13px !important; }
@media (max-width: 699px) {
  .home-v2 .hero-slider-caption span { font-size: 12px !important; }
}


@media (min-width: 700px) and (max-width: 1024px) {
  .home-v2 .eye-faces { grid-template-columns: 1fr !important; }
}
@media (max-width: 699px) {
  
  .home-v2 .v2-details .eye-comparison.eye-faces { grid-template-columns: 1fr !important; gap: 10px !important; }
  .home-v2 .eye-faces figcaption { padding: 7px 8px; font-size: 12px; gap: 5px; }
  .home-v2 .eye-faces .eye-comparison-frame { border-radius: 10px; }
}


@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .hero.v2-hero {
    min-height: calc(100vh - 84px) !important; min-height: calc(100svh - 84px) !important;
    display: flex !important; flex-direction: column; justify-content: center;
    padding-top: 40px !important; padding-bottom: 64px !important; box-sizing: border-box;
  }
  .home-v2 .hero.v2-hero > .container { width: 100%; }
}


.home-v2 .hero h1, .home-v2 .hero h1 .hero-line,
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase {
  font-family: var(--c-display) !important;
  background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important;
  -webkit-text-fill-color: #f5f5f5 !important; color: #f5f5f5 !important;
}
.home-v2 main > section h2, .home-v2 main > section h2 .title-phrase { font-weight: 600 !important; letter-spacing: -0.01em !important; text-shadow: none !important; }
.home-v2 .hero h1 { letter-spacing: -0.015em !important; line-height: 1.02 !important; margin-bottom: 26px !important; }
.home-v2 .hero h1 .hero-line { text-shadow: 0 2px 22px rgba(8, 8, 10, .85), 0 0 60px rgba(8, 8, 10, .55) !important; }
.home-v2 .hero h1 .hero-line-1 { font-weight: 600 !important; letter-spacing: -0.015em !important; }
.home-v2 .hero h1 .hl-en { font-family: "Instrument Serif", Georgia, serif !important; font-style: italic !important; letter-spacing: -0.02em; }
.home-v2 .hero h1 .hero-line-slogan { font-size: 0.5em !important; font-weight: 700 !important; letter-spacing: -0.03em !important; margin-top: 14px !important; }
.home-v2 .hero .hero-line-slogan::after { content: "" !important; display: block !important; width: 56px; height: 3px; margin: 18px 0 0 !important;
  border-radius: 2px; background: #89aacc !important; }

.home-v2 .hero .hero-context { display: inline-flex !important; align-items: center; gap: 8px; padding: 6px 14px !important; margin-bottom: 22px !important;
  border: 1px solid #2e2e2e !important; border-radius: 999px !important; background: rgba(63, 125, 255, .10) !important;
  color: #a8c4de !important; font-size: 13px !important; letter-spacing: .01em !important; font-family: var(--c-display) !important; }
.home-v2 .hero .hero-context::before { content: "" !important; display: block !important; width: 7px; height: 7px; border-radius: 50%; background: #89aacc !important; }
.home-v2 .hero .hero-context .hc-en { font-family: "Instrument Serif", Georgia, serif; font-style: italic; }

.home-v2 .hero .v2-hero-lead { margin: 0 0 28px !important; text-shadow: none !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-detail { display: block; font-size: 15px !important; color: #a3a3a3 !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome { display: block; margin-top: 8px; font-size: 18px !important; color: #c9c9c9 !important; }
.home-v2 .hero .v2-hero-lead .hero-copy-outcome strong { color: #f5f5f5 !important; font-weight: 700; }

.home-v2 .hero .hero-actions .btn-secondary { background: #141414 !important; border: 1px solid #2e2e2e !important; color: #f5f5f5 !important; }
.home-v2 .hero .hero-actions .btn-secondary:hover { border-color: #444 !important; }
@media (max-width: 640px) {
  .home-v2 .hero .hero-context { margin-bottom: 14px !important; font-size: 12px !important; }
  .home-v2 .hero h1 { margin-bottom: 18px !important; }
  .home-v2 .hero .hero-line-slogan::after { margin-top: 12px !important; }
  .home-v2 .hero .v2-hero-lead { margin-bottom: 16px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-detail { font-size: 14px !important; }
  .home-v2 .hero .v2-hero-lead .hero-copy-outcome { font-size: 16px !important; margin-top: 4px; }
}



.home-v2 .v2-hero-platforms { display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; margin-top: 32px !important; }
.home-v2 .v2-hero-platforms .v2-hp-label { text-align: center; }
@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .hero.v2-hero { justify-content: flex-start !important; padding-bottom: 28px !important; }
  .home-v2 .hero.v2-hero > .v2-hero-grid { margin-top: auto; }
  .home-v2 .v2-hero-platforms {
    flex-direction: row; align-items: center; gap: 28px;
    max-width: 1280px !important; margin: auto auto 0 !important; padding-top: 40px !important;
  }
  .home-v2 .v2-hero-platforms .v2-hp-label { text-align: left; }
}

@media (min-width: 641px) and (min-height: 501px) {
  .home-v2 .v2-hero-platforms { width: min(1180px, calc(100vw - 400px)) !important; padding-inline: 0 !important; }
}
@media (min-width: 641px) and (max-width: 1024px) and (min-height: 501px) {
  .home-v2 .v2-hero-platforms { flex-direction: column; gap: 10px; }
  .home-v2 .v2-hero-platforms .v2-hp-label { text-align: center; }
  .home-v2 .v2-hp-marquee { width: 100%; }
}
.home-v2 .v2-hp-label { flex: none; margin: 0; font-size: 13px; letter-spacing: .02em; color: var(--v2-ink-3); white-space: nowrap; }
  .home-v2 .v2-hp-marquee {
    flex: 1; min-width: 0; display: flex; overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .home-v2 .v2-hp-track {
    flex: none; display: flex; align-items: center; gap: 36px; margin: 0; padding: 0 36px 0 0; list-style: none;
    animation: v2-hp-scroll 60s linear infinite;
  }
  .home-v2 .v2-hp-track li { display: flex; align-items: center; gap: 8px; opacity: .55; white-space: nowrap; }
  
  .home-v2 .v2-hp-track img { width: auto; height: 24px; }
  .home-v2 .v2-hp-track span { font-size: 13px; color: #e6e6e6; }
  .home-v2 .v2-hp-glyph { font-size: 15px; line-height: 1; }
@keyframes v2-hp-scroll { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .home-v2 .v2-hp-track { animation: none !important; } }


.home-v2 .v2-hero-fx { position: absolute; z-index: -1; pointer-events: none; container-type: inline-size; }
.home-v2 .v2-hero-fx i { position: absolute; display: block; }
.home-v2 .v2-hero-fx .fx-pulse {
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(214, 230, 255, .3), rgba(120, 165, 255, .1) 55%, transparent);
  animation: v2-fx-pulse 7s ease-in-out infinite alternate;
}
.home-v2 .v2-hero-fx .fx-orbit { width: 0; height: 0; animation: v2-fx-orbit-d 11s cubic-bezier(.45, .05, .35, 1) infinite; }
.home-v2 .v2-hero-fx .fx-comet {
  left: 0; top: 0; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(236, 244, 255, .8), rgba(176, 204, 255, .38) 30%, rgba(110, 160, 255, .12) 62%, transparent);
  animation: v2-fx-comet 11s linear infinite;
}
.home-v2 .v2-hero-fx .fx-aura {
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(96, 140, 255, .16), rgba(96, 140, 255, .06) 60%, transparent);
  animation: v2-fx-aura 16s ease-in-out infinite alternate;
}
@keyframes v2-fx-pulse { from { opacity: .45; transform: translate(-50%, -50%) scale(.96); } to { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }

@keyframes v2-fx-orbit-d { 0% { transform: rotate(-13deg); } 62%, 100% { transform: rotate(38deg); } }
@keyframes v2-fx-orbit-m { 0% { transform: rotate(-30deg); } 62%, 100% { transform: rotate(30deg); } }
@keyframes v2-fx-comet { 0% { opacity: 0; } 14% { opacity: .85; } 46% { opacity: .85; } 62%, 100% { opacity: 0; } }
@keyframes v2-fx-aura { from { opacity: .6; transform: translate(-58%, -50%); } to { opacity: 1; transform: translate(-42%, -50%); } }


@media (min-width: 1025px) {
  .home-v2 .v2-hero-fx { left: 1.2%; top: 50%; width: 141.6%; aspect-ratio: 16 / 9; margin-top: calc(-66.74% - 40px); }
  .home-v2 .v2-hero-fx .fx-pulse { left: 50%; top: 63.1%; width: 52cqw; height: 9cqw; }
  .home-v2 .v2-hero-fx .fx-orbit { left: 50.18%; top: 185.44%; }
  
  .home-v2 .v2-hero-fx .fx-comet { width: 18cqw; height: .7cqw; transform: translate(-50%, calc(-50% - 68.82cqw)); }
  .home-v2 .v2-hero-fx .fx-aura { left: 62%; top: 52%; width: 70cqw; height: 16cqw; }
}

@media (max-width: 1024px) {
  .home-v2 .v2-hero-fx { grid-column: 1; grid-row: 2; left: 0; right: 0; top: 0; bottom: 0; }
  .home-v2 .v2-hero-fx .fx-orbit { animation-name: v2-fx-orbit-m; }
  .home-v2 .v2-hero-fx .fx-pulse { left: 50%; top: 0; width: 120cqw; height: 26cqw; }
  .home-v2 .v2-hero-fx .fx-orbit { left: 50%; top: 88cqw; }
  .home-v2 .v2-hero-fx .fx-comet { width: 34cqw; height: 1.3cqw; transform: translate(-50%, calc(-50% - 91cqw)); }
  .home-v2 .v2-hero-fx .fx-aura { left: 50%; top: 4cqw; width: 150cqw; height: 34cqw; }
}

@media (max-width: 640px) {
  .home-v2 .v2-hero-fx { grid-row: 5; }
}

@media (max-height: 500px) and (min-width: 641px) {
  .home-v2 .v2-hero-fx { grid-column: 2; grid-row: 1; }
}
.home-v2 .hero.fx-off .v2-hero-fx i { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  .home-v2 .v2-hero-fx i { animation: none !important; }
  .home-v2 .v2-hero-fx .fx-pulse { transform: translate(-50%, -50%); opacity: .8; }
  .home-v2 .v2-hero-fx .fx-aura { transform: translate(-50%, -50%); }
  .home-v2 .v2-hero-fx .fx-orbit { display: none; }
}


.home-v2 .stealth-method-visual { aspect-ratio: 16 / 10 !important; max-height: none !important; }
.home-v2 .stealth-method-visual img { object-position: center !important; }
.home-v2 #stealth .stealth-methods .stealth-card-head { min-height: 0 !important; margin-bottom: 4px !important; padding-bottom: 12px !important; }
.home-v2 #stealth .stealth-methods .stealth-method-visual { margin-top: 0 !important; }

@media (min-width: 1025px) {
  .home-v2 #stealth .stealth-methods, .home-v2 #stealth .stealth-note { max-width: 1000px; margin-inline: auto !important; }
}

@media (min-width: 700px) {
  .home-v2 #stealth .stealth-methods .stealth-card-head > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; }
  .home-v2 #stealth .stealth-methods .stealth-card-head .method-tag { grid-column: 1; margin: 0 !important; }
  .home-v2 #stealth .stealth-methods .stealth-card-head h3 { grid-column: 2; margin: 0 !important; }
  .home-v2 #stealth .stealth-methods .stealth-card-head p { grid-column: 1 / -1; }
}



.home-v2 main > section#capability-proof { border-top: 1px solid var(--v2-line-soft) !important; }
.home-v2 #capability-proof .v2-split { align-items: start; }
.home-v2 #capability-proof .v2-split-copy { padding-top: 8px; }
.home-v2 .v2-steps { flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 4px; }
.home-v2 .v2-steps li { position: relative; gap: 12px; }
.home-v2 .v2-steps li + li::before { content: ""; position: absolute; left: 11px; top: -14px; width: 1px; height: 14px; margin: 0; background: var(--v3-hair-2); }
.home-v2 .v2-steps b { flex: 0 0 auto; background: var(--v3-chip); }
.home-v2 #capability-proof .v2-inline-cta { margin-top: 24px; }

@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
}

@media (min-width: 1025px) { .home-v2 #dual-camera .v2-note { text-align: left; } }
.home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: auto 1fr !important; grid-template-rows: auto auto 1fr !important; column-gap: 8px !important; row-gap: 0 !important; align-items: baseline !important; padding: 10px 10px 16px !important; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-pic { grid-column: 1 / -1; grid-row: 1; width: 100% !important; margin: 0 0 14px; align-self: stretch; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { grid-column: 1; grid-row: 2; margin: 0 0 0 6px !important; }
.home-v2 #dual-camera .v2-card-visual > h3 { grid-column: 2; grid-row: 2; margin: 0 6px 0 0 !important; }
.home-v2 #dual-camera .v2-card-visual > p { grid-column: 1 / -1; grid-row: 3; margin: 6px 6px 0 !important; }
.home-v2 #dual-camera .v2-card-listen svg { width: 44px; height: 44px; }
.home-v2 #dual-camera .v2-card-listen .v2-listen-wave { display: flex !important; height: 20px; }
.home-v2 #dual-camera .v2-card-listen .v2-listen-wave i { max-height: 20px; }
.home-v2 #dual-camera .v2-card-listen span { display: block !important; margin-top: 4px; font-size: 12px; color: #aab5c8; }

.home-v2 .v2-zoom { position: relative; padding: 0; font: inherit; color: inherit; cursor: zoom-in; }
.home-v2 .v2-zoom:is(.v2-card-pic, .stealth-method-visual) img { transition: transform .3s ease; }
.home-v2 .v2-zoom:is(.v2-card-pic, .stealth-method-visual):hover img { transform: scale(1.03); }

.home-v2 .stealth-method-visual.v2-zoom { display: block; }
.home-v2 .stealth-method-visual.v2-zoom .v2-zoom-hint { z-index: 1; right: 12px; bottom: 12px; }
.home-v2 .exam-shot-wrap { position: relative; display: block; border-radius: 14px; }

.home-v2 .exam-proof-panel:has(> .exam-shot-wrap) { display: block; min-height: 0; padding: 0; }
.home-v2 .exam-proof-panel[hidden] { display: none; }

.home-v2 .eye-comparison-frame.v2-zoom { position: relative; }
.home-v2 .eye-comparison-frame.v2-zoom .v2-zoom-hint { top: 8px; bottom: auto; }
.home-v2 .v2-zoom .v2-zoom-hint { z-index: 2; } 
.home-v2 .v2-lightbox img[src*="eye-compare"] { max-width: min(1040px, 96vw); }
.home-v2 .exam-shot-wrap .v2-zoom-hint { right: 12px; bottom: 12px; }
@media (max-width: 699px) {
  .home-v2 .exam-shot-wrap { width: min(100%, 220px); margin: 0 auto; }
  .home-v2 .exam-shot-wrap .exam-shot img { width: 100% !important; }
}
.home-v2 .v2-zoom:focus-visible { outline: 2px solid #9db8ff; outline-offset: 2px; }
/* Mock interview recording: the whole clip opens a separately captured full-size main window */
.home-v2 .v2-media-zoom { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; border-radius: inherit; background: transparent; }
.home-v2 .v2-media-zoom:focus-visible { outline-offset: -2px; }
.home-v2 .v2-media .v2-media-zoom .v2-zoom-hint { right: 12px; bottom: 12px; }
.home-v2 .v2-zoom-hint { position: absolute; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 999px;
  font-size: 12px; line-height: 1; color: #fff; background: rgba(8, 12, 20, .72); border: 1px solid rgba(255, 255, 255, .16); pointer-events: none; }
.home-v2 .v2-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(5, 8, 14, .9); cursor: zoom-out; }
.home-v2 .v2-lightbox[hidden] { display: none; }
.home-v2 .v2-lightbox img { max-width: min(1536px, 96vw); max-height: 88vh; width: auto; height: auto; border-radius: 12px; box-shadow: 0 24px 80px rgba(0, 0, 0, .6); cursor: default; }
.home-v2 .v2-lightbox-close { position: absolute; top: 16px; right: 18px; width: 44px; height: 44px; border: 0; border-radius: 50%; color: #fff; background: rgba(255, 255, 255, .16); font-size: 26px; line-height: 1; cursor: pointer; }
.home-v2 .v2-lightbox-close:focus-visible { outline: 2px solid #9db8ff; outline-offset: 2px; }
html.v2-lightbox-open { overflow: hidden; }
@media (max-width: 699px) {
  .home-v2 #dual-camera .v2-cards { display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory; gap: 10px !important; margin: 16px -20px 0 !important; padding: 0 20px 4px !important; scrollbar-width: none; }
  .home-v2 #dual-camera .v2-cards::-webkit-scrollbar { display: none; }
  .home-v2 #dual-camera .v2-cards > .v2-card { flex: 0 0 80%; scroll-snap-align: center; }
  .home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-columns: auto 1fr !important; padding: 8px 8px 14px !important; }
  .home-v2 #dual-camera .v2-card-visual > h3 { margin-left: 0 !important; }
  .home-v2 .v2-lightbox { padding: 12px; }
  .home-v2 .v2-lightbox img { max-width: 100%; }
}

@media (max-width: 699px) {
  .home-v2 .v2-steps { gap: 10px; }
  .home-v2 .v2-steps li { padding: 0 !important; gap: 10px; }
  .home-v2 .v2-steps li + li::before { top: -10px; height: 10px; }
  .home-v2 #capability-proof .v2-split-copy { padding-top: 0; }
}

/* 10-04 笔试题型：从截图顶上的「工具栏式」标签条，挪到左栏做竖排选择列表。
   每行 = 题型名 + 对应快捷键；未选中灰字、选中亮底 + 左侧白色指示线；轮播时选中行底部走 7 秒进度线。
   平板/手机：横排按钮（手机 3+2 两行）。只用黑白灰 + 一点品牌蓝，不加新颜色。 */
.home-v2 .exam-proof .exam-proof-copy { justify-content: center; gap: 0 !important; padding: 28px 22px !important; }
.home-v2 .exam-type-label { margin: 0 0 12px 12px; color: var(--x-ink-4); font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.home-v2 .exam-proof .exam-proof-tabs { display: flex !important; flex-direction: column; flex-wrap: nowrap !important; gap: 4px; overflow: visible;
  margin: 0; padding: 0; border: 0 !important; border-radius: 0; background: none !important; }
.home-v2 .exam-proof .exam-proof-tab { position: relative; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; min-height: 48px; padding: 0 14px 0 16px; overflow: hidden; border: 1px solid transparent !important; border-radius: 10px;
  color: var(--x-ink-3) !important; background: transparent !important; box-shadow: none !important; font-size: 15px !important; font-weight: 600; text-align: left;
  cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.home-v2 .exam-proof .exam-proof-tab::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px; border-radius: 2px; background: var(--v2-ink); opacity: 0; transition: opacity .18s ease; }
.home-v2 .exam-proof .exam-proof-tab:hover { color: var(--v2-ink) !important; background: rgba(255, 255, 255, .04) !important; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] { color: var(--v2-ink) !important; background: rgba(255, 255, 255, .075) !important; border-color: var(--v3-hair-2) !important; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"]::before { opacity: 1; }
.home-v2 .exam-proof .exam-proof-tab:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }
.home-v2 .exam-proof .exam-proof-tab kbd { flex: 0 0 auto; min-width: 34px; padding: 3px 7px; border-radius: 6px; border: 1px solid var(--v3-hair);
  color: var(--x-ink-4); background: rgba(255, 255, 255, .03); font: 600 12px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; text-align: center; }
.home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] kbd { color: var(--v2-ink); border-color: var(--v3-hair-2); background: rgba(255, 255, 255, .08); }
.home-v2 .exam-tab-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--v2-accent); opacity: 0; transform: scaleX(0); transform-origin: left center; }
.home-v2 .exam-proof-tabs.is-rotating .exam-proof-tab[aria-selected="true"] .exam-tab-bar { opacity: .7; animation: exam-tab-progress 7s linear forwards; }
@keyframes exam-tab-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.home-v2 .exam-proof-more { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding: 14px 0 0 12px; border-top: 1px solid var(--v3-hair);
  color: var(--x-ink-3); font-size: 13.5px; line-height: 1.45; }
.home-v2 .exam-proof-more kbd { flex: 0 0 auto; padding: 3px 7px; border-radius: 6px; border: 1px solid var(--v3-hair-2); color: var(--v2-ink);
  background: rgba(255, 255, 255, .05); font: 600 12px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; }
@media (prefers-reduced-motion: reduce) { .home-v2 .exam-tab-bar { display: none; } }
@media (max-width: 1024px) {
  .home-v2 .exam-proof .exam-proof-copy { padding: 18px 16px 16px !important; }
  .home-v2 .exam-type-label { margin: 0 0 10px; }
  .home-v2 .exam-proof .exam-proof-tabs { flex-direction: row; flex-wrap: wrap !important; gap: 8px; }
  .home-v2 .exam-proof .exam-proof-tab { flex: 1 1 0 !important; width: auto; min-width: 0; min-height: 46px; justify-content: center; gap: 8px;
    padding: 0 12px; border-color: var(--v3-hair) !important; background: rgba(255, 255, 255, .025) !important; font-size: 14px !important; white-space: nowrap; }
  .home-v2 .exam-proof .exam-proof-tab::before { display: none; }
  .home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] { color: #0b0f1a !important; background: var(--v2-ink) !important; border-color: var(--v2-ink) !important; }
  .home-v2 .exam-proof .exam-proof-tab[aria-selected="true"] kbd { color: #0b0f1a; border-color: rgba(11, 15, 26, .22); background: rgba(11, 15, 26, .06); }
  .home-v2 .exam-tab-bar { background: #0b0f1a; }
  .home-v2 .exam-proof-more { margin-top: 12px; padding: 12px 0 0; }
}
@media (max-width: 699px) {
  .home-v2 .exam-proof .exam-proof-tabs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
  .home-v2 .exam-proof .exam-proof-tab { grid-column: span 2 !important; padding: 0 4px; font-size: 13px !important; gap: 4px; letter-spacing: 0; }
  .home-v2 .exam-proof .exam-proof-tab:nth-child(n + 4) { grid-column: span 3 !important; }
  .home-v2 .exam-proof .exam-proof-tab kbd { min-width: 0; padding: 2px 4px; font-size: 10.5px; }
}
@media (max-width: 359px) {
  .home-v2 .exam-proof .exam-proof-tab kbd { display: none; }
}
/* 窄屏：题型按钮只写题型名；键位挪到按钮下面一行 */
.home-v2 .exam-proof-keyline { display: none; }
@media (max-width: 1024px) {
  .home-v2 .exam-proof .exam-proof-tab kbd, .home-v2 .exam-proof-more { display: none !important; }
  .home-v2 .exam-proof-keyline { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; color: var(--x-ink-3); font-size: 13px; line-height: 1.5; }
  .home-v2 .exam-proof-keyline span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
  .home-v2 .exam-proof-keyline kbd { padding: 2px 6px; border-radius: 5px; border: 1px solid var(--v3-hair-2); color: var(--v2-ink);
    background: rgba(255, 255, 255, .05); font: 600 11.5px/1.2 ui-monospace, "SF Mono", Consolas, monospace; font-style: normal; }
}
/* English labels are longer ("Multiple choice"): phones use 2 columns (2 + 2 + 1) instead of 3 + 2 */
@media (max-width: 699px) {
  .home-v2 .exam-proof .exam-proof-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .home-v2 .exam-proof .exam-proof-tab, .home-v2 .exam-proof .exam-proof-tab:nth-child(n + 4) { grid-column: auto !important; }
  .home-v2 .exam-proof .exam-proof-tab:last-child { grid-column: 1 / -1 !important; }
}

/* ── 10-05 模拟面试 / 双机位 / 术语 / 眼神：去挤、去重复（用户：太挤、说明看不懂、听得准和看得自然放一起不合适）──
   模拟面试：三步改成和手撕算法同款竖排步骤（每步一行），不再是带框卡片里两行小字。
   双机位：去掉右侧竖屏录屏，标题居中，三张卡铺满整行。
   术语识别、眼神修正：拆成两节，各自 左文右图 / 左图右文。 */
.home-v2 #mock-interview .v2-steps { margin: 4px 0 28px; }
.home-v2 #mock-interview .mock-interview-intro { margin-bottom: 22px !important; }
@media (max-width: 699px) {
  .home-v2 #mock-interview .v2-split { display: grid !important; grid-template-columns: 1fr !important; row-gap: 18px !important; }
  .home-v2 #mock-interview .mock-interview-layout { display: block !important; }
  .home-v2 #mock-interview figure.v2-media { grid-column: auto; grid-row: auto; width: 100% !important; max-width: 360px !important; margin: 0 auto !important; }
  .home-v2 #mock-interview .v2-steps { margin-bottom: 18px; }
}

.home-v2 #dual-camera > .container { display: block !important; }
.home-v2 #dual-camera .v2-dual-head { max-width: 760px; margin: 0 auto !important; text-align: center; }
.home-v2 #dual-camera .v2-dual-head .v2-lead { margin: 12px auto 0; }
.home-v2 #dual-camera .v2-cards { max-width: 1080px; margin: 36px auto 0 !important; grid-column: auto; grid-row: auto; }
.home-v2 #dual-camera .v2-note { max-width: 1080px; margin: 18px auto 0 !important; text-align: center !important; color: var(--x-ink-4); font-size: 13px; }
.home-v2 #dual-camera .v2-section-cta { justify-content: center !important; margin-top: 20px !important; }
@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
  .home-v2 #dual-camera .v2-card.v2-card-visual { padding: 12px 12px 18px !important; }
  .home-v2 #dual-camera .v2-card-visual > p { margin: 8px 6px 0 !important; font-size: 14.5px !important; color: var(--x-ink-3); }
}

.home-v2 .v2-term .v2-split { grid-template-columns: 5fr 7fr; align-items: center; }
.home-v2 .v2-term .term-demo { margin: 0; padding: 22px 24px 20px; }
.home-v2 .v2-term .term-demo-line { font-size: 17px; line-height: 2.2; }
.home-v2 #eye-contact .v2-split { grid-template-columns: 7fr 5fr; align-items: center; }
.home-v2 #eye-contact .eye-comparison.eye-faces { grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin: 0; }
.home-v2 #eye-contact .eye-faces figcaption { font-size: 14px; padding: 10px 12px; }
@media (max-width: 1024px) {
  .home-v2 .v2-term .v2-split, .home-v2 #eye-contact .v2-split { grid-template-columns: 1fr !important; gap: 22px !important; }
}
@media (max-width: 699px) {
  .home-v2 .v2-term .term-demo { padding: 16px 16px 14px; }
  .home-v2 .v2-term .term-demo-line { font-size: 15px; line-height: 2.1; }
  .home-v2 #eye-contact .eye-comparison.eye-faces { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .home-v2 #eye-contact .eye-faces figcaption { font-size: 12px; padding: 7px 8px; }
}
@media (min-width: 1025px) {
  .home-v2 #eye-contact .eye-comparison { order: -1; }   /* 桌面：图在左、文在右，和上一节术语识别左右交替 */
}
@media (max-width: 1024px) {
  .home-v2 #eye-contact .eye-comparison { order: 1; }    /* 窄屏：先文字后图 */
}
/* English titles: .title-phrase is inline-block (keeps a phrase on one line), which drops the trailing space between
   phrases ("Stay steadyin live coding"). Add the word gap back as a margin. */
.home-v2 .title-phrase:not(:last-child) { margin-right: .26em; }   /* right margin: invisible at a line end, so a wrapped second line is not indented */
/* Platform strip: monochrome brand marks (Simple Icons, CC0) + name, same quiet treatment as the domestic logo strip.
   Apps with no public mono mark (Teams, CoderPad, Codility) stay as text. */
.home-v2 .v2-hp-track .v2-hp-ico { flex: none; width: 18px; height: 18px; color: #e6e6e6; }

/* Second camera, two groups: interviews (option A or B) | online tests (earbuds). Desktop/tablet: one row, three equal cards; phone: stacked, interview cards scroll sideways. */
/* 每组一块浅底面板，组名在面板顶上：一眼看出是「面试一组、笔试一组」，不是并排三步。
   列宽算过：两块面板内边距 16px、边框 1px、面试组内两卡间距 16px、组间距 20px 时，笔试列 = (总宽 - 2px) / 3，三张卡正好一样宽 */
.home-v2 #dual-camera .v2-dual-groups { display: grid; grid-template-columns: minmax(0, 1fr) calc((100% - 2px) / 3); gap: 20px; max-width: 1080px; margin: 36px auto 0; }
.home-v2 #dual-camera .v2-dual-group { min-width: 0; padding: 16px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 20px; background: rgba(255, 255, 255, .02); }
.home-v2 #dual-camera .v2-group-head { display: flex; align-items: baseline; gap: 12px; margin: 2px 4px 16px; font-size: 14px; color: var(--x-ink-4); }
.home-v2 #dual-camera .v2-group-head b { color: var(--v2-ink, #fff); font-size: 20px; font-weight: 600; letter-spacing: .02em; }
.home-v2 #dual-camera .v2-dual-groups .v2-cards { max-width: none; margin: 0 !important; }
.home-v2 #dual-camera .v2-card.v2-card-visual { grid-template-rows: auto auto auto 1fr !important; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-num { white-space: nowrap; }
.home-v2 #dual-camera .v2-card-visual > .v2-card-fit { grid-column: 1 / -1; grid-row: 4; align-self: end; margin: 12px 6px 0; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13px; color: var(--x-ink-4); }
@media (min-width: 700px) {
  .home-v2 #dual-camera .v2-dual-group-interview .v2-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .home-v2 #dual-camera .v2-dual-group-exam .v2-cards { grid-template-columns: minmax(0, 1fr) !important; }
  .home-v2 #dual-camera .v2-dual-group { display: flex; flex-direction: column; }
  .home-v2 #dual-camera .v2-dual-group .v2-cards { flex: 1; }
  .home-v2 #dual-camera .v2-dual-group .v2-card { height: 100%; }
}
@media (max-width: 699px) {
  .home-v2 #dual-camera .v2-dual-groups { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  .home-v2 #dual-camera .v2-dual-group { padding: 14px; border-radius: 16px; overflow: hidden; }
  .home-v2 #dual-camera .v2-group-head { margin: 0 0 12px; }
  .home-v2 #dual-camera .v2-group-head b { font-size: 18px; }
  /* 面试组两张卡在面板里横滑，滑到面板边缘就截住 */
  .home-v2 #dual-camera .v2-dual-group-interview .v2-cards { margin: 0 -14px !important; padding: 0 14px 2px !important; scroll-padding: 0 14px; }
  .home-v2 #dual-camera .v2-dual-group-exam .v2-cards { display: block !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
}
@media (min-width: 700px) and (max-width: 1024px) {
  /* tablet: group name and hint on two lines in both groups, so the narrow exam group never wraps alone and all three cards stay the same height */
  .home-v2 #dual-camera .v2-group-head { flex-direction: column; gap: 2px; }
}

/* 10-05 all-features: one screen listing every feature in four groups (before / during / tests / private).
   Restrained: grey panels, white group titles, a small blue tick per item; the only accent is the brand blue. */
.home-v2 #all-features .v2-all-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 1080px; margin: 36px auto 0; }
.home-v2 #all-features .v2-all-col { padding: 22px 22px 18px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 18px; background: rgba(255, 255, 255, .025); }
.home-v2 #all-features .v2-all-col h3 { margin: 0 0 14px; font-size: 17px; font-weight: 600; color: var(--v2-ink, #fff); }
.home-v2 #all-features .v2-all-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.home-v2 #all-features .v2-all-col li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.5; color: var(--x-ink-3, #b3bccc); }
.home-v2 #all-features .v2-all-col li::before { content: ""; position: absolute; left: 2px; top: .42em; width: 10px; height: 6px; border-left: 2px solid #8fb4ff; border-bottom: 2px solid #8fb4ff; transform: rotate(-45deg); }
.home-v2 #all-features .v2-all-foot { margin: 22px auto 0; text-align: center; font-size: 14px; color: var(--x-ink-4, #a3acbf); }
@media (max-width: 1024px) {
  .home-v2 #all-features .v2-all-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  .home-v2 #all-features .v2-all-grid { gap: 10px; margin-top: 24px; }
  .home-v2 #all-features .v2-all-col { padding: 14px 10px 12px 12px; border-radius: 14px; }
  .home-v2 #all-features .v2-all-col h3 { font-size: 16px; margin-bottom: 10px; }
  .home-v2 #all-features .v2-all-col ul { gap: 8px; }
  .home-v2 #all-features .v2-all-col li { padding-left: 16px; font-size: 13px; letter-spacing: -.005em; }
  .home-v2 #all-features .v2-all-col li::before { left: 0; width: 8px; height: 5px; }
}

/* 10-07 hero tag: three capability words instead of "platform · scenario". Same pill, no new colour. */
.home-v2 .hero .hero-context i { font-style: normal; color: var(--v2-ink-3, #a3adbd); opacity: .7; }
.home-v2 .hero .hero-context span { font-style: normal !important; font-family: inherit !important; }
@media (max-width: 359px) { .home-v2 .hero .hero-context { gap: 6px !important; padding: 6px 11px !important; font-size: 11.5px !important; white-space: nowrap; } }

/* 10-09 "why" redone: a two-column list of questions to ask; the first two (your experience / speed) are enlarged in brand blue; one column on phones */
.home-v2 #why .v2-why-list { max-width: 920px; margin: 28px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-v2 #why .v2-why-item { margin: 0; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px; background: rgba(255, 255, 255, .02); }
.home-v2 #why .v2-why-item dt { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-why-item dd { margin: 6px 0 0; font-size: 15px; line-height: 1.6; color: var(--v2-ink, #f2f4f8); }
.home-v2 #why .v2-why-item.is-key { padding: 22px 24px; border-color: rgba(110, 160, 255, .28); background: rgba(110, 160, 255, .06); }
.home-v2 #why .v2-why-item.is-key dt { font-size: 19px; font-weight: 600; color: var(--v2-ink, #f2f4f8); }
.home-v2 #why .v2-why-item.is-key dd { font-size: 16px; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-why-item dd a { display: inline-block; margin-top: 4px; font-weight: 600; white-space: nowrap; color: var(--v2-accent, #8fb4ff); }
.home-v2 #why .v2-why-src { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: var(--v2-ink-3, #a3adbd); }
.home-v2 #why .v2-why-foot { margin: 22px auto 0; max-width: 920px; text-align: center; font-size: 15px; line-height: 1.7; color: var(--v2-ink-2, #c3cad6); }
.home-v2 #why .v2-section-cta { margin-top: 20px; }

@media (max-width: 640px) {
  .home-v2 #why .v2-why-list { grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .home-v2 #why .v2-why-item { padding: 12px 16px; border-radius: 14px; }
  .home-v2 #why .v2-why-item.is-key { padding: 16px 18px; }
  .home-v2 #why .v2-why-item.is-key dt { font-size: 17px; }
  .home-v2 #why .v2-why-item dd, .home-v2 #why .v2-why-item.is-key dd { font-size: 14.5px; }
  .home-v2 #why .v2-why-foot { font-size: 14px; text-align: left; }
}


/* -- 10-09 #materials; 10-11 trimmed: left "Resume / Job post / Project notes -> CalmRound -> Answer" flow, right before/after card (HTML text, not an image) -- */
.home-v2 #materials .v2-split { align-items: center; }
.home-v2 #materials .v2-split > * { min-width: 0; }
.home-v2 .v2-mat-flow { list-style: none; margin: 26px 0 8px; padding: 0; display: flex; align-items: center; }
.home-v2 .v2-mat-flow > li + li::before { content: "→"; margin: 0 14px; color: var(--x-ink-4, #6b7385); font-family: system-ui, sans-serif; font-size: 18px; }
.home-v2 .v2-mat-flow > li { display: flex; align-items: center; }
.home-v2 .v2-mat-files { flex-direction: column; align-items: stretch !important; gap: 6px; }
.home-v2 .v2-mat-file, .home-v2 .v2-mat-node { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; border-radius: 10px; }
.home-v2 .v2-mat-file { padding: 6px 12px 6px 9px; font-size: 14px; color: var(--v2-ink-2, #c3cad6); border: 1px solid var(--v2-line, rgba(255, 255, 255, .1)); background: rgba(255, 255, 255, .03); }
.home-v2 .v2-mat-node { padding: 10px 16px 10px 13px; font-size: 16px; font-weight: 600; color: var(--v2-ink, #f2f4f8); border: 1px solid var(--v2-line, rgba(255, 255, 255, .12)); background: rgba(255, 255, 255, .04); }
.home-v2 .v2-mat-node.is-app { color: #a9c6ff; border-color: rgba(110, 160, 255, .38); background: rgba(110, 160, 255, .08); }
.home-v2 .v2-mat-flow svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
.home-v2 .v2-mat-node svg { width: 18px; height: 18px; }
.home-v2 .v2-mat-file svg { color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-keys { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; font-size: 12.5px; line-height: 1.6; color: #8fb4ff; }
.home-v2 .v2-mat-keys li + li::before { content: "·"; margin: 0 8px; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-compare { margin: 0; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; border: 1px solid var(--v2-line, rgba(255, 255, 255, .1)); border-radius: 20px; background: var(--v2-card, rgba(255, 255, 255, .03)); }
.home-v2 .v2-mat-q { display: grid; gap: 4px; margin: 0 0 2px; }
.home-v2 .v2-mat-q span { font-size: 13px; letter-spacing: .02em; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-q strong { font-size: 18px; font-weight: 600; color: var(--v2-ink, #f2f4f8); }
.home-v2 .v2-mat-ans { padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .06); border-radius: 14px; }
.home-v2 .v2-mat-ans p { margin: 6px 0 0; font-size: 15px; line-height: 1.75; }
.home-v2 .v2-mat-ans.is-before { background: rgba(255, 255, 255, .02); display: flex; align-items: baseline; gap: 10px; }
.home-v2 .v2-mat-ans.is-before .v2-mat-tag { flex: none; }
.home-v2 .v2-mat-ans.is-before p { margin: 0; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-ans.is-after { background: rgba(110, 160, 255, .07); border-color: rgba(110, 160, 255, .32); }
.home-v2 .v2-mat-ans.is-after p { color: var(--v2-ink, #f2f4f8); }
.home-v2 .v2-mat-ans.is-after b { font-weight: 600; color: #a9c6ff; }
.home-v2 .v2-mat-tag { font-size: 12.5px; font-weight: 600; letter-spacing: .04em; color: var(--v2-ink-3, #a3adbd); }
.home-v2 .v2-mat-ans.is-after .v2-mat-tag { color: #8fb4ff; }
.home-v2 .v2-mat-note { margin: 2px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--v2-ink-3, #a3adbd); }
@media (max-width: 640px) {
  .home-v2 .v2-mat-compare { padding: 16px; border-radius: 16px; }
  .home-v2 .v2-mat-q strong { font-size: 16px; }
  .home-v2 .v2-mat-ans { padding: 12px 14px; }
  .home-v2 .v2-mat-ans p { font-size: 14.5px; }
  .home-v2 .v2-mat-flow { margin: 18px 0 4px; }
  .home-v2 .v2-mat-flow > li + li::before { margin: 0 8px; font-size: 16px; }
  .home-v2 .v2-mat-file { padding: 5px 9px 5px 7px; font-size: 13px; gap: 5px; }
  .home-v2 .v2-mat-node { padding: 8px 11px 8px 9px; font-size: 15px; gap: 5px; }
}
/* English labels are wider than Chinese: on phones the files take their own row, then "↓ CalmRound → Answer" */
@media (max-width: 480px) {
  .home-v2 .v2-mat-flow { flex-wrap: wrap; row-gap: 10px; }
  .home-v2 .v2-mat-files { flex: 0 0 100%; flex-direction: row !important; flex-wrap: wrap; }
  .home-v2 .v2-mat-flow > li:nth-child(2)::before { content: "↓"; margin-left: 2px; }
}
@media (max-width: 360px) {
  .home-v2 .v2-mat-flow > li + li::before { margin: 0 5px; }
  .home-v2 .v2-mat-file { padding: 4px 7px 4px 6px; gap: 4px; }
  .home-v2 .v2-mat-file svg { width: 14px; height: 14px; }
  .home-v2 .v2-mat-node { padding: 7px 8px 7px 7px; font-size: 14px; gap: 4px; }
  .home-v2 .v2-mat-node svg { width: 15px; height: 15px; }
  .home-v2 .v2-mat-keys { font-size: 12px; }
  .home-v2 .v2-mat-keys li + li::before { margin: 0 5px; }
}
/* 10-09 mobile length: compact #why list (the 2 key items keep cards) + clamp the "before" answer to 3 lines */
@media (max-width: 640px) {
  .home-v2 #why .v2-why-list { gap: 0; }
  .home-v2 #why .v2-why-item.is-key { margin-bottom: 10px; }
  .home-v2 #why .v2-why-item:not(.is-key) { padding: 10px 2px; border: 0; border-top: 1px solid rgba(255, 255, 255, .08); border-radius: 0; background: none; }
  .home-v2 #why .v2-why-item:not(.is-key) dd { margin-top: 2px; }
  .home-v2 #why .v2-why-src { text-wrap: balance; }
}

/* ── 10-21 Multilingual #multilingual: nine language pills, English/Japanese highlighted (= domestic) ── */
.home-v2 #multilingual .v2-lang-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  max-width: 1100px;
  margin: 26px auto 0;
}
.home-v2 #multilingual .v2-lang-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .025);
  font-size: 13.5px;
  line-height: 1;
  color: var(--x-ink-2, #c3cad6);
  white-space: nowrap;
}
.home-v2 #multilingual .v2-lang-pill b {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 10.5px;
  letter-spacing: .08em;
  color: #8fb4ff;
}
.home-v2 #multilingual .v2-lang-pill.is-primary {
  border-color: rgba(110, 160, 255, .36);
  background: rgba(110, 160, 255, .09);
  color: #fff;
}
.home-v2 #multilingual .v2-lang-note {
  margin: 18px auto 0;
  max-width: 860px;
  text-align: center;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--x-ink-3, #a3adbd);
}
.home-v2 #multilingual .v2-lang-note a {
  color: #8fb4ff;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .home-v2 #multilingual .v2-lang-strip { gap: 7px; margin-top: 20px; }
  .home-v2 #multilingual .v2-lang-pill { padding: 7px 10px; font-size: 12.5px; gap: 5px; }
  .home-v2 #multilingual .v2-lang-note { font-size: 13.5px; }
}
