/* Self-hosted web fonts. This site makes no third-party requests. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('/fonts/Inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('/fonts/Inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 500 600; font-display: swap;
  src: url('/fonts/SourceSerif4-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 500 600; font-display: swap;
  src: url('/fonts/SourceSerif4-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/fonts/IBMPlexMono-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+2000-206F,U+20AC; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('/fonts/IBMPlexMono-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+1E00-1E9F; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/fonts/IBMPlexMono-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+2000-206F,U+20AC; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('/fonts/IBMPlexMono-500-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+1E00-1E9F; }

/* Arabic pages: IBM Plex Sans Arabic (SIL OFL 1.1), Arabic subset. Latin text inside Arabic pages uses Inter. */
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/IBMPlexSansArabic-400-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/IBMPlexSansArabic-600-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC; }
/* Chinese uses the visitor's system fonts (see :lang(zh) in style.css). */

/* STI - Slovakia Technology Investments a.s. - site stylesheet (v4, after the 5 Oct 2026 audit).
   Palette from the STI logo on a deep navy. Diagrams are HTML, never text inside a fixed SVG canvas. */
:root {
  --ink: #0b1f3a;        /* navy: text, dark bands */
  --ink-2: #33445e;      /* secondary text */
  --ink-3: #53627a;      /* muted text (4.5:1 on white and mist) */
  --blue: #2563c9;       /* links, accents */
  --blue-d: #1a4a9c;     /* hover */
  --sky: #7cc4e4;        /* highlights on navy */
  --sky-l: #e8f3fa;
  --paper: #ffffff;
  --mist: #f4f6f9;
  --line: #dde3ea;       /* decorative borders */
  --field: #71829b;      /* input borders (3:1) */
  --amber: #8a520c;      /* deadline / attention cue only, always with a label */
  --amber-l: #fbf1e3;
  --serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace;
  --cjk: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', 'Source Han Sans SC', sans-serif;
  --w: 1240px;
  --r: 12px;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 17px/1.65 var(--sans); overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--blue-d); }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.18; letter-spacing: -0.01em; margin: 0 0 .5em; color: var(--ink); }
h1 { font-size: clamp(2.35rem, 4.6vw, 4rem); line-height: 1.07; letter-spacing: -.025em; }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); }
h3 { font-size: 1.3rem; line-height: 1.3; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-inline-start: 1.2em; }
li { margin: .3em 0; }
strong, b { font-weight: 600; }
button, input, select, textarea { font: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; top: -200px; inset-inline-start: 8px; background: var(--ink); color: #fff; padding: .6em 1em; z-index: 99; }
.skip:focus { top: 8px; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 3px; }
.wrap { width: 100%; max-width: var(--w); margin: 0 auto; padding: 0 32px; }
[id] { scroll-margin-top: 150px; }
@media (max-width: 640px) { .wrap { padding: 0 16px; } }

/* Chinese: CJK sans for everything, no Latin tracking or uppercase effects */
:lang(zh) body, :lang(zh) h1, :lang(zh) h2, :lang(zh) h3, :lang(zh) .btn { font-family: var(--sans), var(--cjk); letter-spacing: 0; }
:lang(zh) h1 { line-height: 1.25; }
:lang(zh) p, :lang(zh) li { line-height: 1.8; }
:lang(zh) .kicker, :lang(zh) .num, :lang(zh) .aud-label, :lang(zh) .foot-h, :lang(zh) .tag { letter-spacing: 0; text-transform: none; }
/* Chinese: sans (not serif or monospace) for figures, quotes and small labels; balanced headings, no orphan character */
:lang(zh) .stat b, :lang(zh) .pull, :lang(zh) .proof-strip b, :lang(zh) .card h3, :lang(zh) .chart > figcaption:first-child b, :lang(zh) .kicker, :lang(zh) .aud-label, :lang(zh) .foot-h, :lang(zh) .tag { font-family: var(--sans), var(--cjk); }
:lang(zh) h1, :lang(zh) h2, :lang(zh) h3 { text-wrap: balance; }
:lang(zh) p, :lang(zh) li, :lang(zh) td, :lang(zh) dd { text-wrap: pretty; }
:lang(zh) address { font-style: normal; }

/* ---- header ---- */
.site-head { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.head-row { display: flex; align-items: center; gap: 14px; min-height: 68px; position: relative; }
/* One mark only: the STI emblem, then the full company name (never "STI" twice). */
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); margin-inline-end: auto; flex-shrink: 0; }
.brand img { width: 58px; height: 48px; object-fit: cover; object-position: 50% 0; }
.brand-txt { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding-inline-start: 12px; border-inline-start: 1px solid var(--line); min-height: 34px; font: 600 .8rem/1.15 var(--sans); letter-spacing: .01em; color: var(--ink); direction: ltr; }
.brand-txt span:last-child { color: var(--ink-3); font-weight: 500; }
.nav { display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.nav a { color: var(--ink-2); text-decoration: none; font-size: .93rem; font-weight: 500; padding: .45em .55em; border-radius: 6px; min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
.nav a:hover { background: var(--mist); color: var(--ink); }
.nav a[aria-current="page"] { color: var(--blue-d); background: var(--sky-l); }
.nav .nav-cta { background: var(--ink); color: #fff; margin-inline-start: 6px; }
.nav .nav-cta:hover, .nav .nav-cta[aria-current="page"] { background: var(--blue-d); color: #fff; }
.langs { order: 3; display: flex; gap: 2px; font: 500 .82rem/1 var(--mono); }
.langs a { color: var(--ink-3); text-decoration: none; padding: 0 .4em; border-radius: 6px; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; }
.langs a:hover { color: var(--ink); background: var(--mist); }
.langs a[aria-current="true"] { color: var(--blue-d); background: var(--sky-l); }
.burger { order: 4; display: none; width: 44px; height: 44px; border: 1px solid var(--line); background: #fff; border-radius: 8px; position: relative; cursor: pointer; flex-shrink: 0; }
.burger span:first-child, .burger span:first-child::before, .burger span:first-child::after { position: absolute; left: 11px; width: 20px; height: 2px; background: var(--ink); content: ''; }
.burger span:first-child { top: 21px; }
.burger span:first-child::before { left: 0; top: -6px; }
.burger span:first-child::after { left: 0; top: 6px; }
.audience { background: var(--ink); color: #c9d6e6; font-size: .86rem; }
.aud-row { display: flex; gap: 0 22px; align-items: center; flex-wrap: wrap; min-height: 44px; }
.aud-label { font: 500 .8rem/1 var(--mono); text-transform: uppercase; letter-spacing: .12em; color: var(--sky); }
.audience a { color: #e6eef7; text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; }
.audience a:hover, .audience a[aria-current="page"] { color: #fff; text-decoration: underline; }
.audience a:focus-visible { outline-color: #fff; }
@media (max-width: 1280px) {
  .js .burger { display: block; }
  .js .nav { display: none; position: absolute; left: 0; right: 0; top: 68px; background: #fff; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; padding: 8px 32px 18px; box-shadow: 0 18px 22px -20px rgba(11,31,58,.5); }
  .js.nav-open .nav { display: flex; }
  .nav a { padding: 12px; white-space: normal; }
  .nav .nav-cta { margin: 6px 0 0; justify-content: center; }
}
/* Slovak and Arabic menu labels never fit the 1240 px content width: those languages always use the compact menu. */
@media all {
  html.js[lang="sk"] .burger, html.js[lang="ar"] .burger { display: block; }
  html.js[lang="sk"] .nav, html.js[lang="ar"] .nav { display: none; position: absolute; left: 0; right: 0; top: 68px; background: #fff; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; padding: 8px 32px 18px; box-shadow: 0 18px 22px -20px rgba(11,31,58,.5); }
  html.js.nav-open[lang="sk"] .nav, html.js.nav-open[lang="ar"] .nav { display: flex; }
  html[lang="sk"] .nav a, html[lang="ar"] .nav a { padding: 12px; white-space: normal; }
  html[lang="sk"] .nav .nav-cta, html[lang="ar"] .nav .nav-cta { margin: 6px 0 0; justify-content: center; }
}
/* Grid and flex children may shrink, so long words wrap instead of widening the page. */
.hero-grid > *, .split > *, .split-wide > * { min-width: 0; }
h1, h2, h3 { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 1280px) {
  /* Below desktop the header scrolls away, so the audience bar never covers the content. */
  .site-head { position: relative; }
  [id] { scroll-margin-top: 16px; }
}
@media (max-width: 640px) {
  .aud-row { gap: 0 14px; padding-top: 4px; padding-bottom: 4px; }
  .audience { font-size: .84rem; }
  .audience a { min-height: 36px; }
  .head-row { gap: 8px; }
  .brand { margin-inline-end: 0; }
  .brand img { width: 53px; height: 44px; }
  .brand-txt { display: none; }
  .langs { margin-inline-start: auto; }
  .langs a { min-width: 40px; padding: 0 .2em; }
  .js .nav { left: 0; right: 0; padding: 8px 16px 18px; }
  .aud-row { gap: 0 16px; }
}
html:not(.js) .head-row { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
html:not(.js) .nav { flex-wrap: wrap; order: 5; width: 100%; }

/* ---- sections ---- */
.band { padding: 68px 0; }
.band-sm { padding: 36px 0; }
.band-mist { background: var(--mist); }
.band-ink { background: var(--ink); color: #dbe5f1; }
.band-ink h2, .band-ink h3 { color: #fff; }
.band-ink a { color: var(--sky); }
.band-ink .lead { color: #c3d2e4; }
@media (max-width: 640px) { .band { padding: 44px 0; } .band-sm { padding: 26px 0; } }
.kicker { font: 500 .8rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .14em; color: var(--blue-d); margin: 0 0 14px; }
.band-ink .kicker { color: var(--sky); }
.lead { font-size: 1.16rem; line-height: 1.6; color: var(--ink-2); max-width: 46em; }
.measure { max-width: 970px; }
.measure > p, .measure > ul, .measure > ol { max-width: 45em; }
.center { text-align: center; margin-left: auto; margin-right: auto; }
.sec-head { max-width: 50em; margin-bottom: 36px; }
.small { font-size: .9rem; color: var(--ink-3); }
.band-ink .small { color: #a9bbd0; }
.text-link { font-weight: 600; }

/* ---- hero ---- */
.hero { padding: 72px 0; background: radial-gradient(ellipse at 86% 5%, #e8f6fc 0, transparent 52%), radial-gradient(ellipse at 5% 90%, #edf3ff 0, transparent 48%), #fff; border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; }
.hero .lead { font-size: 1.22rem; max-width: 34em; margin: 22px 0 18px; }
.hero-note { color: var(--ink-3); max-width: 36em; margin-bottom: 26px; }
.hero-sub { padding: 56px 0 50px; }
.hero-sub h1 { font-size: clamp(2.05rem, 3.9vw, 3.2rem); max-width: 21em; }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 32px; } .hero { padding: 44px 0; } }
@media (max-width: 640px) { .hero .lead { font-size: 1.12rem; } .hero h1 { letter-spacing: -.012em; } }

/* ---- buttons ---- */
.btns { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .7em 1.25em; border-radius: 8px; font-weight: 600; font-size: .98rem; text-decoration: none; border: 1px solid transparent; cursor: pointer; text-align: center; }
.btn-p { background: var(--ink); color: #fff; }
.btn-p:hover { background: var(--blue-d); color: #fff; }
.btn-s { background: #fff; color: var(--ink); border-color: var(--field); }
.btn-s:hover { border-color: var(--ink); color: var(--ink); }
.band-ink .btn-p { background: #fff; color: var(--ink); }
.band-ink .btn-p:hover { background: var(--sky); color: var(--ink); }
.band-ink .btn-s { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
button:disabled { opacity: .55; cursor: not-allowed; }
.center .btns { justify-content: center; }
@media (max-width: 640px) { .btns .btn { flex: 1 1 auto; } }

/* ---- home: route panel and proof strip ---- */
.route-panel { padding: 28px; background: rgba(255,255,255,.95); border: 1px solid #ccdaea; border-radius: 20px; box-shadow: 0 20px 60px -28px rgba(70,105,146,.31); }
.route-panel h2 { font-size: 1.6rem; }
.route { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); border-top: 1px solid var(--line); padding: 20px 0; min-height: 88px; }
.route > span:nth-child(2) { min-width: 0; }
.route > span:last-child { margin-inline-start: auto; font-size: 1.3rem; color: var(--blue-d); }
.route b, .route .rt { display: block; font-weight: 600; line-height: 1.3; }
.route small, .route .rd { display: block; font-size: .88rem; color: var(--ink-3); line-height: 1.5; margin-top: 4px; }
.route-num { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; background: var(--sky-l); color: var(--blue-d); font: 500 .8rem/1 var(--mono); }
.route-urgent .route-num { background: var(--amber-l); color: var(--amber); }
.route:hover .rt, .route:hover b { text-decoration: underline; text-underline-offset: 3px; }
.route-panel .small { margin: 6px 0 0; }
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.proof-strip p { padding: 22px 24px; margin: 0; border-inline-start: 1px solid var(--line); }
.proof-strip p:first-child { padding-inline-start: 0; border-inline-start: 0; }
.proof-strip b { display: block; font: 600 1.22rem/1.25 var(--serif); margin-bottom: 6px; }
.proof-strip span { display: block; font-size: .9rem; color: var(--ink-3); line-height: 1.5; }
@media (max-width: 960px) { .proof-strip { grid-template-columns: 1fr 1fr; } .proof-strip p:nth-child(3) { padding-inline-start: 0; border-inline-start: 0; } .proof-strip p:nth-child(n+3) { border-top: 1px solid var(--line); } }
@media (max-width: 560px) { .proof-strip { grid-template-columns: 1fr; } .proof-strip p, .proof-strip p:first-child { padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); } .proof-strip p:last-child { border-bottom: 0; } }

/* ---- cards and grids ---- */
.grid { display: grid; gap: 22px; }
.grid > * { min-width: 0; }
.g2 { grid-template-columns: repeat(2, 1fr); }
.g3 { grid-template-columns: repeat(3, 1fr); }
.g4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .g3, .g4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 28px; display: flex; flex-direction: column; margin: 0; }
.card h3 { margin-bottom: .4em; }
.card p:last-child, .card ul:last-child { margin-bottom: 0; }
.card .more { margin-top: auto; padding-top: 12px; font-weight: 600; text-decoration: none; }
.card-link { text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.card-link:hover { border-color: var(--blue); color: inherit; box-shadow: 0 10px 28px -16px rgba(11,31,58,.35); }
.card-link .more { color: var(--blue-d); }
.band-ink .card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: #dbe5f1; }
.band-ink .card-link .more { color: var(--sky); }
@media (max-width: 640px) { .card { padding: 22px; } }
.tag { display: inline-block; font: 500 .8rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--blue-d); background: var(--sky-l); padding: .45em .6em; border-radius: 4px; margin: 0 0 14px; align-self: flex-start; }
.tag-amber { color: var(--amber); background: var(--amber-l); }
.band-ink .tag { background: rgba(124,196,228,.16); color: var(--sky); }
.num { font: 500 .8rem/1.2 var(--mono); color: var(--blue-d); letter-spacing: .08em; margin: 0 0 10px; display: block; }
.band-ink .num { color: var(--sky); }
.door { border-top: 3px solid var(--blue); }
.door-urgent { border-top: 3px solid var(--amber); }

/* ---- split ---- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.split-wide { grid-template-columns: 1.3fr .7fr; }
@media (max-width: 900px) { .split, .split-wide { grid-template-columns: 1fr; gap: 32px; } }

/* ---- lists ---- */
.ticks { list-style: none; padding: 0; }
.ticks li { position: relative; padding-inline-start: 1.6em; margin: .6em 0; }
.ticks li::before { content: ''; position: absolute; inset-inline-start: 0; top: .5em; width: .75em; height: .4em; border-left: 2px solid var(--blue); border-bottom: 2px solid var(--blue); transform: rotate(-45deg); }
.band-ink .ticks li::before { border-color: var(--sky); }
.dashes { list-style: none; padding: 0; }
.dashes li { position: relative; padding-inline-start: 1.3em; }
.dashes li::before { content: '–'; position: absolute; inset-inline-start: 0; color: var(--ink-3); }

/* ---- process (numbered journey) ---- */
.journey { list-style: none; padding: 0; margin: 0 0 1em; counter-reset: journey; }
.journey li { counter-increment: journey; position: relative; padding-block: 18px; padding-inline: 60px 0; margin: 0; border-top: 1px solid var(--line); }
.journey li:last-child { border-bottom: 1px solid var(--line); }
.journey li::before { content: counter(journey, decimal-leading-zero); position: absolute; inset-inline-start: 0; top: 18px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--blue); color: var(--blue-d); font: 500 .8rem/38px var(--mono); text-align: center; }
.journey b, .journey span { display: block; }
.journey b { font-size: 1.05rem; }
.journey span { color: var(--ink-3); margin-top: 4px; }
.band-ink .journey li { border-color: rgba(255,255,255,.18); }
.band-ink .journey li::before { border-color: var(--sky); color: var(--sky); }
.band-ink .journey b { color: #fff; }
.band-ink .journey span { color: #c3d2e4; }

/* ---- situation and status panels (replace the old SVG diagrams) ---- */
.panels { list-style: none; padding: 0; margin: 0 0 1em; display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.panels-3 { grid-template-columns: repeat(3, 1fr); }
.panels-2 { grid-template-columns: repeat(2, 1fr); }
.panels > li { margin: 0; background: #f6f8fb; padding: 24px; border-top: 3px solid #9cc8e6; border-radius: 0 0 var(--r) var(--r); min-width: 0; }
.band-mist .panels > li { background: #fff; }
.panels > li.urgent { border-top-color: var(--amber); }
.panels h3 { font-size: 1.15rem; }
.panels p { margin: 0 0 .6em; }
.panels p:last-child { margin: 0; }
.panels .role { color: var(--blue-d); font-weight: 600; }
.panels .status { display: inline-block; font: 500 .8rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--amber); background: var(--amber-l); padding: .35em .55em; border-radius: 4px; margin-bottom: 12px; }
:lang(zh) .panels .status { text-transform: none; letter-spacing: .02em; }
@media (max-width: 1000px) { .panels, .panels-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .panels, .panels-3, .panels-2 { grid-template-columns: 1fr; } }

/* group structure (portfolio) */
.org { display: grid; gap: 18px; }
.org-top { background: var(--ink); color: #dbe5f1; border-radius: var(--r); padding: 22px 26px; max-width: 520px; }
.org-top b { display: block; color: #fff; font: 600 1.15rem/1.3 var(--sans); }
.org-top span { font-size: .92rem; }

/* ---- table ---- */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { text-align: start; padding: 12px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-weight: 600; color: var(--ink-2); background: var(--mist); }
tr:last-child td, tr:last-child th { border-bottom: 0; }

/* ---- notes ---- */
.note { border-inline-start: 3px solid var(--blue); background: var(--sky-l); padding: 16px 20px; border-radius: 0 8px 8px 0; color: var(--ink-2); }
.note-amber, .deadline-box { border-inline-start: 4px solid #a15e09; background: #fcf5e9; }
.deadline-box { padding: 28px; border-radius: 0 var(--r) var(--r) 0; }
.note p:last-child, .deadline-box p:last-child { margin: 0; }
.grid + .note, .panels + .note, .note + h3, .deadline-box + h3, .note + .btns { margin-top: 26px; }
.pull { font: 500 clamp(1.3rem, 2.4vw, 1.7rem)/1.4 var(--serif); color: var(--ink); max-width: 34em; margin: 0 0 1em; }
.status-label { color: #725013; background: var(--amber-l); padding: 12px 16px; border-radius: 6px; }

/* evidence cards */
.evidence { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); }
.evidence .card dl { margin: 0; display: grid; gap: 6px; font-size: .95rem; }
.evidence .card dt { font: 500 .8rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); margin-top: 8px; }
.evidence .card dd { margin: 0; }
:lang(zh) .evidence .card dt { text-transform: none; letter-spacing: .02em; }
@media (max-width: 1000px) { .evidence { grid-template-columns: 1fr; } }

/* ---- FAQ ---- */
.faq details { border-bottom: 1px solid var(--line); padding: 16px 0; }
.faq details:first-of-type { border-top: 1px solid var(--line); }
.faq summary { cursor: pointer; font-weight: 600; list-style: none; position: relative; padding-inline-end: 32px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; inset-inline-end: 4px; top: -2px; font: 400 1.4rem/1 var(--sans); color: var(--blue-d); }
.faq details[open] summary::after { content: '–'; }
.faq details p { margin: 12px 0 0; color: var(--ink-2); }

/* ---- company details ---- */
.company-details { display: grid; grid-template-columns: minmax(170px, .38fr) minmax(0, 1fr); margin: 0 0 24px; }
.company-details dt, .company-details dd { padding: 13px 0; border-bottom: 1px solid var(--line); margin: 0; }
.company-details dt { font-weight: 600; padding-inline-end: 20px; }
@media (max-width: 640px) { .company-details { grid-template-columns: 1fr; } .company-details dt { border: 0; padding-bottom: 0; } .company-details dd { padding-top: 4px; } }

/* ---- enquiry ---- */
.pick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 1100px) { .pick { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .pick { grid-template-columns: 1fr; } }
.pick a { display: block; border: 1px solid var(--line); border-radius: var(--r); padding: 18px; text-decoration: none; color: var(--ink); background: #fff; }
.pick a:hover { border-color: var(--blue); }
.pick b { display: block; margin-bottom: 4px; }
.pick span { font-size: .92rem; color: var(--ink-3); }
.form { display: flex; flex-direction: column; gap: 8px; }
.form label { font-size: .95rem; font-weight: 600; }
.form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.form .row2 label { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 640px) { .form .row2 { grid-template-columns: 1fr; } }
.form input, .form select, .form textarea, .preview-box input, .preview-box textarea { background: #fff; border: 1px solid var(--field); border-radius: 8px; width: 100%; padding: 12px; color: var(--ink); margin: 0 0 12px; font-weight: 400; }
.form textarea { resize: vertical; }
.form .small { margin-bottom: 12px; }
.form button { align-self: flex-start; }
.preview-box { background: #fff; padding: 24px; margin-top: 28px; border: 1px solid #9cc8e6; border-radius: var(--r); }
.preview-box label { font-weight: 600; font-size: .95rem; display: block; margin-bottom: 6px; }
.preview-box textarea { white-space: pre-wrap; }
.preview-box .btns { gap: 8px; margin-bottom: 12px; }
html:not(.js) .form { display: none; }

/* ---- legal pages ---- */
.legal h2 { font-size: 1.4rem; margin-top: 1.6em; }

/* ---- footer ---- */
.site-foot { background: #071528; color: #b9c8da; font-size: .93rem; padding: 56px 0 26px; border-top: 1px solid rgba(255,255,255,.12); }
.site-foot a { color: #e6eef7; text-decoration: none; display: block; margin: .3em 0; }
.site-foot a:hover { color: #fff; text-decoration: underline; }
.site-foot a:focus-visible { outline-color: #fff; }
.foot-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
@media (max-width: 900px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .foot-grid { grid-template-columns: 1fr; } .foot-grid a { display: flex; min-height: 44px; align-items: center; margin: 0; } }
.foot-brand { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 600; }
.foot-brand img { width: 52px; height: 43px; object-fit: cover; object-position: 50% 0; background: #fff; border-radius: 8px; padding: 4px 6px; box-sizing: content-box; }
.foot-h { font: 500 .8rem/1.2 var(--mono); text-transform: uppercase; letter-spacing: .14em; color: var(--sky); margin-bottom: 12px; }
.site-foot address { font-style: normal; }
.site-foot address a { display: inline-block; padding: 4px 0; min-height: 26px; }
.foot-legal { border-top: 1px solid rgba(255,255,255,.14); margin-top: 40px; padding-top: 20px; font-size: .82rem; color: #a3b5cb; }
.foot-legal p { margin: .3em 0; max-width: 78em; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
@media print {
  .site-head, .site-foot, .btns, .burger, .langs, .skip, #opp-form, .preview-box, .pick { display: none !important; }
  .hero, .band { padding: 18px 0; background: #fff !important; color: #000 !important; border: 0; }
  .wrap { max-width: none; padding: 0; }
  .hero-grid, .split { display: block; }
  .card, .route-panel, .deadline-box, .panels > li { box-shadow: none; break-inside: avoid; }
  a { color: #000; }
  h1, h2, h3, .band-ink h2, .band-ink h3 { color: #000 !important; }
  .band-ink, .band-ink .card, .band-ink .lead { color: #000 !important; background: #fff !important; }
}

.h3 { font-size: 1.3rem; line-height: 1.3; }
.grid + .btns, .grid + .small { margin-top: 28px; }

/* ---- Arabic (right to left) ---- */
:lang(ar) body, :lang(ar) h1, :lang(ar) h2, :lang(ar) h3, :lang(ar) .btn, :lang(ar) .pull { font-family: 'IBM Plex Sans Arabic', var(--sans); letter-spacing: 0; }
:lang(ar) body { line-height: 1.85; }
:lang(ar) h1 { line-height: 1.35; font-weight: 600; }
:lang(ar) h2, :lang(ar) h3 { line-height: 1.45; font-weight: 600; }
:lang(ar) p, :lang(ar) li { line-height: 1.9; }
:lang(ar) .kicker, :lang(ar) .num, :lang(ar) .aud-label, :lang(ar) .foot-h, :lang(ar) .tag, :lang(ar) .panels .status, :lang(ar) .evidence .card dt { font-family: 'IBM Plex Sans Arabic', var(--sans); letter-spacing: 0; text-transform: none; font-size: .88rem; font-weight: 600; }
:lang(ar) .journey li::before, :lang(ar) .route-num { font-family: var(--mono); }
[dir="rtl"] .note { border-radius: 8px 0 0 8px; }
[dir="rtl"] .deadline-box { border-radius: var(--r) 0 0 var(--r); }

/* ---- visuals: photos, paintings, drawings, charts (v5) ---- */
/* Photo hero: the image sits behind the text with a navy shade for contrast. */
.hero-photo { position: relative; overflow: hidden; background: var(--ink); color: #e6eef7; border-bottom: 0; }
.hero-photo > .bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-photo > .shade { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(11,31,58,.93) 0%, rgba(11,31,58,.80) 36%, rgba(11,31,58,.30) 68%, rgba(11,31,58,.08) 100%); }
[dir="rtl"] .hero-photo > .shade { background: linear-gradient(-100deg, rgba(11,31,58,.93) 0%, rgba(11,31,58,.80) 36%, rgba(11,31,58,.30) 68%, rgba(11,31,58,.08) 100%); }
.hero-photo > .wrap { position: relative; z-index: 1; }
.hero-photo h1, .hero-photo h2 { color: #fff; }
.hero-photo .lead { color: #d5e1ef; }
.hero-photo .hero-note { color: #b9c8da; }
.hero-photo .kicker { color: var(--sky); }
.hero-photo .btn-s { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.hero-photo .btn-s:hover { background: rgba(255,255,255,.12); color: #fff; }
.hero-photo .btn-p { background: #fff; color: var(--ink); }
.hero-photo .btn-p:hover { background: var(--sky); color: var(--ink); }
.hero-photo a:not(.btn):not(.route) { color: var(--sky); }
.photo-credit { position: absolute; bottom: 8px; inset-inline-end: 16px; z-index: 1; font-size: .74rem; color: rgba(255,255,255,.78); max-width: 60%; text-align: end; line-height: 1.4; }
.photo-credit a { color: inherit; }
@media (max-width: 640px) { .photo-credit { position: static; display: block; max-width: none; padding: 8px 16px 12px; text-align: start; background: var(--ink); } }

/* Figures with caption and credit */
.figure { margin: 0; }
.figure img { width: 100%; height: auto; border-radius: var(--r); background: var(--mist); }
.figure.frame img { border-radius: 4px; box-shadow: 0 2px 0 rgba(0,0,0,.04), 0 18px 40px -22px rgba(11,31,58,.55); border: 8px solid #fff; }
.figure.cover img { aspect-ratio: 4 / 3; object-fit: cover; }
.figure figcaption { font-size: .9rem; color: var(--ink-2); margin-top: 12px; line-height: 1.5; }
.figure figcaption b { color: var(--ink); }
.credit { display: block; font-size: .8rem; color: var(--ink-3); margin-top: 4px; }
.band-ink .figure figcaption { color: #c3d2e4; }
.band-ink .figure figcaption b { color: #fff; }
.band-ink .credit { color: #a9bbd0; }

/* Text beside an image */
.media { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.media-wide { grid-template-columns: 1.2fr .8fr; }
.media > * { min-width: 0; }
@media (max-width: 900px) { .media, .media-wide { grid-template-columns: 1fr; gap: 28px; } }

/* Full-width photo band between sections */
/* The whole image is always shown (owner rule, 8 Oct 2026): no cropping, no text over the picture. */
.photo-band { position: relative; margin: 0; padding: 48px 24px 36px; background: var(--ink); text-align: center; }
.photo-band img { display: block; width: 100%; max-width: 900px; height: auto; margin: 0 auto; border: 8px solid #f4efe6; border-radius: 4px; box-shadow: 0 24px 50px -24px rgba(0,0,0,.6); }
.photo-band figcaption { max-width: 760px; margin: 16px auto 0; color: #c3d2e4; font-size: .92rem; line-height: 1.5; }
@media (max-width: 640px) { .photo-band { padding: 28px 16px 24px; } .photo-band img { border-width: 5px; } }
/* Square and upright pictures in a band: narrower, so they never fill the whole screen */
.photo-band img[data-shape="square"] { max-width: 640px; }
.photo-band img[data-shape="portrait"] { max-width: 480px; }

/* Gallery wall: paintings or patent drawings */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px; }
.gallery .figure { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 14px; display: flex; flex-direction: column; }
.gallery .figure img { aspect-ratio: 4 / 5; object-fit: contain; background: #fff; border-radius: 6px; }
/* Six items: three per row, never an orphan row */
@media (min-width: 901px) { .gallery:has(> .figure:nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr); } }
.gallery.photos .figure img { object-fit: contain; aspect-ratio: 4 / 5; }
.gallery .figure figcaption { font-size: .86rem; }
.band-ink .gallery .figure { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); }
/* Presentation slides (16:9, shown whole) */
.gallery.slides { grid-template-columns: repeat(4, 1fr); }
/* Title slide shown large: 13 slides then fill whole rows (2 x 2 + 12) */
.gallery.slides .figure:first-child { grid-column: span 2; grid-row: span 2; justify-content: center; }
@media (max-width: 1000px) { .gallery.slides { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .gallery.slides { grid-template-columns: 1fr; } .gallery.slides .figure:first-child { grid-column: auto; grid-row: auto; } }
.gallery.slides .figure { padding: 10px; }
.gallery.slides .figure img { aspect-ratio: 16 / 9; object-fit: contain; background: #fff; border-radius: 4px; }
.gallery.slides .figure a { display: block; border-radius: 4px; }
.gallery.slides .figure a:hover img, .gallery.slides .figure a:focus-visible img { outline: 2px solid var(--blue); outline-offset: 2px; }
.slides-block { margin-top: 48px; }
.slides-block h3 { margin-bottom: 6px; }
/* Wide framed illustration and uncropped banner */
.figure-wide { max-width: 920px; margin: 48px auto 0; }
.figure.banner { margin-top: 48px; }
.figure.banner img { border-radius: var(--r); background: #fbfaf6; }
.figure .enlarge { display: block; cursor: zoom-in; }
.figure .enlarge:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

/* Horizontal bar charts in HTML (readable on phones, translatable) */
.chart { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 24px; }
.band-mist .chart { background: #fff; }
.chart > figcaption:first-child { margin: 0 0 16px; }
.chart > figcaption:first-child b { display: block; font: 600 1.12rem/1.35 var(--sans); color: var(--ink); }
.chart > figcaption:first-child span { font-size: .88rem; color: var(--ink-3); }
.bars { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.bars li { display: grid; grid-template-columns: minmax(7em, 9em) 1fr 4.6em; gap: 12px; align-items: center; margin: 0; font-size: .92rem; }
.bars .lbl { color: var(--ink-2); }
.bars .bar { display: block; height: 16px; background: var(--mist); border-radius: 4px; overflow: hidden; }
.bars .bar i { display: block; height: 100%; background: #9cb6d8; border-radius: 4px; }
.bars li.hl .lbl { font-weight: 600; color: var(--ink); }
.bars li.hl .bar i { background: var(--blue); }
.bars li.ref .bar i { background: var(--ink-3); }
.bars .val { font: 500 .88rem/1 var(--mono); color: var(--ink); text-align: end; }
.chart .source { font-size: .8rem; color: var(--ink-3); margin: 14px 0 0; }
@media (max-width: 480px) { .bars li { grid-template-columns: 6.5em 1fr 4em; gap: 8px; font-size: .86rem; } }

/* Key figures */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.stat { border-top: 3px solid var(--blue); padding-top: 14px; }
.stat b { display: block; font: 600 clamp(1.8rem, 3.4vw, 2.6rem)/1.1 var(--serif); color: var(--ink); }
.stat span { font-size: .92rem; color: var(--ink-2); }
.band-ink .stat b { color: #fff; }
.band-ink .stat span { color: #c3d2e4; }
@media (max-width: 760px) { .stats { grid-template-columns: 1fr; } }
:lang(ar) .stat b { font-family: 'IBM Plex Sans Arabic', var(--sans); }

/* Time line of regional inventors */
.timeline { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; border-inline-start: 2px solid var(--line); }
.timeline li { position: relative; padding: 0 0 22px 22px; padding-inline: 22px 0; margin: 0; }
.timeline li::before { content: ''; position: absolute; inset-inline-start: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--blue); }
.timeline b { font: 500 .85rem/1.2 var(--mono); color: var(--blue-d); display: block; margin-bottom: 4px; }
/* Card with a picture on top */
.card > .card-img { display: block; width: calc(100% + 56px); max-width: none; margin: -28px -28px 20px; aspect-ratio: 16 / 10; object-fit: contain; border-radius: var(--r) var(--r) 0 0; background: #e9edf2; padding: 14px; box-sizing: border-box; }
@media (max-width: 640px) { .card > .card-img { width: calc(100% + 44px); margin: -22px -22px 18px; } }
.card-link:hover > .card-img { filter: saturate(1.08) contrast(1.03); }
/* Hero with photo: route panel stays a white card */
.hero-photo .route-panel { color: var(--ink); }
.hero-photo .route-panel h2 { color: var(--ink); }
.hero-photo .route-panel .kicker { color: var(--blue-d); }
@media (max-width: 900px) { .hero-photo > .shade { background: rgba(11,31,58,.84); } }
.hero-photo .route-panel a:not(.route) { color: var(--blue-d); }
.hero-photo.hero-sub { padding: 88px 0 80px; }
@media (max-width: 640px) { .hero-photo.hero-sub { padding: 56px 0 52px; } }
/* Image credits list (legal notice) */
.credits-list { list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.credits-list li { padding: 10px 0; border-bottom: 1px solid var(--line); margin: 0; }
.credits-list b { color: var(--ink); }
/* Home hero with framed painting, routes band below */
.hero-art { background: radial-gradient(ellipse at 85% 10%, #1d3a66 0, transparent 55%), var(--ink); }
.hero-art .hero-grid { grid-template-columns: 1fr 1fr; align-items: center; }
.hero-figure img { border-color: #f4efe6; }
.hero-art .hero-figure figcaption { color: #b9c8da; font-size: .86rem; }
.routes-band { background: #fff; border-bottom: 1px solid var(--line); }
.routes-head { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-bottom: 8px; }
.routes-head .kicker { margin: 0; }
.routes-head h2 { margin: 0; font-size: 1.5rem; }
.routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 28px; }
.routes .route { border-top: 1px solid var(--line); }
@media (max-width: 900px) { .routes { grid-template-columns: 1fr; } .hero-art .hero-grid { grid-template-columns: 1fr; } }
.split-wide > div > .figure + .card { margin-top: 22px; }
.split > div > .figure { margin-block: 28px 32px; }
.split > div > .figure:first-child { margin-top: 0; }

/* Closing call to action over an abstract illustration */
.cta-photo > .shade, [dir="rtl"] .cta-photo > .shade { background: rgba(11,31,58,.74); }
.cta-photo .lead { color: #d5e1ef; }
/* Inner-page heroes and closing band: text beside the whole, framed image */
.hero-split .hero-grid, .cta-split .hero-grid { grid-template-columns: 1.1fr .9fr; gap: 56px; }
.hero-split .hero-figure, .cta-split .hero-figure { text-align: center; }
.hero-split .hero-figure img, .cta-split .hero-figure img { display: block; width: 100%; height: auto; }
@media (min-width: 901px) { .hero-split .hero-figure img[data-shape="portrait"], .cta-split .hero-figure img[data-shape="portrait"] { display: inline-block; width: auto; height: min(470px, 70vh); max-width: 100%; object-fit: contain; } }
.hero-photo.hero-split { padding: 64px 0 60px; }
.hero-split h1 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); }
@media (max-width: 900px) { .hero-split .hero-grid, .cta-split .hero-grid { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 640px) { .hero-photo.hero-split { padding: 40px 0 40px; } }

/* ---- v6 (audit 8 Oct 2026) ---- */
/* Picture role stated next to the picture (regional heritage, not STI sites) */
.card-cap { display: block; margin: -10px 0 14px; font-size: .78rem; line-height: 1.4; color: var(--ink-3); }
/* Deadline line in hero: visible without promising urgency */
.hero-note.urgent { margin: 18px 0 0; padding: 10px 14px; border-inline-start: 3px solid #e3a54a; background: rgba(255,255,255,.06); border-radius: 0 6px 6px 0; font-size: .95rem; max-width: 36em; }
.hero-photo .hero-note.urgent { color: #d5e1ef; }
.hero-photo .hero-note.urgent strong { color: #fff; }
.hero:not(.hero-photo) .hero-note.urgent { background: #fcf5e9; color: var(--ink-2); }
[dir="rtl"] .hero-note.urgent { border-radius: 6px 0 0 6px; }
.banner-note { margin: 8px 0 0; }
/* NaturePack: local-language context before the English slides, English text of the slides after them */
.np-context { margin-top: 40px; }
.transcript { margin-top: 28px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; padding: 14px 18px; }
.transcript summary { cursor: pointer; font-weight: 600; color: var(--ink); }
.slide-text { margin: 16px 0 0; padding-inline-start: 0; list-style: none; display: grid; gap: 14px; }
.slide-text > li { border-top: 1px solid var(--line); padding-top: 12px; }
.slide-text h4 { margin: 0 0 6px; font-size: 1rem; }
.slide-text p, .slide-text li { font-size: .92rem; }
/* EU projects: sample continuity register */
.register { margin-top: 32px; }
.register h3 { margin-bottom: 4px; }
.register table { font-size: .86rem; min-width: 760px; }
.register td:first-child { font-weight: 600; }
/* Very narrow screens (under 360 px): the header row keeps logo, four languages and the menu on one line */
@media (max-width: 360px) {
  .head-row { gap: 4px; }
  .brand img { width: 44px; height: 37px; }
  .langs a { min-width: 32px; padding: 0 .1em; }
  .burger { width: 40px; }
  .burger span:first-child { left: 9px; }
}
/* Arabic: upright address, readable small text (the Arabic script reads smaller than Latin at equal size) */
:lang(ar) address { font-style: normal; }
:lang(ar) .small, :lang(ar) figcaption, :lang(ar) .chart .source, :lang(ar) .card-cap { font-size: .95rem; line-height: 1.7; }
:lang(ar) .band-ink .small, :lang(ar) .site-foot .small { color: #c3d2e4; }
:lang(zh) .num, :lang(zh) .panels .status, :lang(zh) .evidence .card dt, :lang(zh) .route-num { font-family: var(--sans), var(--cjk); letter-spacing: 0; }
/* Final read: centred closing text without a lone last word; space above the link under the home patent teaser */
.center .lead, .lead.center, .wrap.center > p { text-wrap: balance; }
#inventions .gallery + a, #inventions .gallery + p { display: inline-block; margin-top: 18px; }

/* chart bar widths (generated) */
.w-1 { width: 1%; }
.w-2 { width: 2%; }
.w-3 { width: 3%; }
.w-4 { width: 4%; }
.w-5 { width: 5%; }
.w-6 { width: 6%; }
.w-7 { width: 7%; }
.w-8 { width: 8%; }
.w-9 { width: 9%; }
.w-10 { width: 10%; }
.w-11 { width: 11%; }
.w-12 { width: 12%; }
.w-13 { width: 13%; }
.w-14 { width: 14%; }
.w-15 { width: 15%; }
.w-16 { width: 16%; }
.w-17 { width: 17%; }
.w-18 { width: 18%; }
.w-19 { width: 19%; }
.w-20 { width: 20%; }
.w-21 { width: 21%; }
.w-22 { width: 22%; }
.w-23 { width: 23%; }
.w-24 { width: 24%; }
.w-25 { width: 25%; }
.w-26 { width: 26%; }
.w-27 { width: 27%; }
.w-28 { width: 28%; }
.w-29 { width: 29%; }
.w-30 { width: 30%; }
.w-31 { width: 31%; }
.w-32 { width: 32%; }
.w-33 { width: 33%; }
.w-34 { width: 34%; }
.w-35 { width: 35%; }
.w-36 { width: 36%; }
.w-37 { width: 37%; }
.w-38 { width: 38%; }
.w-39 { width: 39%; }
.w-40 { width: 40%; }
.w-41 { width: 41%; }
.w-42 { width: 42%; }
.w-43 { width: 43%; }
.w-44 { width: 44%; }
.w-45 { width: 45%; }
.w-46 { width: 46%; }
.w-47 { width: 47%; }
.w-48 { width: 48%; }
.w-49 { width: 49%; }
.w-50 { width: 50%; }
.w-51 { width: 51%; }
.w-52 { width: 52%; }
.w-53 { width: 53%; }
.w-54 { width: 54%; }
.w-55 { width: 55%; }
.w-56 { width: 56%; }
.w-57 { width: 57%; }
.w-58 { width: 58%; }
.w-59 { width: 59%; }
.w-60 { width: 60%; }
.w-61 { width: 61%; }
.w-62 { width: 62%; }
.w-63 { width: 63%; }
.w-64 { width: 64%; }
.w-65 { width: 65%; }
.w-66 { width: 66%; }
.w-67 { width: 67%; }
.w-68 { width: 68%; }
.w-69 { width: 69%; }
.w-70 { width: 70%; }
.w-71 { width: 71%; }
.w-72 { width: 72%; }
.w-73 { width: 73%; }
.w-74 { width: 74%; }
.w-75 { width: 75%; }
.w-76 { width: 76%; }
.w-77 { width: 77%; }
.w-78 { width: 78%; }
.w-79 { width: 79%; }
.w-80 { width: 80%; }
.w-81 { width: 81%; }
.w-82 { width: 82%; }
.w-83 { width: 83%; }
.w-84 { width: 84%; }
.w-85 { width: 85%; }
.w-86 { width: 86%; }
.w-87 { width: 87%; }
.w-88 { width: 88%; }
.w-89 { width: 89%; }
.w-90 { width: 90%; }
.w-91 { width: 91%; }
.w-92 { width: 92%; }
.w-93 { width: 93%; }
.w-94 { width: 94%; }
.w-95 { width: 95%; }
.w-96 { width: 96%; }
.w-97 { width: 97%; }
.w-98 { width: 98%; }
.w-99 { width: 99%; }
.w-100 { width: 100%; }
