@layer design {
/* ═══════════ VARIABLES ═══════════ */
:root {
  --navy: #0F1E3C;
  --gold: #7C5F27;
  --gold-rule: #B08C46;
  --gold-light: #E4C687;
  --charcoal: #37414F;
  --platinum: #F4F2ED;
  --white: #FFFFFF;
  --warm-gray: #646B7A;
  --border: #E2E0DA;
  --ink: #0A1428;
  --shadow-s: 0 2px 8px rgba(15,30,60,0.04);
  --shadow-m: 0 8px 32px rgba(15,30,60,0.06);
  --shadow-gold: 0 8px 32px rgba(176,140,70,0.1);
  --ease: cubic-bezier(0.25, 1, 0.5, 1);
  --f-body: var(--an-font);
  --f-display: var(--an-font);
}
/* ═══════════ RESET & ACCESSIBILITY ═══════════ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
body {
  font-family: var(--f-body);
  color: var(--charcoal);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
}
p,
blockquote,
.paper-abstract,
.etym-desc {
  -webkit-hyphens: auto;
  hyphens: auto;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
}
a:focus-visible,
button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--gold);
  border-radius: 0;
}
/* READING ROLES — sole owner of research main typography and reading rhythm.
   Section headings, body and cards use the shared contract in animesis-type.css.
   Research-specific diagram roles are explicitly scoped here.
   Layout, language spans and decorative components must not redefine these.
   No !important is needed: previous competing declarations were removed. */
.page-research main {
  font: var(--an-body-weight) var(--an-body-size)/var(--an-body-line) var(--an-font);
  letter-spacing: var(--an-body-tracking);
}
.page-research main :is(p, blockquote) { text-wrap: pretty; }
.page-research main em { font-style: normal; font-weight: inherit; }
.page-research main :is(strong, b, .paradigm-term, .ado-what em) {
  font-weight: 500;
  font-style: normal;
  color: var(--navy);
}
.page-research main .hero-title {
  font: var(--an-hero-weight) var(--an-hero-size)/var(--an-hero-line) var(--an-font);
  letter-spacing: var(--an-hero-tracking);
}
.page-research main .section-title {
  font: var(--an-section-weight) var(--an-section-size)/var(--an-section-line) var(--an-font);
  letter-spacing: var(--an-section-tracking);
  margin: 0 0 var(--an-title-gap);
  max-width: 100%;
}
.page-research main :is(h3, h4, .axiom-name, .num-title, .ado-name,
  .iin-t, .cma-heading, .ado-note-t, .hero-title-sub) {
  font: var(--an-card-weight) var(--an-card-size)/var(--an-card-line) var(--an-font);
  letter-spacing: var(--an-card-tracking);
}
.page-research main :is(.p-card h3, .scene-card h3, .case-card h3, .ref-card h3, .lc-item h4,
  .axiom-name, .num-title, .ado-name, .iin-t, .paper-title, .cma-heading, .ado-note-t) {
  margin: 0 0 var(--an-paragraph-gap);
}
.page-research main .pp-note .paper-abstract p { margin: 0 0 var(--an-paragraph-gap); }
.page-research main .pp-note .paper-abstract p:last-child { margin-bottom: 0; }
.page-research main :is(.ref-card blockquote, .case-card blockquote, .paper-abstract) {
  margin-bottom: var(--an-paragraph-gap);
}
.page-research main .paper-origin { margin-bottom: var(--an-title-gap); }
.page-research main :is(.gr-name, .sl-name) {
  font: 400 1.0625rem/1.6 var(--an-font);
  letter-spacing: 0;
}
.page-research main .gr-desc {
  font: var(--an-meta-weight) var(--an-meta-size)/1.65 var(--an-font);
  letter-spacing: 0;
}
.page-research main .sec-lede {
  font-size: var(--an-lead-size);
  line-height: var(--an-lead-line);
  letter-spacing: var(--an-body-tracking);
  max-width: var(--an-reading-width);
  margin: 0 0 var(--an-content-gap);
}
.page-research main .hero-desc {
  font-size: var(--an-body-size);
  line-height: var(--an-body-line);
  max-width: var(--an-reading-width);
}
.page-research main :is(.section-label, .pp-sub, .ado-gh,
  .cma-badge, .paper-badge, .case-tag, .hero-eyebrow, .band-src) {
  font: var(--an-eyebrow-weight) var(--an-eyebrow-size)/var(--an-eyebrow-line) var(--an-font);
  letter-spacing: var(--an-eyebrow-tracking);
}
.page-research main :is(.paradigm-question, .ref-context, .case-insight, .paper-origin, .msg-sign,
  .ado-legend, .ado-src, .paper-meta, .case-paper-source, .etym-parts) {
  font: var(--an-meta-weight) var(--an-meta-size)/var(--an-meta-line) var(--an-font);
  letter-spacing: 0;
}
.page-research main :is(.num-label, .scene-tier, .ado-kind, .ado-lv, .sl-tag,
  .lc-stage, .iin-head > span, .gov-axis > span, .sl-gradient > span, .axiom-num) {
  font: 500 var(--an-meta-size)/1.5 var(--an-font);
  letter-spacing: .04em;
}
.page-research main :is(.scene-num, .lc-icon, .sl-num, .iin-num) {
  font: 400 var(--an-meta-size)/1.5 var(--an-font);
  letter-spacing: .1em;
}
.page-research main .ado-tag .ado-lv { letter-spacing: 0; }
.page-research main .num-val {
  font: 200 2.5rem/1.2 var(--an-font);
  letter-spacing: .01em;
}
.page-research main .num-val .num-sub {
  font: var(--an-card-weight) var(--an-card-size)/var(--an-card-line) var(--an-font);
}
.page-research main :is(.arch-quote, .band-q, .etym-word) {
  font: 300 clamp(1.5rem, 3.4vw, 2.875rem)/1.55 var(--an-font);
  letter-spacing: .02em;
  text-wrap: balance;
}
.page-research main :is(.btn-gold, .btn-ghost, .head-link, .paper-pdf,
  .ado-link, .ado-more button, .ref-footer a) {
  font: 400 var(--an-body-size)/var(--an-body-line) var(--an-font);
  letter-spacing: 0;
}
.page-research main section:not(.hero) { padding: var(--an-section-space) 0; }
.page-research main .section-label { margin: 0 0 16px; }
.page-research main :is(.section-rule, .section-rule--center, .section-rule--etym) {
  margin: 0 0 var(--an-title-gap);
}
@media (max-width: 860px) {
  .page-research main :is(.gr-name, .sl-name) { font-size: 1rem; }
  .page-research main .section-head--haslink > .sec-lede { margin-bottom: 24px; }
  .page-research main :is(.arch-quote, .band-q, .etym-word) {
    font-size: clamp(1.25rem, 5.6vw, 1.75rem);
    line-height: 1.6;
  }
}
@media (max-width: 768px) {
  .page-research main .lc-item h4 { margin-bottom: 0; }
}
/* END READING ROLES */

/* ═══════════ LANG TOGGLE ═══════════ */
[data-lang="en"] .zh {
  display: none !important;
}
:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) .en {
  display: none !important;
}
/* ═══════════ LAYOUT ═══════════ */
.container {
  margin: 0 auto;
}
.sec-white {
  background: var(--white);
}
.sec-plat {
  background: var(--platinum);
  background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22140%22 height=%22140%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.85%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22140%22 height=%22140%22 filter=%22url(%23n)%22 opacity=%22.05%22/%3E%3C/svg%3E');
}
/* Shared reading entrances are progressive enhancement, never a CSS visibility gate. */
/* Ordinary cards consume the same light-gold rule as the homepage.
   Diagram and lifecycle borders retain their own structural meaning. */
[data-research-card] {
  --research-rule-base: rgba(176,140,70,.45);
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* ═══════════ SECTION HEAD ═══════════ */
section p {
  max-width: 780px;
}
.section-head--center p {
  margin-left: auto;
  margin-right: auto;
}
.section-title .accent {
  color: var(--gold);
}
.sec-navy .section-title .accent {
  color: var(--gold-light);
}
.section-rule {
  width: 40px;
  height: 2px;
  background: var(--gold-rule);
}
.sec-lede {
  color: var(--charcoal);
  text-wrap: pretty;
}
.section-divider {
  height: 1px;
  background: var(--border);
  margin: -16px 0 48px;
}
.section-head--center {
  text-align: center;
}
.section-head--tight {
  margin-bottom: 8px;
}
/* Noise texture for platinum sections */
.sec-plat {
  background-color: var(--platinum);
  position: relative;
}
.sec-plat::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px;
}
.sec-plat > .container {
  position: relative;
  z-index: 1;
}
/* ═══════════ NAVIGATION ═══════════ */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
}
.nav-inner {
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-brand {
  display: flex;
  align-items: center;
}
.nav-brand-name {
  font-family: var(--f-body);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.04em;
}
.nav-brand-name .accent {
  color: var(--gold);
}
.nav-links {
  display: flex;
  align-items: center;
}
.nav-links a {
  font-family: var(--f-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--charcoal);
  opacity: 0.7;
  transition: all 0.3s var(--ease);
  white-space: nowrap;
  flex-shrink: 0;
}
.nav-links a:hover {
  color: var(--gold);
  opacity: 1;
}
.lang-btn {
  cursor: pointer;
  background: none;
  transition: all 0.3s var(--ease);
}
.lang-btn:hover {
  border-color: var(--gold);
}
/* ═══════════ MOBILE NAV ═══════════ */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 101;
}
.nav-toggle span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: var(--navy);
  margin: 5px 0;
  transition: all 0.3s var(--ease);
}
.nav-toggle.open span:nth-child(1) {
  transform: rotate(45deg) translate(4px, 5px);
}
.nav-toggle.open span:nth-child(2) {
  opacity: 0;
}
.nav-toggle.open span:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -5px);
}
.mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.98);
  z-index: 99;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 28px;
}
.mobile-overlay.open {
  display: flex;
}
.mobile-overlay a {
  font-family: var(--f-body);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.3s var(--ease);
}
.mobile-overlay a:hover {
  color: var(--gold);
}
.mobile-overlay .lang-btn {
  margin-top: 20px;
  font-size: 0.75rem;
  padding: 12px 24px;
}
/* ═══════════ HERO ═══════════ */
.hero {
  min-height: var(--an-hero-frame);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 140px 40px 100px;
  background: var(--an-navy-deep);
  position: relative;
  overflow: hidden;
}
.hero canvas {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-eyebrow {
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 24px;
  opacity: 0;
  animation: fadeUp 1s 0.2s var(--ease) forwards;
}
.hero-title {
  color: var(--white);
  margin-bottom: 10px;
  opacity: 0;
  animation: fadeUp 1s 0.4s var(--ease) forwards;
  text-wrap: balance;
}
.hero-title em {
  color: var(--gold-light);
}
:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) .hero-desc {
  margin-bottom: 48px;
}
:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) .hero-actions {
  margin-top: 8px;
}
.hero-title-sub {
  color: rgba(255,255,255,0.38);
  margin-bottom: 28px;
  opacity: 0;
  animation: fadeUp 1s 0.55s var(--ease) forwards;
  text-wrap: balance;
}
.hero-subtitle {
  text-transform: uppercase;
  margin-bottom: 20px;
  opacity: 0;
  animation: fadeUp 1s 0.6s var(--ease) forwards;
  text-wrap: balance;
}
.hero-subtitle.en-sub {
  color: rgba(255,255,255,0.66);
  margin-top: 28px;
}
.hero-subtitle.zh-sub {
  color: rgba(255,255,255,0.66);
  margin-top: 36px;
}
.hero-desc {
  color: rgba(255,255,255,0.76);
  max-width: 560px;
  margin-bottom: 40px;
  opacity: 0;
  animation: fadeUp 1s 0.7s var(--ease) forwards;
  text-wrap: balance;
}
.hero-actions {
  display: flex;
  gap: 16px;
  opacity: 0;
  animation: fadeUp 1s 0.85s var(--ease) forwards;
}
.btn-gold {
  padding: 14px 32px;
  background: var(--gold-light);
  color: var(--navy);
  border-radius: 0;
  transition: all 0.3s var(--ease);
  display: inline-block;
}
.btn-gold:hover {
  background: var(--gold-light);
  box-shadow: var(--shadow-gold);
  transform: translateY(-1px);
}
.btn-gold:active {
  transform: scale(0.98);
  box-shadow: none;
}
.btn-ghost {
  padding: 14px 32px;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.66);
  border-radius: 0;
  transition: all 0.3s var(--ease);
  display: inline-block;
}
.btn-ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-1px);
}
.btn-ghost:active {
  transform: scale(0.98);
}
/* ═══════════ ETYMOLOGY ═══════════ */
.etym-inner {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}
.etym-word {
  color: var(--navy);
}
.etym-parts {
  color: var(--warm-gray);
  margin-bottom: 24px;
}
.etym-desc {
  color: var(--charcoal);
  opacity: 0.78;
  text-wrap: balance;
}
/* ═══════════ PARADIGM ═══════════ */
.paradigm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 48px;
}
.p-card {
  position: relative;
}
.p-card h3 {
  text-transform: uppercase;
}
.p-card.old h3 {
  color: var(--warm-gray);
}
.p-card.new h3 {
  color: var(--gold);
}
.p-card .big {
  display: block;
}
.p-card.old .big {
  color: var(--charcoal);
  opacity: 0.72;
}
.p-card.new .big {
  color: var(--navy);
}
.p-card p {
  color: var(--charcoal);
  opacity: 0.72;
}
/* Axioms */
.axiom-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.axiom-num {
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.axiom-name {
  color: var(--navy);
}
.axiom p {
  color: var(--charcoal);
  opacity: 0.7;
}
/* ═══════════ SCENES ═══════════ */
.scene-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.scene-card {
  position: relative;
  overflow: hidden;
}
.scene-num {
  color: var(--gold);
  margin-bottom: 20px;
}
.scene-card h3 {
  color: var(--navy);
}
.scene-card p {
  color: var(--charcoal);
  opacity: 0.72;
}
/* ═══════════ ARCHITECTURE ═══════════ */
.arch-prose {
  margin-bottom: 48px;
}
.arch-prose p {
  color: var(--charcoal);
  opacity: 0.75;
  margin-bottom: 16px;
  text-wrap: pretty;
}
.arch-prose strong {
  color: var(--navy);
  opacity: 1;
}
.arch-quote {
  color: var(--navy);
  padding: 32px 0 32px 28px;
  border-left: 2px solid var(--gold);
  margin: 40px 0 56px;
  opacity: 0.75;
}
/* CMA Panel */
.cma-panel {
  background: var(--white);
  border: none;
  border-top: 2px solid var(--gold);
  border-radius: 0;
  padding: 40px;
  box-shadow: var(--shadow-s);
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 48px;
  row-gap: var(--an-title-gap);
}
.cma-panel > div {
  min-width: 0;
}
.cma-badge {
  grid-column: 1 / -1;
  justify-self: start;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(176,140,70,0.3);
  padding: 3px 10px;
  border-radius: 0;
  display: inline-block;
  margin: 0;
}
.cma-heading {
  text-transform: uppercase;
  color: var(--warm-gray);
}
.gov-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.gov-row {
  display: flex;
  align-items: center;
  padding: 14px 16px;
  border-radius: 0;
  transition: transform 0.3s var(--ease), background 0.3s var(--ease);
  cursor: default;
  gap: 12px;
}
.gov-row:hover {
  transform: translateX(4px);
}
.gr-bar {
  width: 3px;
  height: 28px;
  border-radius: 0;
  margin-right: 4px;
  flex-shrink: 0;
}
.gr-name {
  color: var(--navy);
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  margin: 0;
}
.gr-desc {
  color: var(--warm-gray);
  min-width: 0;
  overflow-wrap: anywhere;
}
.gr1 {
  background: rgba(176,140,70,0.08);
}
.gr1 .gr-bar {
  background: var(--gold);
}
.gr1 .gr-name {
  color: var(--gold);
}
.gr2 {
  background: rgba(176,140,70,0.04);
}
.gr2 .gr-bar {
  background: rgba(176,140,70,0.5);
}
.gr3 {
  background: rgba(15,30,60,0.025);
}
.gr3 .gr-bar {
  background: rgba(15,30,60,0.15);
}
.gr4 {
  background: rgba(15,30,60,0.012);
}
.gr4 .gr-bar {
  background: rgba(15,30,60,0.08);
}
.gov-axis {
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
}
.gov-axis span {
  text-transform: uppercase;
  color: var(--warm-gray);
  opacity: 0.6;
}
/* Storage */
.storage-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sl-row {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 0;
  transition: transform 0.3s var(--ease);
  cursor: default;
}
.sl-row:hover {
  transform: translateX(3px);
}
.sl-num {
  width: 28px;
  flex-shrink: 0;
}
.sl-name {
  color: var(--navy);
  flex: 1;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.sl-tag {
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 10px;
}
.sl-hi {
  background: rgba(176,140,70,0.06);
}
.sl-hi .sl-num,
.sl-hi .sl-name {
  color: var(--gold);
}
.sl-hi .sl-tag {
  color: var(--gold);
  background: rgba(176,140,70,0.08);
}
.sl-mid {
  background: rgba(15,30,60,0.02);
}
.sl-mid .sl-num {
  color: var(--warm-gray);
}
.sl-mid .sl-name {
  color: var(--navy);
}
.sl-mid .sl-tag {
  color: var(--warm-gray);
  background: rgba(15,30,60,0.03);
}
.sl-lo {
  background: rgba(15,30,60,0.008);
}
.sl-lo .sl-num {
  color: var(--warm-gray);
  opacity: 0.5;
}
.sl-lo .sl-name {
  color: var(--navy);
}
.sl-lo .sl-tag {
  color: var(--warm-gray);
  opacity: 0.5;
  background: rgba(15,30,60,0.015);
}
.sl-gradient {
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 2px solid;
  border-image: linear-gradient(90deg, var(--gold), var(--border)) 1;
}
.sl-gradient span {
  text-transform: uppercase;
  color: var(--warm-gray);
  opacity: 0.5;
}
/* Lifecycle strip */
.lc-strip {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--border);
}
.lc-flow {
  justify-content: space-between;
  gap: 8px;
}
.lc-item {
  text-align: center;
  flex: 1;
  transition: transform 0.3s var(--ease);
}
.lc-item:hover {
  transform: translateY(-2px);
}
.lc-item .lc-icon {
  color: var(--gold);
  display: block;
  min-height: 1.5em;
  margin-bottom: 8px;
}
.lc-item h4 {
  color: var(--navy);
}
.lc-item p {
  color: var(--warm-gray);
}
/* ═══════════ NUMBERS ═══════════ */
.numbers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}
.num-val {
  margin-bottom: 8px;
}
.num-val .num-sub {
  color: var(--warm-gray);
}
.num-label {
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}
.num-desc {
  color: var(--charcoal);
  opacity: 0.65;
}
/* ═══════════ NOTES ═══════════ */
.ref-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.ref-card {
  position: relative;
  overflow: hidden;
}
.ref-title {
  color: var(--navy);
}
.ref-card blockquote {
  color: var(--charcoal);
  opacity: 0.8;
  text-wrap: pretty;
}
.ref-context {
  color: var(--warm-gray);
}
.ref-footer {
  text-align: center;
  margin-top: 48px;
}
.ref-footer a {
  color: var(--gold);
  border-bottom: 1px solid rgba(176,140,70,0.25);
  padding-bottom: 4px;
  transition: border-color 0.3s;
}
.ref-footer a:hover {
  border-color: var(--gold);
}
/* ═══════════ CASES ═══════════ */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.case-card {
  position: relative;
  overflow: hidden;
}
.case-tag {
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.case-card h3 {
  color: var(--navy);
}
@media (max-width: 860px) {
  .page-research[data-lang="ja"] .case-card :is(h3,blockquote) {
    /* Reserve one character for Japanese closing punctuation at line ends. */
    padding-inline-end: 1em;
  }
}
.case-card blockquote {
  color: var(--charcoal);
  opacity: 0.78;
  padding-left: 16px;
  border-left: 2px solid var(--border);
}
.case-insight {
  color: var(--warm-gray);
}
.cases-footer {
  text-align: center;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
/* ═══════════ MESSAGE ═══════════ */
.msg-wrap {
  max-width: 720px;
  margin: 0;
  text-align: left;
}
.msg-label {
  margin-bottom: 32px;
}
.msg-body {
  color: var(--charcoal);
  opacity: 0.8;
  text-align: left;
  padding: 0;
  border: none;
  margin-bottom: 32px;
}
.msg-body p {
  margin-bottom: 20px;
}
.msg-body p:last-child {
  margin-bottom: 0;
}
.msg-body strong {
  color: var(--navy);
}
.msg-sign {
  color: var(--gold);
}
/* ═══════════ PAPER ═══════════ */
/* Preserve untranslated rows without leaving empty Chinese labels or gaps. */
/* The English title already appears as the main paper title in English. */
body[data-lang="en"] #paper [data-research-paper-copy] { display: none; }
.paper-card {
  max-width: 720px;
  margin: 0 auto;
}
.paper-badge {
  text-transform: uppercase;
  color: var(--gold);
  display: inline-block;
  margin-bottom: 20px;
}
.paper-title {
  color: var(--navy);
  text-wrap: balance;
}
.paper-abstract {
  color: var(--charcoal);
  opacity: 0.72;
  text-wrap: pretty;
}
.paper-origin {
  color: var(--warm-gray);
}
.pp-note [data-research-paper-signature] {
  margin-top: var(--an-title-gap);
  padding-top: var(--an-paragraph-gap);
  border-top: 1px solid rgba(15,30,60,.14);
}
.paper-meta {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}
.paper-meta > span {
  color: inherit;
}
.paper-pdf {
  color: #7C5F27 !important;
  transition: opacity 0.3s var(--ease);
}
.paper-pdf:hover {
  opacity: 0.8;
}
.paper-pdf[aria-disabled="true"] {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}
/* ═══════════ STATEMENT BAND ═══════════ */
.band {
  background: var(--navy);
  padding: clamp(64px, 7vw, 104px) 0;
}
.band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
}
.band-q {
  color: var(--white);
  max-width: 760px;
  text-wrap: balance;
}
.band-q em {
  color: var(--gold-light);
}
.band-src {
  text-transform: uppercase;
  color: rgba(255,255,255,0.52);
}
/* ═══════════ IS & IS NOT ═══════════ */
.iin-head {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 40px;
  padding-bottom: 14px;
}
.iin-head > span {
  text-transform: uppercase;
}
.iin-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 40px;
  padding: 28px 0;
  border-top: 1px solid var(--an-card-rule-color,var(--research-rule-base,var(--border)));
}
.iin-row:last-child {
  border-bottom: 1px solid var(--border);
}
.iin-wrong .iin-t {
  color: var(--charcoal);
  opacity: 0.82;
}
.iin-wrong .iin-t::before {
  content: "\2715";
  margin-right: 10px;
  color: var(--warm-gray);
}
.iin-wrong .iin-d {
  color: var(--charcoal);
  opacity: 0.78;
}
.iin-right .iin-t {
  color: var(--navy);
}
.iin-right .iin-d {
  color: var(--charcoal);
  opacity: 0.75;
}
/* ═══════════ CITED & BUILT ON ═══════════ */
.ado-group {
  margin-bottom: 56px;
}
.ado-group:last-child {
  margin-bottom: 0;
}
.ado-gh {
  text-transform: uppercase;
  color: var(--warm-gray);
  padding-bottom: 14px;
}
.ado-legend {
  color: var(--charcoal);
  opacity: 0.72;
  padding-bottom: 16px;
}
.ado-legend strong {
  color: var(--gold);
}
.ado-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 40px;
  padding: 26px 0;
  border-top: 1px solid var(--an-card-rule-color,var(--research-rule-base,var(--border)));
}
.ado-row:last-child {
  border-bottom: 1px solid var(--border);
}
.ado-tag {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}
.ado-lv {
  color: var(--gold);
}
.ado-kind {
  text-transform: uppercase;
  color: var(--warm-gray);
}
.ado-name {
  color: var(--navy);
}
.ado-what {
  color: var(--charcoal);
  text-wrap: pretty;
  max-inline-size: 68ch;
}
.ado-what em {
  color: var(--navy);
  opacity: 1;
}
.ado-link {
  display: inline-block;
  margin-top: 14px;
  color: var(--gold);
  border-bottom: 1px solid rgba(176,140,70,0.35);
  padding-bottom: 3px;
  transition: all 0.4s var(--ease);
}
.ado-link:hover {
  color: var(--navy);
  border-bottom-color: var(--navy);
}
.ado-note {
  margin-top: 48px;
  padding: 32px 36px;
  background: var(--white);
  border-left: 3px solid var(--gold);
  border-radius: 0;
  box-shadow: var(--shadow-s);
}
.ado-note-t {
  color: var(--navy);
}
.ado-note-d {
  color: var(--charcoal);
  max-inline-size: 68ch;
}
body:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) :is(.ado-what,.ado-note-d) {
  max-inline-size: 36em;
}
@media (max-width: 760px) {
  .ado-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
/* ═══════════ FOOTER (V4 Style) ═══════════ */
footer {
  background: var(--an-navy-deep);
  color: rgba(255,255,255,0.35);
}
.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-brand {
  margin-bottom: 14px;
}
.footer-brand img {
  height: 30px;
}
.footer-tagline {
  font-size: 0.8125rem;
  line-height: 1.8;
  font-weight: 400;
}
.footer-right {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.8125rem;
}
.footer-right a {
  color: rgba(255,255,255,0.4);
  text-decoration: none;
  transition: color 0.3s;
}
.footer-right a:hover {
  color: var(--gold);
}
.footer-copy {
  margin-top: 12px;
  font-size: 0.6875rem;
  font-weight: 400;
  color: rgba(255,255,255,0.4);
}
.footer-nav {
  display: flex;
  gap: 28px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.04);
  font-family: var(--f-body);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  justify-content: center;
}
.footer-nav a {
  color: rgba(255,255,255,0.35);
  transition: color 0.3s;
}
.footer-nav a:hover {
  color: var(--gold);
}
.footer-copyright {
  text-align: center;
  margin-top: 24px;
  font-size: 0.6875rem;
  opacity: 0.35;
}
/* ═══════════ ZH OVERRIDES ═══════════ */
:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) .num-label {
  text-transform: none;
}
:is([data-lang="zh"],[data-lang="zh-Hant"],[data-lang="ja"],[data-lang="ko"]) .cma-heading {
  text-transform: none;
}
/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width: 900px) {
  .container {
    padding: 0 24px;
  }
  .nav-inner {
    padding: 0 24px;
  }
  .nav-links {
    display: none;
  }
  .nav-toggle {
    display: block;
  }
  .paradigm-grid {
    grid-template-columns: 1fr;
  }
  .axiom-row {
    grid-template-columns: 1fr;
  }
  .scene-grid {
    grid-template-columns: 1fr;
  }
  .cma-panel {
    grid-template-columns: 1fr;
    column-gap: 36px;
  }
  .numbers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ref-grid {
    grid-template-columns: 1fr;
  }
  .cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lc-flow {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px 8px;
    justify-items: center;
  }
  .lc-item {
    grid-column: span 2;
  }
  .lc-item:nth-of-type(4) {
    grid-column: 2 / span 2;
  }
  .lc-item:nth-of-type(5) {
    grid-column: 4 / span 2;
  }
  .footer-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 12px 20px;
  }
  .footer-left {
    display: contents;
  }
  .footer-brand {
    grid-column: 1 / -1;
    margin-bottom: 16px;
  }
  .footer-tagline {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
  }
  .footer-right {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
    align-self: start;
  }
  .footer-nav {
    flex-wrap: wrap;
    gap: 12px 20px;
    justify-content: flex-start;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.7;
  }
  .hero {
    padding: 120px 24px 80px;
  }
}
@media (max-width: 600px) {
  .container {
    padding: 0 24px;
  }
  .hero {
    padding: 120px 24px 80px;
  }
  .hero-actions {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
  }
  .hero-actions a {
    text-align: center;
  }
  .cma-panel {
    padding: 28px 20px;
    column-gap: 28px;
  }
  .cases-grid {
    grid-template-columns: 1fr;
  }
  .paper-meta {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }
}

/* Research layout and decoration; kept in their established cascade order. */
/* Retained structural / decorative compatibility rules, plus the site shell.
   Main typography and reading rhythm are owned by research.css; do not add
   font, line-height or letter-spacing declarations for research main here.
   Shell-only typography is intentionally outside this iteration's scope. */
/* Legacy shell spans only. Main language spans inherit naturally. */
:is(header, footer) :is(.en, .zh) {
  font-size: inherit !important;
  line-height: inherit !important;
}
/* ── 布局骨架 ── */
.container {
  max-width: 1320px !important;
  padding: 0 clamp(20px,4vw,48px) !important;
}
.hero,
#hero-section {
  padding: 0 !important;
}
.btn-gold,
.btn-ghost {
  text-transform: none !important;
  border-radius: 0 !important;
}
/* ── 段头 ── */
.section-head {
  position: relative;
  margin-bottom: 0 !important;
  text-align: left !important;
}
.section-label {
  text-transform: uppercase !important;
  color: #7C5F27 !important;
}
.section-rule,
.section-rule--center {
  width: 40px !important;
  height: 2px !important;
  background: #B08C46 !important;
}
.section-title {
  color: #0F1E3C !important;
  text-wrap: balance;
}
.sec-lede {
  opacity: 1 !important;
}
.sec-navy .section-label {
  color: #E4C687 !important;
}
.sec-navy .section-title {
  color: #fff !important;
}
.sec-navy .section-rule {
  background: #E4C687 !important;
}
/* ── 卡片：顶边细线，无盒无阴影无圆角 ── */
.p-card,
.scene-card,
.num-card,
.ref-card,
.case-card,
.paper-card,
.ado-card,
.iin-card,
.lc-item,
.gr-card,
.axiom,
.pp-note,
.pp-paper {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-top: 1px solid var(--an-card-rule-color,var(--research-rule-base,rgba(15,30,60,.14))) !important;
  border-radius: 0 !important;
  padding: 24px 0 0 !important;
  transform: none !important;
}
.sec-navy .p-card,
.sec-navy .num-card,
.sec-navy .ref-card,
.sec-navy .case-card,
.sec-navy .lc-item {
  border-top-color: rgba(255,255,255,.22) !important;
}
.pp-note .paper-card,
.pp-paper .paper-card {
  border-top: none !important;
  padding: 0 !important;
}
/* ── 卡内层级 ── */
.p-card h3,
.scene-card h3,
.case-card h3,
.lc-item h4,
.num-title,
.ado-name,
.iin-t,
.paper-title,
.cma-heading {
  color: #0F1E3C !important;
}
#axioms .axiom-name {
  color: #0F1E3C !important;
}
#etymology .axiom-name {
  color: #7C5F27 !important;
}
/* ── 正文与辅助信息的颜色、强调；字号由共享角色规则维护。 ── */
.p-card .paradigm-description,
.scene-card p,
.case-card p,
.lc-item p,
.axiom p,
.num-desc,
.ado-what,
.iin-d,
.arch-prose p,
.paper-abstract,
.paper-abstract p,
.cma-desc,
.etym-desc,
.ado-note-d,
.sl-desc,
#notes .ref-card blockquote,
#cases .case-card blockquote {
  color: #37414F !important;
}
.cases-footer p {
  color: #37414F !important;
}
.paradigm-question,
.ref-context,
.case-insight,
.paper-origin,
.msg-sign,
.ado-legend,
.ado-src,
.paper-meta {
  color: #646B7A !important;
  text-transform: none !important;
}
/* 标签颜色与边界。字号按 research.css 的共享阅读角色维护。 */
.pp-sub,
.ado-gh,
.scene-tier,
.cma-badge,
.paper-badge,
.sl-tag,
#architecture .sl-gradient span,
#architecture .gov-axis span,
.case-tag {
  color: #7C5F27 !important;
}
.iin-head .c1 {
  color: #8C3A32 !important;
}
.iin-head .c2 {
  color: #7C5F27 !important;
}
/* ── 序号 13/300 ── */
.axiom-num,
.scene-num,
.lc-icon,
.sl-num,
.iin-num {
  color: #646B7A !important;
}
#axioms .axiom-num {
  color: #7C5F27 !important;
}
.num-val {
  color: #0F1E3C !important;
}
/* ── 网格 ── */
.axiom-row,
.paradigm-grid,
.numbers-grid,
.cases-grid,
.iin-row,
.iin-head,
.ado-row {
  column-gap: 40px !important;
  row-gap: 40px !important;
}
#notes .ref-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  column-gap: 64px !important;
  row-gap: 44px !important;
}
#scenes .scene-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  column-gap: 64px !important;
  row-gap: 44px !important;
}
#scenes .scene-card {
  display: grid !important;
  grid-template-columns: 48px minmax(0,1fr) !important;
  column-gap: 20px !important;
  align-items: start;
}
.pp-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  column-gap: 64px;
  align-items: start;
}
.lc-flow {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}
@media (max-width: 860px) {
  #scenes .scene-grid,
#notes .ref-grid {
    grid-template-columns: 1fr !important;
  }
  .pp-grid {
    grid-template-columns: 1fr;
    row-gap: 48px;
  }
}
/* ── 词源：竖线释义；公理：金线约束 ── */
#etymology .axiom-row {
  border-top: 1px solid rgba(15,30,60,.14);
  padding-top: 28px !important;
}
#etymology .axiom {
  border-top: none !important;
  padding: 0 0 0 24px !important;
  border-left: 1px solid rgba(15,30,60,.14) !important;
}
#etymology .axiom:first-child {
  padding-left: 0 !important;
  border-left: none !important;
}
#etymology .axiom-num {
  display: none !important;
}
/* ── 生命周期独立段 ── */
#lifecycle .lc-strip {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}
/* ── 架构段头单列 ── */
#architecture .section-head {
  display: block !important;
}
#architecture .arch-prose {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%,380px),1fr));
  column-gap: 64px;
  row-gap: 18px;
  margin: 0 0 clamp(40px,5vw,64px) !important;
}
#architecture .arch-prose p {
  margin: 0 !important;
  max-width: none !important;
}
/* ── 段头右侧链接：浮动，只占首行 ── */
/* 段头网格：说明段与链接同一行，链接靠容器右缘 —— 与说明段行数无关 */
.section-head--haslink {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  column-gap: 48px;
}
.section-head--haslink > .section-label,
.section-head--haslink > .section-title,
.section-head--haslink > .section-rule {
  grid-column: 1 / -1;
}
.section-head--haslink > .sec-lede {
  grid-column: 1;
}
.section-head--haslink > .head-link {
  grid-column: 2;
  align-self: start;
  justify-self: end;
}
.head-link {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(124,95,39,.45);
  color: #7C5F27 !important;
  white-space: nowrap;
  text-transform: none !important;
}
.head-link:hover {
  color: #0F1E3C !important;
  border-bottom-color: #0F1E3C;
}
@media (max-width: 860px) {
  .section-head--haslink {
    display: block !important;
  }
  .head-link {
    display: inline-block;
    margin: 0 0 40px;
  }
}
/* ── 论文两栏 ── */
.pp-sub {
  margin-bottom: 24px !important;
}
.pp-note .paper-meta,
.pp-paper .paper-meta {
  margin-top: var(--an-title-gap) !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(15,30,60,.14) !important;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.pp-paper .paper-meta .paper-pdf {
  margin-left: auto !important;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(124,95,39,.45);
  color: #7C5F27 !important;
}
.pp-paper .paper-meta .paper-pdf:hover {
  color: #0F1E3C !important;
  border-bottom-color: #0F1E3C;
}
@media (max-width: 720px) {
  .pp-paper .paper-meta .paper-pdf {
    margin-left: 0 !important;
  }
}
/* ── 引用与采用：默认三条 ── */
#adoption .ado-g1 .ado-row ~ .ado-row ~ .ado-row ~ .ado-row {
  display: none !important;
}
#adoption .ado-g2,
#adoption .ado-g3,
#adoption .ado-note {
  display: none !important;
}
#adoption.is-open .ado-g1 .ado-row ~ .ado-row ~ .ado-row ~ .ado-row {
  display: grid !important;
}
#adoption.is-open .ado-g2,
#adoption.is-open .ado-g3,
body:not([data-lang="zh"]) #adoption.is-open .ado-note {
  display: block !important;
}
.ado-more {
  margin-top: 32px;
}
.ado-more button {
  appearance: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(124,95,39,.5);
  padding: 0 0 7px;
  color: #7C5F27 !important;
  cursor: pointer;
  text-transform: none !important;
}
.ado-more button:hover {
  color: #0F1E3C !important;
  border-bottom-color: #0F1E3C;
}
.ado-link {
  text-transform: none !important;
}
/* ── 导航 ── */
.nav {
  border-bottom: 1px solid rgba(15,30,60,.08) !important;
}
.nav-inner {
  max-width: 1320px !important;
  padding: 0 clamp(20px,4vw,48px) !important;
}
.nav-links {
  gap: clamp(14px,1.8vw,32px) !important;
  flex-wrap: nowrap;
}
.nav-links > a {
  position: relative;
  font-family: var(--an-font) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #37414F !important;
  white-space: nowrap;
}
.nav-links > a:hover {
  color: #0F1E3C !important;
}
.nav-links > a.is-active {
  color: #0F1E3C !important;
  font-weight: 500 !important;
}
.nav-links > a.is-active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 2px;
  background: #B08C46;
}
.nav-links a.nav-cross.nav-btn-gold {
  display: inline-flex !important;
  align-items: center;
  height: 40px;
  padding: 0 22px;
  background: transparent !important;
  border: 1px solid #B08C46;
  color: #7C5F27 !important;
  border-radius: 0 !important;
}
.nav-links a.nav-cross.nav-btn-gold:hover {
  background: transparent !important;
  border-color: #7C5F27;
  color: #7C5F27 !important;
}
.nav-links > a.nav-cta {
  display: inline-flex !important;
  align-items: center;
  height: 40px;
  padding: 0 22px;
  background: transparent !important;
  border: 1px solid #0F1E3C;
  color: #0F1E3C !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  white-space: nowrap;
}
.nav-links > a.nav-cta span {
  color: inherit !important;
}
.nav-links > a.nav-cta:hover,
.nav-links > a.nav-cta:hover span {
  background: transparent !important;
  color: #0B1729 !important;
  border-color: #0B1729;
}
.nav-links > a.nav-cross.nav-btn-gold span {
  color: inherit !important;
}
.lang-btn {
  margin-left: 8px !important;
  font-family: var(--an-font) !important;
  font-size: 0.875rem !important;
  border-radius: 0 !important;
}
/* ── 页脚 ── */
footer .container {
  max-width: 1320px;
}
.ft-col a,
.ft-nav a {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.85 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(255,255,255,.66) !important;
  font-family: var(--an-font) !important;
}
.ft-col a:hover,
.ft-nav a:hover {
  color: #E4C687 !important;
}
.ft-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px,2.4vw,36px);
  flex-wrap: wrap;
}
/* ═══ 导航修正 ═══ */
/* ① 品牌标：原样式表只声明 height，flex 容器内宽度塌成 0 */
.nav-brand {
  flex: none !important;
}
.nav-brand img {
  height: auto !important;
  flex: none !important;
}
/* ② 汉堡菜单断点 900 → 1180：八个锚点 + 两个按钮 + 语言切换在 1180 以下必然溢出。
   1180–1440 之间先收锚点字距与间隔，1180 以下整行交给汉堡菜单。 */
@media (max-width: 1180px) {
  .nav-links {
    display: none !important;
  }
  .nav-toggle {
    display: block !important;
  }
}
@media (min-width: 1181px) and (max-width: 1400px) {
  .nav-links {
    gap: 14px !important;
    margin-left: 16px !important;
  }
}
/* ③ 移动菜单里补齐两个按钮与语言切换（原菜单只有锚点） */
.mobile-overlay .m-cta {
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0 24px;
  margin-top: 8px;
  font: 400 1rem/1 var(--an-font);
}
.mobile-overlay .m-cta.gold {
  background: transparent;
  border: 1px solid #B08C46;
  color: #7C5F27 !important;
}
.mobile-overlay .m-cta.gold:hover {
  background: transparent;
  border-color: #7C5F27;
  color: #7C5F27 !important;
}
.mobile-overlay .m-cta.navy {
  background: transparent;
  border: 1px solid #0F1E3C;
  color: #0F1E3C !important;
}
.mobile-overlay .m-cta.navy:hover {
  background: transparent;
  border-color: #0B1729;
  color: #0B1729 !important;
}
/* ── 页脚布局 ── */
footer {
  padding: 0 0 34px !important;
}
.ft-mid {
  align-items: start;
  padding: 40px 0 0 !important;
}
.ft-facts {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.ft-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ft-facts .ft-col {
  gap: 12px;
}
.ft-brand {
  display: block;
}
.ft-brand img {
  display: block;
  width: 178px;
  height: 26px;
  object-fit: contain;
  object-position: left center;
}
.ft-label {
  font: 500 0.6875rem/1 var(--an-font) !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.58) !important;
}
.ft-col a {
  font: 400 0.875rem/1.6 var(--an-font) !important;
  color: rgba(255,255,255,.66) !important;
}
.ft-col a:hover {
  color: #E4C687 !important;
}
.ft-fact {
  font: 400 0.875rem/1.75 var(--an-font);
  color: rgba(255,255,255,.66);
}
.ft-fact strong {
  color: #fff;
  font-weight: 400;
}
.ft-fact a {
  font-size: 0.875rem !important;
}
.ft-gold {
  color: #E4C687 !important;
  border-bottom: 1px solid rgba(228,198,135,.36);
  padding-bottom: 3px;
}
.ft-bottom {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  font: 400 0.75rem/1.8 var(--an-font);
  color: rgba(255,255,255,.58);
  text-align: left;
}
/* ── 导航尺寸与状态 ── */
/* ═══ 与 animesis.com 逐项对齐 ═══ */
/* ① Logo 宽度：.com 是 clamp(150,14vw,198)，.ai 原来固定 198 —— 窄屏不缩 */
.nav-brand img {
  width: clamp(150px,14vw,198px) !important;
}
/* ② 品牌与链接组之间的间隔：.com 用 gap，.ai 用 margin-left */
.nav-inner {
  gap: clamp(16px,2vw,32px) !important;
}
.nav-links {
  margin-left: 0 !important;
}
/* ③ 语言按钮：.com 是无边框纯文字，.ai 带边框 + opacity .65 */
.lang-btn {
  border: none !important;
  padding: 0 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  color: #37414F !important;
}
.lang-btn:hover {
  color: #0F1E3C !important;
  opacity: 1 !important;
  background: none !important;
}
/* ④ 1181–1400 那档把链接压到 13px，.com 全程 14px */
@media (min-width: 1181px) and (max-width: 1400px) {
  .nav-links > a:not(.nav-cta):not(.nav-cross) {
    font-size: 0.875rem !important;
  }
  /* 原规则是 .nav-links a.nav-cross.nav-btn-gold (0,3,1)，必须同级 */
  .nav-links a.nav-cross.nav-btn-gold,
.nav-links > a.nav-cta {
    font-size: 0.875rem !important;
    padding: 0 22px !important;
  }
}
/* ① 高度在 .nav 上，不在 .nav-inner —— 原规则 .nav{height:76px} 是 (0,1,0)，同级后置即可 */
.nav {
  height: 80px;
}
.nav-inner {
  height: auto !important;
  align-self: stretch;
}
/* ② 导航项还带全局 opacity:.7 —— 只改了 color 不够，4.33:1 → 8.4:1 */
.nav-links > a:not(.nav-cta):not(.nav-cross) {
  opacity: 1 !important;
}
.nav-links > a:not(.nav-cta):not(.nav-cross):hover {
  opacity: 1 !important;
}
/* ── 内容细节 ── */
/* 短期/中期/长期 与卡片标题贴太近 —— 12px → 20px */
#scenes .scene-tier {
  margin-bottom: 20px !important;
}
/* ── 正文层级由颜色承担，避免父子透明度叠乘 ── */
.sec-lede,
.etym-desc,
.arch-prose p,
.arch-quote,
.p-card.old .big,
.p-card p,
.axiom p,
.scene-card p,
.num-desc,
.gov-axis span,
.sl-mid .sl-name,
.sl-lo .sl-num,
.sl-lo .sl-name,
.sl-lo .sl-tag,
.sl-gradient span,
.ref-card blockquote,
.case-card blockquote,
.msg-body,
.paper-abstract,
.iin-wrong .iin-t,
.iin-wrong .iin-d,
.iin-right .iin-d,
.ado-legend,
.ado-what,
.ado-note-d {
  opacity: 1 !important;
}
/* 架构图标注 */
#architecture .gov-axis span,
#architecture .gov-axis span .zh,
#architecture .gov-axis span .en,
#architecture .sl-gradient span,
#architecture .sl-gradient span .zh,
#architecture .sl-gradient span .en {
  color: #7C5F27 !important;
}
#architecture .sl-lo .sl-tag,
#architecture .sl-lo .sl-tag .zh,
#architecture .sl-lo .sl-tag .en {
  color: #646B7A !important;
}
.footer-copyright {
  color: rgba(255,255,255,.58) !important;
}
#paradigm .p-card p em,
#paradigm .p-card p em .zh,
#paradigm .p-card p em .en {
  color: #0F1E3C !important;
}
/* 公理：序号强调，名称保留普通标题字重。 */
/* ── 正文与强调色 ── */
.sec-lede,
.sec-lede .zh,
.sec-lede .en,
.num-desc,
.num-desc .zh,
.num-desc .en,
.iin-d,
.iin-d .zh,
.iin-d .en,
.case-card p,
.case-card p .zh,
.case-card p .en,
.scene-card p,
.scene-card p .zh,
.scene-card p .en,
.axiom p,
.axiom p .zh,
.axiom p .en,
.p-card .paradigm-description,
.arch-prose p,
.arch-prose p .zh,
.arch-prose p .en,
.paper-abstract,
.paper-abstract p,
.paper-abstract .zh,
.paper-abstract .en,
.ado-what,
.ado-what .zh,
.ado-what .en,
.ado-note-d,
.ado-note-d .zh,
.ado-note-d .en,
.etym-desc,
.etym-desc .zh,
.etym-desc .en,
.lc-item p,
.lc-item p .zh,
.lc-item p .en,
.sl-desc,
.sl-desc .zh,
.sl-desc .en,
.cma-desc,
.cma-desc .zh,
.cma-desc .en,
#notes .ref-card blockquote,
#notes .ref-card blockquote .zh,
#notes .ref-card blockquote .en,
#cases .case-card blockquote,
#cases .case-card blockquote .zh,
#cases .case-card blockquote .en {
  color: var(--charcoal) !important;
}
/* 次级：序号与灰阶标签 */
.sl-num,
.scene-num,
.axiom-num,
.iin-num,
.lc-icon {
  color: var(--warm-gray) !important;
}
#axioms .axiom-num,
#axioms .axiom-num .zh,
#axioms .axiom-num .en {
  color: #7C5F27 !important;
}
/* 金色只保留这些 */
.section-label,
.section-label .zh,
.section-label .en,
.case-tag,
.case-tag .zh,
.case-tag .en,
.num-label,
.num-label .zh,
.num-label .en,
.scene-tier,
.scene-tier .zh,
.scene-tier .en,
.head-link,
.head-link .zh,
.head-link .en,
.cma-badge,
.paper-badge,
.hero-eyebrow,
.ado-link,
.ado-link .zh,
.ado-link .en {
  color: #7C5F27 !important;
}

}
