/* HumanKey Editorial Edition · visual-only layer · 2026-11-02
   Loaded after the existing styles. Does not alter whitepaper copy, i18n, or security code. */
@media screen {
  :root {
    --hk-canvas: #080a0c;
    --hk-ink: #f6f5f1;
    --hk-body: #d1d3d4;
    --hk-muted: #a0a5ab;
    --hk-rule: rgba(223,230,236,.16);
    --hk-rule-soft: rgba(223,230,236,.09);
    --hk-accent: #b6c6d4;
  }
  html { background: var(--hk-canvas) !important; }
  body {
    color:var(--hk-ink) !important;
    background:
      radial-gradient(ellipse 70% 420px at 77% 0%, rgba(129,149,166,.07),transparent 72%),
      var(--hk-canvas) !important;
    background-size: auto !important;
    font-feature-settings:"kern" 1;
  }
  /* Drop the decorative starfield and let the typography carry the page. */
  .hero::before, .hero::after { content:none !important; display:none !important; }
  .hero {
    display:block !important;
    min-height:0 !important;
    padding:116px 28px 84px !important;
    overflow:visible !important;
    border-bottom:1px solid var(--hk-rule) !important;
  }
  .hero-inner {
    width:min(100%,1080px) !important;
    max-width:1080px !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:left !important;
  }
  .brand-logo {
    width:84px !important;
    max-width:84px !important;
    max-height:84px !important;
    margin:0 0 28px !important;
    height:auto !important;
    filter:brightness(0) invert(1) !important;
  }
  .hero .eyebrow { color:var(--hk-muted) !important; letter-spacing:.2em !important; margin:0 0 25px !important; }
  .hero h1 {
    max-width:100% !important;
    font-size:clamp(64px,10vw,136px) !important;
    letter-spacing:-.068em !important;
    line-height:.93 !important;
    font-weight:730 !important;
    margin:0 0 32px !important;
    overflow-wrap:break-word;
  }
  .hero .subtitle {
    max-width:820px !important;
    margin:0 !important;
    color:#d8dbdd !important;
    font-size:clamp(23px,2.8vw,37px) !important;
    line-height:1.23 !important;
    letter-spacing:-.033em !important;
    font-weight:400 !important;
    text-wrap:balance;
  }
  .hero .meta {
    justify-content:flex-start !important;
    margin:42px 0 0 !important;
    padding:18px 0 0 !important;
    border-top:1px solid var(--hk-rule) !important;
    gap:8px 24px !important;
    color:var(--hk-muted) !important;
    font-size:12px !important;
  }
  .hero .tagline {
    margin:24px 0 0 !important;
    color:var(--hk-ink) !important;
    font-size:11px !important;
    letter-spacing:.18em !important;
    font-weight:700 !important;
  }
  .language-nav {
    top:24px !important;
    right:28px !important;
    height:42px !important;
    border:1px solid rgba(221,228,234,.24) !important;
    border-radius:0 !important;
    background:rgba(8,10,12,.96) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
  }
  .language-nav:before { color:var(--hk-muted) !important; }
  .language-nav select { background:transparent !important; color:var(--hk-ink) !important; }
  .abstract {
    width:min(calc(100% - 48px),900px) !important;
    max-width:900px !important;
    padding:76px 0 66px !important;
    margin:0 auto !important;
  }
  .abstract .label, .section-kicker, .hh-kicker {
    color:var(--hk-muted) !important;
    letter-spacing:.2em !important;
  }
  .abstract p:first-of-type {
    font-size:clamp(26px,3vw,39px) !important;
    line-height:1.22 !important;
    font-weight:520 !important;
    letter-spacing:-.035em !important;
    color:var(--hk-ink) !important;
    margin-bottom:26px !important;
  }
  .abstract p, .paper-section p {
    color:var(--hk-body) !important;
    line-height:1.75 !important;
    font-size:16.5px !important;
    margin-bottom:1.05em !important;
  }
  .toc-shell { width:100% !important; max-width:none !important; background:#101317 !important; border-top:1px solid var(--hk-rule-soft); border-bottom:1px solid var(--hk-rule-soft); padding:0 24px !important; }
  .toc { width:min(100%,1000px) !important; padding:62px 0 68px !important; }
  .toc h2 { font-size:clamp(32px,3.5vw,45px) !important; margin-bottom:28px !important; letter-spacing:-.045em !important; }
  .toc-grid { column-gap:50px !important; }
  .toc a { border-bottom:1px solid var(--hk-rule-soft); padding:13px 4px !important; color:#e4e5e5 !important; transition:color .15s ease,background .15s ease !important; }
  .toc a:hover { color:#fff !important; opacity:1 !important; transform:none !important; background:rgba(255,255,255,.035) !important; }
  .toc a span { color:var(--hk-muted) !important; }
  main { width:min(100%,1080px) !important; max-width:1080px !important; margin:auto !important; padding:48px 28px 110px !important; }
  .paper-section {
    max-width:900px !important;
    padding:68px 0 60px !important;
    border-top:1px solid var(--hk-rule) !important;
    scroll-margin-top:42px;
  }
  .paper-section h2 {
    max-width:850px !important;
    font-size:clamp(32px,4.1vw,52px) !important;
    line-height:1.12 !important;
    letter-spacing:-.045em !important;
    font-weight:680 !important;
    margin:12px 0 28px !important;
    text-wrap:balance;
  }
  .paper-section h3 { line-height:1.24 !important; }
  .hh-diagram { max-width:1080px !important; margin:36px auto 40px !important; }
  .hh-diagram-frame { padding:30px 0 !important; border-color:var(--hk-rule) !important; }
  .hh-node { background:linear-gradient(180deg,rgba(180,198,213,.045),transparent) !important; min-width:0; }
  .hh-node::before { box-shadow:none !important; background:var(--hk-accent) !important; }
  .hh-node small, .hh-crowd p { color:var(--hk-muted) !important; }
  .hh-crowd,.hh-zone,.hh-trust>div { border-color:var(--hk-rule) !important; background-color:rgba(255,255,255,.014) !important; }
  .hh-statement { line-height:1.04 !important; letter-spacing:-.05em !important; }
  .hh-statement .dim { color:#8c949b !important; }
  .flow,.flow-step { border:1px solid var(--hk-rule-soft); border-radius:2px !important; }
  .data-row { padding:16px 0 !important; border-bottom-color:var(--hk-rule-soft) !important; }
  .data-row span { color:var(--hk-muted) !important; }
  .references { border-color:var(--hk-rule) !important; }
  .references li { line-height:1.7 !important; margin-bottom:12px !important; }
  footer { border-color:var(--hk-rule) !important; padding:64px 24px 72px !important; }
  :focus-visible { outline:2px solid var(--hk-accent) !important; outline-offset:4px; }
}
/* HumanKey — mobile editorial layout, single canonical responsive block. */
@media screen and (max-width:760px) {
  html { -webkit-text-size-adjust:100%; }
  body { overflow-x:clip; }
  .hero {
    min-height:0 !important;
    padding:104px 22px 49px !important;
    border-bottom:1px solid var(--hk-rule) !important;
  }
  .hero-inner { width:100% !important; max-width:100% !important; }
  .brand-logo {
    width:70px !important; max-width:70px !important;
    max-height:70px !important; margin:0 0 24px !important;
  }
  .hero .eyebrow {
    max-width:100% !important; margin:0 0 18px !important;
    font-size:10px !important; line-height:1.55 !important;
    letter-spacing:.16em !important;
  }
  .hero h1 {
    font-size:clamp(48px,12.5vw,76px) !important;
    line-height:.99 !important; letter-spacing:-.055em !important;
    margin:0 0 24px !important;
    overflow-wrap:anywhere !important;
  }
  .hero .subtitle {
    max-width:37ch !important;
    font-size:clamp(20px,5.1vw,27px) !important;
    line-height:1.31 !important;
    letter-spacing:-.027em !important;
    text-wrap:pretty;
  }
  .hero .meta {
    margin:30px 0 0 !important; padding:16px 0 0 !important;
    display:flex !important; align-items:flex-start !important;
    flex-wrap:wrap !important; justify-content:flex-start !important;
    column-gap:20px !important; row-gap:6px !important;
    font-size:11px !important; line-height:1.5 !important;
  }
  .hero .tagline {
    margin:18px 0 0 !important;
    font-size:10px !important; line-height:1.6 !important;
    letter-spacing:.12em !important;
  }
  .language-nav {
    top:14px !important; right:16px !important;
    left:auto !important; max-width:calc(100vw - 32px) !important;
    height:42px !important; box-shadow:none !important;
    z-index:1200 !important;
  }
  .language-nav:before { display:none !important; }
  .language-nav .select-wrap { min-width:0 !important; }
  .language-nav select {
    min-width:118px !important; max-width:170px !important;
    padding:0 30px 0 12px !important;
    font-size:12px !important; line-height:1.2 !important;
  }
  .language-nav .select-wrap:after { right:12px !important; }
  .language-suggestion { max-width:calc(100vw - 28px) !important; }
  .abstract {
    width:calc(100% - 44px) !important;
    padding:50px 0 44px !important;
  }
  .abstract .label { font-size:10px !important; margin-bottom:18px !important; }
  .abstract p:first-of-type {
    font-size:clamp(23px,6vw,31px) !important;
    line-height:1.27 !important; margin-bottom:24px !important;
    letter-spacing:-.028em !important;
  }
  .abstract p, .paper-section p {
    font-size:15.5px !important;
    line-height:1.74 !important;
    overflow-wrap:break-word;
  }
  .toc-shell { padding:0 22px !important; }
  .toc { padding:42px 0 48px !important; }
  .toc h2 {
    font-size:31px !important; line-height:1.15 !important;
    margin-bottom:19px !important;
  }
  .toc-grid { grid-template-columns:minmax(0,1fr) !important; }
  .toc a {
    grid-template-columns:34px minmax(0,1fr) !important;
    padding:12px 0 !important;
    font-size:13.5px !important; line-height:1.48 !important;
    overflow-wrap:anywhere;
  }
  main { padding:18px 22px 67px !important; min-width:0; }
  .paper-section { padding:43px 0 40px !important; min-width:0; }
  .paper-section h2 {
    font-size:clamp(29px,8vw,41px) !important;
    line-height:1.15 !important; letter-spacing:-.036em !important;
    margin:12px 0 22px !important; overflow-wrap:anywhere;
    text-wrap:pretty;
  }
  .paper-section h3 { font-size:21px !important; line-height:1.25 !important; }
  .section-kicker, .hh-kicker { font-size:10px !important; line-height:1.5 !important; }
  .hh-diagram {
    width:100% !important; max-width:100% !important;
    margin:25px 0 28px !important;
    padding:0 !important;
  }
  .hh-diagram-frame { padding:22px 0 !important; max-width:100% !important; }
  .hh-flow, .hh-recovery {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
  }
  .hh-node {
    min-height:0 !important;
    padding:16px 16px 16px 20px !important;
    border-bottom:1px solid var(--hk-rule-soft) !important;
    overflow-wrap:anywhere;
  }
  .hh-node b { font-size:13px !important; }
  .hh-node small { font-size:12px !important; }
  .hh-node::before { top:21px !important; }
  .hh-split, .hh-boundary, .hh-trust {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
  }
  .hh-vs, .hh-trust-line { padding:13px 0 !important; min-height:0 !important; }
  .hh-crowd,.hh-zone { min-height:0 !important; padding:19px !important; }
  .hh-statement { font-size:clamp(27px,7.5vw,42px) !important; line-height:1.12 !important; }
  .flow { gap:6px !important; padding:11px !important; }
  .flow-step { max-width:100%; overflow-wrap:anywhere; }
  .data-row {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    gap:4px !important; padding:13px 0 !important;
  }
  .data-row strong { text-align:left !important; }
  .references { padding:35px 0 !important; }
  .references h2 { font-size:31px !important; }
  .references li { font-size:13px !important; line-height:1.65 !important; overflow-wrap:anywhere; }
  footer { padding:43px 22px 52px !important; }
  .contact-form-shell { padding:27px 19px !important; }
  .contact-dialog { width:calc(100vw - 28px) !important; max-height:calc(100dvh - 30px) !important; overflow-y:auto; }
}
@media screen and (max-width:390px) {
  .hero { padding:94px 19px 42px !important; }
  .hero h1 { font-size:clamp(43px,12.3vw,52px) !important; }
  .hero .subtitle { font-size:19px !important; }
  .abstract { width:calc(100% - 38px) !important; }
  main { padding-left:19px !important; padding-right:19px !important; }
  .toc-shell { padding-left:19px !important; padding-right:19px !important; }
  .paper-section h2 { font-size:clamp(27px,7.8vw,34px) !important; }
}
@media (prefers-reduced-motion:reduce) {
  .toc a { transition:none !important; }
}
