/* ============================================================
   HSEI.IO — typography.css
   FIXED TYPOGRAPHY MATRIX (AGENTS.md v1.1 — NON-NEGOTIABLE)
   Единственный файл проекта, где задаются font-size / font-family.
   Исключение: SVG labels в hero-signal.js (8–11px).
   ============================================================ */

/* ── Base document ── */
body {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

/* ── Core scale (.type-*) ── */

.type-h1 {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.type-h2 {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.type-h3 {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}

.type-body {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}

.type-tech {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.type-tech-14 {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.type-display {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}

.type-display-inline {
  font-family: var(--font-sans);
  font-style: italic;
  font-weight: 400;
}

/* Buttons & form controls */
.type-btn {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.btn,
.btn-primary,
.btn-outline-g,
.btn-outline-t,
.btn-ghost {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.btn-sm { font-size: 13px; }
.btn-md { font-size: 13px; }
.btn-lg { font-size: 14px; }

.cta-input,
.reg-input,
.reg-select,
.comm-reg-input,
.comm-reg-select,
.cb-input,
.audit-form input,
.audit-form textarea {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

/* ── Tech modifiers (letter-spacing / transform only) ── */

.type-tech--eyebrow,
.type-tech.type-tech--eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.28em;
}

.type-tech--nav {
  letter-spacing: 0.05em;
  text-transform: none;
}

.type-tech--wide {
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.type-tech--micro {
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.type-h1--brand {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.type-body--muted {
  color: var(--text-muted);
}

.type-body--compact {
  font-size: 18px;
  line-height: 1.55;
}

/* ── Layout-class aliases (map presets → matrix) ── */

/* H1 */
.diag-h1,
.pg-title,
.type-h1 {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.hero-brand {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Hero H1 — бронзовый металл + движущийся блик (background-clip: text) */
.hero-brand,
.hero-brand.type-h1 {
  font-family: var(--font-sans);
  font-size: 132px;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--brand-metal-fallback);
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-image:
    linear-gradient(
      105deg,
      transparent 38%,
      rgba(255, 245, 238, 0.62) 47%,
      rgba(255, 255, 255, 0.38) 50%,
      rgba(255, 245, 238, 0.62) 53%,
      transparent 62%
    ),
    linear-gradient(
      145deg,
      #8f6558 0%,
      #b08878 18%,
      #7a564c 32%,
      #c4a090 48%,
      #8a6356 62%,
      #a88272 78%,
      #6e4a40 100%
    );
  background-size: 240% 100%, 100% 100%;
  background-position: -130% 0, 0 0;
  background-repeat: no-repeat;
  filter:
    drop-shadow(0 2px 10px rgba(0, 0, 0, 0.38))
    drop-shadow(0 0 28px rgba(110, 74, 64, 0.22));
}

/* H2 */
.sec-title,
.cta-title,
.diag-h2,
.type-h2 {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.th-title {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* H3 */
.mba-title,
.vc-title,
.wc-title,
.pc-skill,
.sc-title,
.pc-title,
.pc-name,
.prog-name,
.ec-title,
.tier-name,
.audit-form-title,
.pn-label,
.type-h3 {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}

.pc-title,
.wc-title,
.sc-title {
  font-size: 24px;
  font-weight: 500;
}

/* Body */
.sec-body,
.hero-sub,
.diag-hero-sub,
.diag-hero-lead,
.diag-body,
.pg-sub,
.th-sub,
.mba-desc,
.pc-desc,
.wc-desc,
.pc-text,
.sc-sub,
.vectors-note,
.cta-sub,
.tier-desc,
.tier-tagline,
.tier-note,
.tier-compare,
.tier-list li,
.phase-footer,
.prog-desc,
.ec-desc,
.oi-desc,
.wc-text,
.mn-text,
.form-status,
.type-body {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.sec-body,
.hero-sub,
.diag-hero-sub,
.pg-sub,
.th-sub,
.mba-desc,
.cta-sub,
.vectors-note,
.diag-body,
.tier-tagline {
  color: var(--text-muted);
}

.pc-text,
.pc-desc,
.wc-desc,
.sc-sub,
.tier-note,
.tier-compare,
.tier-list li {
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-ghost);
}

/* Display / quotes */
.hero-statement,
.diag-phase-quote,
.symptom-counter,
.type-display {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}

/* Tech labels — 13px */
.sec-label,
.hero-eyebrow,
.hero-note,
.cta-tag,
.cta-note,
.cta-eyebrow,
.pc-num,
.vc-v,
.eyebrow,
.diag-label,
.fs-role,
.readout-v,
.pm-label,
.ft-col,
.footer-copy,
.sp-label,
.mod-num,
.mba-badge,
.th-badge,
.pc-track,
.vm-title,
.st-title,
.si-stage,
.mm-item,
.tp-date,
.ec-type,
.em-item,
.rmp-label,
.vmi-num,
.pg-tag,
.ts-label,
.readout-name,
.sc-vector,
.tier-level,
.tier-block-title,
.tier-includes-label,
.tier-not-label,
.mn-label,
.diag-disclaimer,
.cases-disclaimer,
.score-disclaimer,
.type-tech {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.sec-label,
.hero-eyebrow,
.cta-tag,
.cta-eyebrow,
.eyebrow,
.diag-label,
.pg-tag,
.mba-badge,
.th-badge,
.tier-block-title,
.mn-label,
.ft-col {
  text-transform: uppercase;
  letter-spacing: 0.28em;
}

.hero-note,
.cta-note,
.footer-copy,
.diag-disclaimer,
.cases-disclaimer,
.score-disclaimer {
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.vc-v,
.pc-num,
.readout-v {
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Tech — 14px */
.hero-regenesis,
.hero-institute,
.fs-q,
.fs-brand,
.nav-links a,
.nav-science,
.drawer-science,
.nlogo-text,
.readout-val,
.sp-num,
.pc-price,
.tier-price,
.pm-live,
.lang-btn,
.type-tech-14 {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.hero-regenesis {
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--teal-accent);
}

.hero-institute {
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(228, 184, 174, 0.6);
}

.fs-brand {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.fs-q {
  color: var(--teal-accent);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sp-num,
.pc-price,
.tier-price {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  color: var(--gold);
}

.nlogo-text {
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--gold);
}

.nlogo-sub {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.12em;
  color: rgba(228, 184, 174, 0.55);
}

.ft-brand {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--gold);
}

.ft-tag,
.ft-links a {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
}

.ft-tag { color: var(--text-ghost); }
.ft-links a { font-size: 18px; color: var(--text-muted); }

.ft-sci {
  font-family: var(--font-sans);
  font-size: 18px;
  color: var(--teal-accent);
}

.cta-badge,
.vc-item,
.ti,
.tier-item,
.mm-item,
.mod-topics,
.si-desc,
.si-metric,
.vmi-name,
.ec-meta,
.pc-duration,
.tier-footnote {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.55;
}

.vc-item,
.ti,
.tier-item {
  font-size: 18px;
  color: var(--text-ghost);
}

.mod-title,
.si-name,
.vmi-name,
.oi-title,
.wc-title,
.ec-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.mod-topics,
.si-desc,
.ec-desc {
  font-size: 18px;
  color: var(--text-ghost);
}

.si-metric {
  font-family: var(--font-tech);
  font-size: 13px;
  color: var(--teal-accent);
}

.pn-tip {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.5;
}

.pn-circle {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.mba-cert-text strong {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  display: block;
}

.mba-cert-text span {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-ghost);
}

.readout-tip {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.45;
}

.fs-sep {
  font-family: var(--font-sans);
  font-size: 24px;
  color: rgba(228, 184, 174, 0.25);
}

.drawer-head .nlogo-text,
.drawer-links a {
  font-family: var(--font-sans);
  font-size: 18px;
}

/* ── Phase 2 page aliases ── */

/* Community */
.comm-hero-tag,
.comm-jc-eyebrow {
  font-family: var(--font-tech);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
}
.comm-hero-title,
.comm-jc-title {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.comm-hero-sub,
.comm-jc-sub,
.comm-tier-desc,
.comm-tg-desc,
.comm-rs-desc,
.tp-text {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-muted);
}
.comm-stat-num {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  color: var(--gold);
}
.comm-stat-lbl,
.comm-tier-badge,
.comm-event-type,
.comm-meta-item,
.comm-tg-handle {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.05em;
}
.comm-tier-name,
.comm-tg-name,
.comm-event-title,
.comm-rs-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}
.comm-tier-item {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-ghost);
}
.comm-event-desc {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.55;
  color: var(--text-ghost);
}
.comm-mq-text {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
}
.comm-mq-cite {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Cases — terminal log */
.cases-hero-tag {
  font-family: var(--font-tech);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
}
.cases-hero-title {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.cases-hero-sub {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-muted);
}
.sys-log-header,
.sys-log-vlabel,
.sys-log-vval {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.05em;
}
.sys-log-eyebrow {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.sys-log-meta,
.sys-log-intervention {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
}
.sys-log-score-num {
  font-family: var(--font-tech);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.sys-log-score-status {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.sys-log-quote {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
}

/* Score widget */
.score-hero-tag,
.score-widget-label,
.score-formula-label {
  font-family: var(--font-tech);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
}
.score-hero-title {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.score-hero-sub,
.score-formula-note,
.score-recommendation {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 1.6;
  color: var(--text-muted);
}
.score-input-label {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.06em;
}
.score-input-val {
  font-family: var(--font-tech);
  font-size: 14px;
  color: var(--gold);
}
.score-result-num {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  color: var(--gold);
}
.score-result-status {
  font-family: var(--font-tech);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.score-formula-text {
  font-family: var(--font-tech);
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.7;
  color: var(--teal-accent);
}

/* Technology + Profession (ToC pages) */
.page-title {
  font-family: var(--font-sans);
  font-size: 56px;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.page-sub {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-muted);
}

.breadcrumb {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.14em;
}

.page-tag,
.toc-t {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.tl {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.05em;
}

.tp-body {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.formula-block {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.fb-label {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.fb-note {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
}

.lc-num {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.lc-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.li {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
}

.cc-badge {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.cc-name {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.centre-card .cc-desc,
.priv-desc,
.cs-desc,
.who-card .wc-desc {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--text-ghost);
}

.priv-title {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.rmp-name,
.rmi {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.rmc-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.ai-label {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.ai-text {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.def-text {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}

.def-sub {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mi {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.comp-table th {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.comp-table td {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}

.comp-card .cc-num {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.comp-card .cc-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.cc-desc {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--text-muted);
}

.cc-tools {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.wc-prof,
.cs-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.wc-why {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.cs-dot {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.cs-tag {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.drk-av {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

.drk-name {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.drk-role {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.drk-text {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
}

/* ============================================================
   CRITICAL DENSITY RESET — compact scientific UI
   ============================================================ */

body {
  font-size: 16px;
  line-height: 1.5;
}

/* No decorative/script fonts — strict sans + tech only */
.type-display,
.type-display-inline,
.hero-statement,
.diag-phase-quote,
.symptom-counter,
.def-text,
.drk-text,
.mission-quote,
.comm-mission,
.comm-mq-text,
.cases-log-quote,
.sys-log-quote,
.score-quote {
  font-family: var(--font-sans);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}

/* Subtitle lines below logo */
.hero-institute,
.hero-regenesis {
  font-family: var(--font-tech);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-institute {
  color: rgba(228, 184, 174, 0.6);
}

.hero-regenesis {
  color: var(--teal-accent);
}

/* Main explanatory quote — clean sans italic */
.hero-statement,
.hero-statement.type-display {
  font-family: var(--font-sans);
  font-size: 16px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--text-main);
}

.hero-sub {
  font-size: 15px;
  line-height: 1.5;
}

/* Navigation */
.nav-links a {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-transform: none;
}

.nav-science,
.drawer-science {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: none;
}

.nlogo-text {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.nlogo-sub {
  font-family: var(--font-tech);
  font-size: 10px;
  letter-spacing: 0.1em;
}

.lang-btn {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.nav-cta,
.nav-cta.btn,
.nav-cta.btn-primary {
  font-family: var(--font-tech);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 8px 16px;
}

/* Hero action buttons */
.hero-ctas .btn {
  font-family: var(--font-tech);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 10px 20px;
}

.btn,
.btn-primary,
.btn-outline-g,
.btn-outline-t {
  font-size: 14px;
  padding: 10px 20px;
}

.btn-sm {
  font-size: 13px;
  padding: 8px 16px;
}

/* Telemetry widget */
.readout-v {
  font-family: var(--font-tech);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-ghost);
}

.readout-val {
  font-family: var(--font-tech);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: var(--teal-accent);
}

.readout-val.warn {
  color: var(--gold);
}

.readout-name {
  font-family: var(--font-tech);
  font-size: 10px;
  line-height: 1.25;
  letter-spacing: 0.02em;
}

.pm-label {
  font-family: var(--font-tech);
  font-size: 11px;
  letter-spacing: 0.05em;
}

.pm-live {
  font-family: var(--font-tech);
  font-size: 11px;
  letter-spacing: 0.05em;
}

/* ── Partners page (/partners) ── */
.ptr-eyebrow,
.ptr-label,
.ptr-pc-type,
.ptr-no-label,
.ptr-principle-note,
.ptr-cb-note,
.ptr-st-row.header .ptr-st-cell {
  font-family: var(--font-tech);
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.ptr-title {
  font-family: var(--font-sans);
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.ptr-sec-title,
.ptr-cb-title {
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.ptr-pc-name,
.ptr-oi-title,
.ptr-why-title {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}

.ptr-sub,
.ptr-body,
.ptr-pc-desc,
.ptr-pc-examples,
.ptr-oi-desc,
.ptr-why-text,
.ptr-footnote,
.ptr-cb-sub,
.ptr-no-item {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
}

.ptr-principle-quote {
  font-family: var(--font-sans);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
}

.ptr-st-cell:first-child,
.ptr-st-cell.metric {
  font-family: var(--font-tech);
  font-size: 13px;
}

.ptr-st-cell.investment {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 300;
  color: var(--gold);
}

.ptr-oi-num {
  font-family: var(--font-tech);
  font-size: 13px;
  color: var(--gold);
}

/* ── Responsive (matrix scale-down) ── */
@media (max-width: 767px) {
  .type-h1,
  .diag-h1,
  .pg-title,
  .comm-hero-title,
  .cases-hero-title,
  .score-hero-title,
  .page-title {
    font-size: 36px;
  }

  .hero-brand,
  .hero-brand.type-h1 {
    line-height: 1.05;
  }

  .type-h2,
  .sec-title,
  .cta-title,
  .th-title,
  .diag-h2 {
    font-size: 28px;
  }

  .type-h3,
  .mba-title,
  .vc-title,
  .sc-title {
    font-size: 20px;
  }

  .type-body,
  .sec-body,
  .hero-sub,
  .pg-sub {
    font-size: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
