:root { color-scheme: dark; }

body.yh-family {
  --yh-shell: #06101a;
  --yh-shell-soft: #0a1522;
  --yh-panel: #0d1928;
  --yh-line: rgba(133, 169, 201, .18);
  --yh-text: #f6f8fb;
  --yh-muted: #a7b4c3;
  --yh-dim: #708297;
  --yh-accent: #47c8ec;
  font-family: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei UI", "PingFang SC", sans-serif !important;
  font-feature-settings: normal !important;
  -webkit-font-smoothing: antialiased;
}

body.yh-family .header,
body.yh-family .site-header {
  color: var(--yh-text) !important;
  background: rgba(6, 16, 26, .96) !important;
  border-bottom: 1px solid var(--yh-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px) !important;
}
body.yh-family .header .brand,
body.yh-family .site-header .brand,
body.yh-family .header .brand strong,
body.yh-family .site-header .brand span { color: var(--yh-text) !important; }
body.yh-family .nav,
body.yh-family .nav-links { color: #a9b6c5 !important; }
body.yh-family .nav a,
body.yh-family .nav-links a { color: inherit; }
body.yh-family .nav a:hover,
body.yh-family .nav-links a:hover { color: #fff !important; }
body.yh-family .header-cta,
body.yh-family .nav-cta {
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.yh-family .header-cta:hover,
body.yh-family .nav-cta:hover { border-color: rgba(71, 200, 236, .55) !important; background: rgba(71, 200, 236, .08) !important; }
body.yh-family .menu,
body.yh-family .mobile-toggle {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 0 !important;
  color: #fff !important;
  background: transparent !important;
}
body.yh-family .menu span,
body.yh-family .mobile-toggle span { display: block; width: 22px; height: 2px; margin: 4px auto; border-radius: 0; background: #fff !important; }
body.yh-family .mobile-menu,
body.yh-family .nav-links.open {
  color: var(--yh-text) !important;
  background: #07111c !important;
  border-color: var(--yh-line) !important;
}
body.yh-family .mobile-menu a,
body.yh-family .nav-links.open a { border-color: var(--yh-line) !important; }
body.yh-family .theme-toggle { display: none !important; }
body.yh-family .mobile-toggle:focus-visible,
body.yh-family .nav-links a:focus-visible {
  outline: 3px solid var(--yh-accent) !important;
  outline-offset: 3px !important;
}

body.yh-family .button,
body.yh-family button,
body.yh-family input,
body.yh-family textarea { border-radius: 8px; }
body.yh-family .button.primary { box-shadow: none !important; }

body.yh-family .site-footer {
  color: #8fa0b2 !important;
  background: #06101a !important;
  border-top: 1px solid var(--yh-line) !important;
}
body.yh-family .site-footer .footer-top,
body.yh-family .site-footer .footer-grid { border-color: var(--yh-line) !important; }
body.yh-family .site-footer .brand,
body.yh-family .site-footer h4,
body.yh-family .site-footer strong { color: var(--yh-text) !important; }
body.yh-family .site-footer p,
body.yh-family .site-footer a,
body.yh-family .footer-bottom { color: #8fa0b2 !important; }
body.yh-family .site-footer a:hover { color: var(--yh-accent) !important; }

body.yh-content,
body.yh-legal {
  color: var(--yh-text) !important;
  background: var(--yh-shell) !important;
}
body.yh-content .yh-service-hero { padding-top: 112px !important; }
body.yh-content .yh-service-hero::before { opacity: .55; }
body.yh-content .yh-service-hero h1 {
  max-width: 940px;
  color: var(--yh-text) !important;
  font-size: clamp(42px, 5vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
body.yh-content .hero-lead,
body.yh-content .yh-content-block p,
body.yh-content .yh-content-block li,
body.yh-content .yh-knowledge-card p,
body.yh-content .section-head p { color: var(--yh-muted) !important; }
body.yh-content .yh-knowledge-card,
body.yh-content .yh-content-block,
body.yh-content .product-card,
body.yh-content .cap-card {
  border: 1px solid var(--yh-line) !important;
  border-radius: 12px !important;
  background: var(--yh-panel) !important;
  box-shadow: none !important;
}
body.yh-content .source-strip,
body.yh-content .signal-row,
body.yh-content .case-source-list li {
  border-color: var(--yh-line) !important;
  border-radius: 10px !important;
  background: rgba(71, 200, 236, .045) !important;
}
body.yh-content .eyebrow,
body.yh-content .breadcrumb a,
body.yh-content a,
body.yh-content .source-strip a { color: var(--yh-accent); }
body.yh-content .guide-page { background: var(--yh-shell) !important; }
body.yh-content .guide-page .scenario,
body.yh-content .guide-page .lead-box,
body.yh-content .guide-page .boundary-box,
body.yh-content .guide-page .guide-cta {
  border-color: var(--yh-line) !important;
  border-radius: 10px !important;
  background: var(--yh-panel) !important;
  box-shadow: none !important;
}

body.yh-legal { max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.yh-legal .yh-legal-main {
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
  padding: 126px 0 86px;
}
body.yh-legal .yh-legal-main .back { display: inline-flex; margin: 0 0 28px; color: var(--yh-accent) !important; }
body.yh-legal .yh-legal-main h1 {
  margin: 0 0 10px;
  color: var(--yh-text) !important;
  font-size: clamp(42px, 5vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}
body.yh-legal .yh-legal-main h2 { color: var(--yh-text) !important; }
body.yh-legal .yh-legal-main p,
body.yh-legal .yh-legal-main li { color: var(--yh-muted) !important; }
body.yh-legal .yh-legal-main .card {
  border: 1px solid var(--yh-line) !important;
  border-radius: 10px !important;
  background: var(--yh-panel) !important;
  box-shadow: none !important;
}

@media (max-width: 860px) {
  body.yh-family .header { height: 64px; }
  body.yh-family.yh-nav-open { overflow: hidden; }
  body.yh-family .nav-links.open {
    position: fixed;
    inset: 64px 0 0;
    z-index: 1100;
    padding: 24px 20px max(24px, env(safe-area-inset-bottom));
    display: grid !important;
    align-content: start;
    gap: 0 !important;
    overflow-y: auto;
  }
  body.yh-family .nav-links.open a {
    min-height: 48px;
    padding: 0 4px;
    display: flex;
    align-items: center;
  }
  body.yh-content .yh-service-hero { padding-top: 92px !important; }
  body.yh-content .yh-service-hero h1 { font-size: 38px !important; line-height: 1.15 !important; }
  body.yh-legal .yh-legal-main { width: calc(100% - 32px); padding: 104px 0 64px; }
  body.yh-legal .yh-legal-main h1 { font-size: 38px !important; }
  body.yh-family .site-footer .footer-top,
  body.yh-family .site-footer .footer-grid { padding-left: 18px !important; padding-right: 18px !important; }
}

/* Final homepage-family alignment. */
body.yh-family .utility {
  height: 30px;
  padding: 0 4.5vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
  color: #c9cdd2;
  background: #111317;
  font-size: 12px;
}
body.yh-family .utility span:first-child { margin-right: auto; color: #929ba5; }
body.yh-family .site-header { height: 64px; min-height: 64px; }
body.yh-family .site-header .nav-shell {
  width: min(1200px, calc(100% - 48px));
  height: 63px;
}
body.yh-family .site-header .brand-mark { width: 31px; height: 31px; }
body.yh-family .site-header .nav-links { gap: 31px; font-size: 14px; }

body.yh-family .eyebrow {
  color: var(--yh-accent) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: none !important;
}
body.yh-family .eyebrow::before { display: none !important; }
body.yh-family .yh-no-break { white-space: nowrap; }
body.agent-abc-page .agent-hero h1 {
  max-width: 620px;
  font-size: clamp(48px, 4.3vw, 58px) !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}
body.yh-family .button,
body.yh-family .product-card,
body.yh-family .cap-card,
body.yh-family .timeline > div,
body.yh-family .stack-item,
body.yh-family .geo-points div { transition: border-color .16s ease, background-color .16s ease, color .16s ease !important; }
body.yh-family .button:hover,
body.yh-family .product-card:hover,
body.yh-family .cap-card:hover,
body.yh-family .timeline > div:hover,
body.yh-family .stack-item:hover,
body.yh-family .geo-points div:hover { transform: none !important; box-shadow: none !important; }
body.yh-family .button.primary {
  border: 1px solid #fff !important;
  color: #07101b !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.yh-family .button.primary:hover { border-color: #65d9ff !important; background: #65d9ff !important; }
body.yh-content .yh-service-hero { padding-top: 80px !important; }
body.yh-content .yh-service-hero::before,
body.yh-content .hero::before { display: none !important; }
body.yh-content .yh-knowledge-card,
body.yh-content .yh-content-block,
body.yh-content .product-card,
body.yh-content .cap-card,
body.yh-content .guide-page .scenario,
body.yh-content .guide-page .lead-box,
body.yh-content .guide-page .boundary-box,
body.yh-content .guide-page .guide-cta,
body.yh-legal .yh-legal-main .card { border-radius: 8px !important; }
body.yh-content .source-strip,
body.yh-content .signal-row,
body.yh-content .case-source-list li { border-radius: 8px !important; }
body.yh-legal .yh-legal-main { padding-top: 96px; }
body.yh-family .site-footer .footer-top,
body.yh-family .site-footer .footer-grid,
body.yh-family .site-footer .footer-bottom { width: min(1200px, calc(100% - 48px)); margin-left: auto; margin-right: auto; }

@media (max-width: 860px) {
  body.yh-family .utility { display: none; }
  body.yh-family .site-header .nav-shell { width: calc(100% - 32px); }
  body.yh-family .nav-links.open { inset: 64px 0 0; }
  body.agent-abc-page .agent-hero h1,
  body.geo-abc-page .geo-hero h1,
  body.intel-abc-page .intel-hero h1 { font-size: 36px !important; line-height: 1.1 !important; }
  body.geo-abc-page .geo-actions .button.secondary,
  body.intel-abc-page .intel-actions .button.secondary {
    width: max-content !important;
    min-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--yh-accent) !important;
    background: transparent !important;
  }
  body.yh-content .yh-service-hero { padding-top: 56px !important; }
  body.yh-content .yh-service-hero h1 { font-size: 34px !important; line-height: 1.12 !important; text-wrap: balance; }
  body.yh-legal .yh-legal-main { padding-top: 64px; }
  body.yh-family .site-footer .footer-top,
  body.yh-family .site-footer .footer-grid,
  body.yh-family .site-footer .footer-bottom { width: calc(100% - 32px); }
  body.yh-family .site-footer a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
