.home-v2 {
  --hv2-ink: #172033;
  --hv2-muted: #5f6b7a;
  --hv2-blue: #2457e6;
  --hv2-blue-dark: #173a9e;
  --hv2-blue-soft: #eaf1ff;
  --hv2-sky: #f4f8ff;
  --hv2-orange: #f26a2e;
  --hv2-line: #dce5f2;
  --hv2-white: #fff;
  --content: 1280px;
  color: var(--hv2-ink);
  background: var(--hv2-white);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.home-v2 .container { width: min(calc(100% - 64px), var(--content)); }
.home-v2 .site-header { color: var(--hv2-ink); background: rgba(255,255,255,.9); border-bottom: 1px solid rgba(220,229,242,.8); backdrop-filter: blur(18px); }
.home-v2 .site-header.scrolled { color: var(--hv2-ink); background: rgba(255,255,255,.97); box-shadow: 0 10px 30px rgba(23,32,51,.07); }
.home-v2 .header-inner { min-height: 72px; }
.home-v2 .brand-mark { width: 40px; height: 40px; color: #fff; background: linear-gradient(135deg, var(--hv2-blue), #6a67f5); border-radius: 3px; }
.home-v2 .brand-copy strong { color: var(--hv2-ink); letter-spacing: .08em; }
.home-v2 .brand-copy small { color: #7c8797; }
.home-v2 .site-nav { gap: 26px; color: #344156; font-size: 14px; }
.home-v2 .site-nav > a::after { content: ""; position: absolute; left: 0; bottom: 7px; width: 100%; height: 1px; background: var(--hv2-blue); transform: scaleX(0); transform-origin: right; transition: transform .22s ease; }
.home-v2 .nav-cta { padding: 0; color: inherit; background: transparent; border: 0; border-radius: 0; }
.home-v2 .nav-cta:hover { color: var(--hv2-blue); background: transparent; }
.home-v2 .menu-button span { background: var(--hv2-ink); }
.home-v2 .button { min-height: 50px; border-radius: 3px; }
.home-v2 .button-primary { color: #fff; background: linear-gradient(90deg, var(--hv2-blue), #6667f3); box-shadow: 0 10px 24px rgba(36,87,230,.18); }
.home-v2 .button-primary:hover { background: linear-gradient(90deg, var(--hv2-blue-dark), #5557d9); }
.home-v2 .button-outline { color: var(--hv2-ink); background: rgba(255,255,255,.7); border: 1px solid #bfcbe0; }
.home-v2 .button-outline:hover { border-color: var(--hv2-blue); color: var(--hv2-blue); }

.hv2-hero { position: relative; min-height: 760px; padding: 150px 0 92px; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #f5f8ff 52%, #e9f1ff 100%); }
.hv2-hero::before { content: ""; position: absolute; width: 640px; height: 640px; right: -140px; top: -170px; border-radius: 50%; background: radial-gradient(circle, rgba(102,103,243,.14), rgba(36,87,230,0) 68%); }
.hv2-hero::after { content: ""; position: absolute; width: 400px; height: 400px; left: 35%; bottom: -300px; border-radius: 50%; background: rgba(36,87,230,.06); filter: blur(20px); }
.hv2-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .98fr; gap: 78px; align-items: center; }
.hv2-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--hv2-blue); font-size: 13px; font-weight: 700; letter-spacing: .13em; }
.hv2-kicker::before { content: ""; width: 30px; height: 2px; background: var(--hv2-blue); }
.hv2-hero h1 { max-width: 760px; margin: 26px 0 24px; color: var(--hv2-ink); font-size: clamp(52px, 5.4vw, 76px); font-weight: 650; line-height: 1.14; letter-spacing: -.05em; }
.hv2-hero h1 strong { color: var(--hv2-blue); font-weight: inherit; }
.hv2-hero-copy > p { max-width: 690px; margin: 0; color: var(--hv2-muted); font-size: 18px; line-height: 1.85; }
.hv2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hv2-micro-proof { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; color: #667388; font-size: 12px; }
.hv2-micro-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hv2-micro-proof i { width: 6px; height: 6px; border-radius: 50%; background: #35a36f; box-shadow: 0 0 0 4px rgba(53,163,111,.1); }

.hv2-data-console { position: relative; padding: 24px; border: 1px solid rgba(36,87,230,.16); background: rgba(255,255,255,.86); box-shadow: 0 30px 80px rgba(38,68,126,.14); backdrop-filter: blur(16px); }
.hv2-console-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--hv2-line); }
.hv2-console-head strong { font-size: 13px; letter-spacing: .08em; }
.hv2-console-head span { display: inline-flex; align-items: center; gap: 7px; color: #23845b; font-size: 11px; }
.hv2-console-head span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #32b57a; box-shadow: 0 0 0 4px rgba(50,181,122,.12); }
.hv2-trace-path { display: grid; grid-template-columns: 1fr 32px 1fr 32px 1fr; align-items: center; gap: 8px; padding: 30px 0 24px; }
.hv2-trace-node { min-height: 150px; padding: 18px 14px; border: 1px solid var(--hv2-line); background: #fff; }
.hv2-trace-node.active { border-color: rgba(36,87,230,.45); background: var(--hv2-blue-soft); }
.hv2-node-icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--hv2-blue); background: #edf3ff; }
.hv2-node-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hv2-trace-node b { display: block; margin-top: 18px; font-size: 16px; }
.hv2-trace-node small { display: block; margin-top: 5px; color: #7b8797; font-size: 11px; }
.hv2-path-arrow { position: relative; height: 1px; background: #9eb3df; }
.hv2-path-arrow::after { content: ""; position: absolute; right: -1px; top: -4px; border-left: 6px solid #7894cf; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.hv2-console-events { border-top: 1px solid var(--hv2-line); }
.hv2-console-event { display: grid; grid-template-columns: 72px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid #eef2f7; font-size: 11px; }
.hv2-event-state { color: #217553; font-weight: 700; }
.hv2-event-state.warn { color: #c45121; }
.hv2-console-event code { color: #5d6a7d; font: 500 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.hv2-console-event time { color: #9aa4b3; }

.hv2-proof { position: relative; z-index: 2; border-top: 1px solid var(--hv2-line); border-bottom: 1px solid var(--hv2-line); background: #fff; }
.hv2-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.hv2-proof-item { min-height: 150px; padding: 31px 28px; border-right: 1px solid var(--hv2-line); }
.hv2-proof-item:last-child { border-right: 0; }
.hv2-proof-item span { color: var(--hv2-blue); font: 700 11px/1 Arial, sans-serif; letter-spacing: .12em; }
.hv2-proof-item h2 { margin: 16px 0 7px; font-size: 19px; }
.hv2-proof-item p { margin: 0; color: var(--hv2-muted); font-size: 13px; line-height: 1.7; }

.hv2-section { padding: 112px 0; }
.hv2-section-soft { background: var(--hv2-sky); }
.hv2-section-head { display: grid; grid-template-columns: 1fr .72fr; gap: 90px; align-items: end; margin-bottom: 52px; }
.hv2-section-label { display: block; color: var(--hv2-blue); font-size: 12px; font-weight: 750; letter-spacing: .14em; }
.hv2-section-head h2 { max-width: 780px; margin: 15px 0 0; font-size: clamp(38px, 4.2vw, 56px); font-weight: 560; line-height: 1.22; letter-spacing: -.04em; }
.hv2-section-head > p { margin: 0 0 4px; color: var(--hv2-muted); font-size: 16px; line-height: 1.9; }

.hv2-platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--hv2-line); background: var(--hv2-line); gap: 1px; }
.hv2-platform-card { min-height: 360px; padding: 34px; background: #fff; }
.hv2-platform-card:first-child { background: var(--hv2-blue); color: #fff; }
.hv2-platform-no { display: flex; align-items: center; justify-content: space-between; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.hv2-platform-card:not(:first-child) .hv2-platform-no { color: #8490a0; }
.hv2-platform-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-top: 62px; color: var(--hv2-blue); background: var(--hv2-blue-soft); }
.hv2-platform-card:first-child .hv2-platform-icon { color: #fff; background: rgba(255,255,255,.14); }
.hv2-platform-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.hv2-platform-card h3 { margin: 24px 0 12px; font-size: 24px; }
.hv2-platform-card p { margin: 0; color: var(--hv2-muted); font-size: 14px; line-height: 1.8; }
.hv2-platform-card:first-child p { color: rgba(255,255,255,.7); }
.hv2-platform-meta { display: block; margin-top: 30px; color: #8a95a5; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.hv2-platform-card:first-child .hv2-platform-meta { color: rgba(255,255,255,.55); }

.hv2-blueprint { color: #fff; background: #10224d; overflow: hidden; }
.hv2-blueprint .hv2-section-label { color: #8fb0ff; }
.hv2-blueprint .hv2-section-head > p { color: rgba(255,255,255,.6); }
.hv2-blueprint-grid { position: relative; display: grid; grid-template-columns: 1fr 1.18fr 1fr; gap: 54px; align-items: center; min-height: 510px; padding: 30px 0; }
.hv2-blueprint-grid::before { content: ""; position: absolute; inset: 12% 24%; border-radius: 50%; background: radial-gradient(circle, rgba(78,116,238,.3), rgba(78,116,238,0) 68%); }
.hv2-cap-stack { position: relative; z-index: 1; display: grid; gap: 18px; }
.hv2-cap-node { padding: 21px 24px; border: 1px solid rgba(154,181,245,.28); background: rgba(255,255,255,.045); }
.hv2-cap-node span { color: #86a7f7; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.hv2-cap-node h3 { margin: 9px 0 5px; font-size: 18px; }
.hv2-cap-node p { margin: 0; color: rgba(255,255,255,.52); font-size: 12px; }
.hv2-core { position: relative; z-index: 1; display: grid; place-items: center; aspect-ratio: 1; width: min(100%, 350px); margin: auto; border: 1px solid rgba(148,177,245,.36); border-radius: 50%; box-shadow: 0 0 0 26px rgba(79,112,220,.08), 0 0 0 54px rgba(79,112,220,.04); text-align: center; }
.hv2-core::before, .hv2-core::after { content: ""; position: absolute; inset: 17%; border: 1px dashed rgba(147,178,247,.34); border-radius: 50%; }
.hv2-core::after { inset: 34%; border-style: solid; background: linear-gradient(135deg, #2457e6, #6865ee); box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.hv2-core-copy { position: relative; z-index: 2; }
.hv2-core-copy strong { display: block; font-size: 30px; letter-spacing: -.04em; }
.hv2-core-copy span { display: block; margin-top: 6px; color: rgba(255,255,255,.65); font-size: 11px; letter-spacing: .12em; }

.hv2-scene-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hv2-scene-card { border: 1px solid var(--hv2-line); background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.hv2-scene-card:hover { transform: translateY(-5px); box-shadow: 0 20px 46px rgba(36,65,117,.09); }
.hv2-scene-visual { min-height: 210px; display: grid; place-items: center; position: relative; overflow: hidden; color: var(--hv2-blue); background: linear-gradient(145deg, #edf3ff, #f9fbff); }
.hv2-scene-visual::before { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(36,87,230,.13); transform: rotate(45deg); }
.hv2-scene-visual svg { position: relative; z-index: 1; width: 74px; height: 74px; fill: none; stroke: currentColor; stroke-width: 1.35; }
.hv2-scene-body { padding: 26px 24px 30px; }
.hv2-scene-body span { color: #8a96a7; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.hv2-scene-body h3 { margin: 12px 0 9px; font-size: 20px; }
.hv2-scene-body p { margin: 0; color: var(--hv2-muted); font-size: 13px; line-height: 1.8; }

.hv2-delivery-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 76px; align-items: start; }
.hv2-delivery-title h2 { margin: 16px 0 22px; font-size: clamp(38px, 4vw, 54px); font-weight: 560; line-height: 1.2; letter-spacing: -.04em; }
.hv2-delivery-title p { color: var(--hv2-muted); line-height: 1.85; }
.hv2-delivery-steps { border-top: 1px solid var(--hv2-line); }
.hv2-delivery-step { display: grid; grid-template-columns: 56px 1fr; gap: 26px; padding: 26px 0; border-bottom: 1px solid var(--hv2-line); }
.hv2-delivery-step > span { color: var(--hv2-blue); font: 750 12px/1 Arial, sans-serif; padding-top: 7px; }
.hv2-delivery-step h3 { margin: 0 0 7px; font-size: 19px; }
.hv2-delivery-step p { margin: 0; color: var(--hv2-muted); font-size: 13px; }
.hv2-boundary { display: grid; grid-template-columns: 1fr 1fr; margin-top: 56px; border: 1px solid var(--hv2-line); }
.hv2-boundary article { padding: 30px 34px; }
.hv2-boundary article + article { border-left: 1px solid var(--hv2-line); background: #f8faff; }
.hv2-boundary strong { font-size: 16px; }
.hv2-boundary ul { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; color: var(--hv2-muted); font-size: 13px; }
.hv2-boundary li::before { content: "—"; margin-right: 9px; color: var(--hv2-blue); }

.hv2-cta { padding: 104px 0; color: #fff; background: linear-gradient(120deg, #1d4ed8, #5d5ee9); }
.hv2-cta-layout { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.hv2-cta h2 { margin: 0 0 16px; font-size: clamp(40px, 4.5vw, 60px); font-weight: 560; line-height: 1.15; letter-spacing: -.04em; }
.hv2-cta p { max-width: 760px; margin: 0; color: rgba(255,255,255,.72); font-size: 16px; }
.hv2-cta-actions { display: flex; flex-direction: column; gap: 10px; min-width: 220px; }
.hv2-cta .button { color: var(--hv2-blue); background: #fff; }
.hv2-cta .button:last-child { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.48); }

.home-v2 .social-contact { background: #f5f8fd; }
.home-v2 .social-contact .section-heading { margin-bottom: 42px; }
.home-v2 .social-contact .section-heading h2 { color: var(--hv2-ink); font-size: clamp(38px,4vw,54px); font-weight: 560; }
.home-v2 .social-qr-card { border-radius: 3px; box-shadow: none; }
.home-v2 .social-qr-card:hover { box-shadow: 0 18px 42px rgba(36,65,117,.1); }

.hv2-footer { padding: 68px 0 26px; color: var(--hv2-ink); background: #fff; border-top: 1px solid var(--hv2-line); }
.hv2-footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 64px; padding-bottom: 54px; }
.hv2-footer-brand p { max-width: 360px; margin: 20px 0; color: var(--hv2-muted); font-size: 13px; }
.hv2-footer-brand .brand-copy small { color: #7c8797; }
.hv2-footer-contact { display: grid; gap: 4px; font-size: 13px; }
.hv2-footer-contact a { color: var(--hv2-blue); font-size: 20px; font-weight: 700; }
.hv2-footer-col { display: flex; flex-direction: column; gap: 10px; }
.hv2-footer-col strong { margin-bottom: 7px; color: #8a95a4; font-size: 11px; letter-spacing: .12em; }
.hv2-footer-col a { color: #4f5d70; font-size: 13px; }
.hv2-footer-col a:hover { color: var(--hv2-blue); }
.hv2-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid var(--hv2-line); color: #8b96a6; font-size: 10px; }
.hv2-footer-bottom .icp-link { min-height: 36px; display: inline-flex; align-items: center; padding: 0 14px; color: #2149b7; background: #edf3ff; border: 1px solid #bdcdf8; border-radius: 999px; box-shadow: 0 4px 12px rgba(36,87,230,.1); font-size: 14px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.hv2-footer-bottom .icp-link:hover { color: #fff; background: var(--hv2-blue); border-color: var(--hv2-blue); }
.hv2-footer-bottom .icp-link:focus-visible { outline: 3px solid rgba(36,87,230,.3); outline-offset: 3px; }

@media (max-width: 1024px) {
  .home-v2 .container { width: min(calc(100% - 48px), var(--content)); }
  .hv2-hero-layout { grid-template-columns: 1fr; gap: 56px; }
  .hv2-hero { padding-top: 132px; }
  .hv2-data-console { max-width: 720px; }
  .hv2-section-head { grid-template-columns: 1fr; gap: 24px; }
  .hv2-proof-grid, .hv2-scene-grid { grid-template-columns: repeat(2, 1fr); }
  .hv2-proof-item:nth-child(2) { border-right: 0; }
  .hv2-proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--hv2-line); }
  .hv2-platform-card { min-height: 330px; padding: 28px; }
  .hv2-blueprint-grid { gap: 25px; }
  .hv2-delivery-layout { grid-template-columns: 1fr; gap: 45px; }
  .hv2-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .hv2-footer-col:last-child { display: none; }
}

@media (max-width: 820px) {
  .home-v2 .site-nav { top: 72px; color: #fff; background: rgba(23,32,51,.98); }
  .home-v2 .site-nav > a::after { display: none; }
  .home-v2 .nav-cta { justify-content: flex-start; margin-top: 0; color: #fff; }
  .hv2-platform-grid { grid-template-columns: 1fr; }
  .hv2-platform-card { min-height: auto; }
  .hv2-platform-icon { margin-top: 38px; }
  .hv2-blueprint-grid { grid-template-columns: 1fr; }
  .hv2-core { order: -1; width: 300px; }
  .hv2-cap-stack { grid-template-columns: repeat(3, 1fr); }
  .hv2-cap-node { padding: 18px; }
  .hv2-cta-layout { grid-template-columns: 1fr; gap: 36px; }
  .hv2-cta-actions { flex-direction: row; }
  .hv2-footer-grid { grid-template-columns: 1fr 1fr; }
  .hv2-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .home-v2 .container { width: min(calc(100% - 32px), var(--content)); }
  .hv2-hero { min-height: auto; padding: 116px 0 72px; }
  .hv2-hero h1 { font-size: clamp(42px, 12vw, 54px); }
  .hv2-hero-copy > p { font-size: 16px; }
  .hv2-actions { flex-direction: column; align-items: stretch; }
  .hv2-trace-path { grid-template-columns: 1fr; }
  .hv2-path-arrow { width: 1px; height: 24px; margin: auto; }
  .hv2-path-arrow::after { right: -4px; top: auto; bottom: -1px; border-top: 6px solid #7894cf; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 0; }
  .hv2-trace-node { min-height: auto; }
  .hv2-console-event { grid-template-columns: 64px 1fr; }
  .hv2-console-event time { display: none; }
  .hv2-proof-grid, .hv2-scene-grid { grid-template-columns: 1fr; }
  .hv2-proof-item { border-right: 0; border-bottom: 1px solid var(--hv2-line); }
  .hv2-proof-item:last-child { border-bottom: 0; }
  .hv2-section { padding: 84px 0; }
  .hv2-section-head h2, .hv2-delivery-title h2 { font-size: 38px; }
  .hv2-cap-stack { grid-template-columns: 1fr; }
  .hv2-core { width: 255px; }
  .hv2-boundary { grid-template-columns: 1fr; }
  .hv2-boundary article + article { border-left: 0; border-top: 1px solid var(--hv2-line); }
  .hv2-cta { padding: 78px 0; }
  .hv2-cta-actions { flex-direction: column; }
  .hv2-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .hv2-footer-brand { grid-column: auto; }
  .hv2-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .home-v2 *, .home-v2 *::before, .home-v2 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
