/* ==========================================================================
   AIGEO 专题 · 云耕 GEO 全链路 SOP 专属样式
   仅 pages/aigeo/geo-sop/index.html 引用。
   Hero 与同级 AIGEO 页共用 about-hero；本文件只保留 Editorial Gold 正文组件。
   宽度一律走 --jc-content-max / --jc-gutter，禁止硬编码内容宽。
   ========================================================================== */

.geo-sop-page {
  /* 阶段配色 */
  --geosop-p0: #2f6f9e;
  --geosop-p1: #0f7d9c;
  --geosop-p2: #17808a;
  --geosop-p3: #7a4bb5;
  --geosop-p4: #0f7a58;
  --geosop-p5: #a8710d;
  --geosop-p6: #c0392b;
  --geosop-p7: #96742c;
  --geosop-p8: #4f5b6b;
  --geosop-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   2 · 关键数据条（Editorial Gold 正文首屏）
   ========================================================================== */

.geosop-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
  gap: 0.75rem;
  width: 100%;
  margin-block: 1.25rem 0;
}

.geosop-stat {
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  padding: 1.125rem 1.25rem;
  text-align: center;
}

.geosop-stat__n {
  display: block;
  font-size: clamp(1.5rem, 3.2vw, 2rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--jc-gold-deep);
  font-variant-numeric: tabular-nums;
}
.geosop-stat__l {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--jc-ink-soft);
}

/* ==========================================================================
   3 · 权重总览卡
   ========================================================================== */

.geosop-ov-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--jc-grid-col-max, 320px), 100%), 1fr));
  gap: 0.875rem;
  width: 100%;
}

.geosop-ov-card {
  position: relative;
  overflow: hidden;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  padding: 1.75rem;
  transition: border-color 0.3s, transform 0.3s;
}
.geosop-ov-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: var(--pc, var(--jc-gold));
}
.geosop-ov-card::after {
  content: attr(data-weight);
  position: absolute;
  right: 1.25rem;
  bottom: -0.625rem;
  font-size: 6.25rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--pc, var(--jc-gold));
  opacity: 0.07;
  pointer-events: none;
}
.geosop-ov-card:hover { border-color: var(--jc-gold); transform: translateY(-3px); }

.geosop-ov-card__phase {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--pc, var(--jc-gold));
  margin-bottom: 0.375rem;
}
.geosop-ov-card__name {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--jc-ink);
  margin-bottom: 0.625rem;
}
.geosop-ov-card__goal {
  font-size: 0.8125rem;
  line-height: 1.7;
  color: var(--jc-ink-soft);
  margin-bottom: 1.25rem;
}
.geosop-ov-card__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
}
.geosop-ov-card__weight {
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--pc, var(--jc-gold));
  font-variant-numeric: tabular-nums;
}
.geosop-ov-card__weight--text { font-size: 1.25rem; letter-spacing: 0; }
.geosop-ov-card__meta {
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: right;
  color: var(--jc-ink-soft);
}

/* ==========================================================================
   4 · 阶段头部
   ========================================================================== */

.geosop-phase--p0 { --pc: var(--geosop-p0); }
.geosop-phase--p1 { --pc: var(--geosop-p1); }
.geosop-phase--p2 { --pc: var(--geosop-p2); }
.geosop-phase--p3 { --pc: var(--geosop-p3); }
.geosop-phase--p4 { --pc: var(--geosop-p4); }
.geosop-phase--p5 { --pc: var(--geosop-p5); }
.geosop-phase--p6 { --pc: var(--geosop-p6); }
.geosop-phase--p7 { --pc: var(--geosop-p7); }
.geosop-phase--p8 { --pc: var(--geosop-p8); }

.geosop-phase-hdr {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  padding: 2rem 2.25rem;
  margin-bottom: 0.75rem;
}
.geosop-phase-hdr::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--pc, var(--jc-gold)), transparent);
}
.geosop-phase-hdr::after {
  content: attr(data-weight);
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--pc, var(--jc-gold));
  opacity: 0.06;
  pointer-events: none;
}

.geosop-phase-hdr__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.geosop-phase-hdr__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--pc, var(--jc-gold));
  margin-bottom: 0.5rem;
}
.geosop-phase-hdr__title {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--jc-ink);
  margin-bottom: 0.75rem;
}
.geosop-phase-hdr__desc {
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--jc-ink-soft);
  max-width: 42.5rem;
}
.geosop-phase-hdr__desc strong { color: var(--pc, var(--jc-gold-deep)); }

.geosop-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4375rem;
  margin-top: 1.125rem;
  padding: 0;
  list-style: none;
}
.geosop-tag {
  font-size: 0.6875rem;
  padding: 0.1875rem 0.6875rem;
  border-radius: 100px;
  background: var(--jc-gold-soft);
  border: 1px solid var(--jc-border);
  color: var(--jc-ink-soft);
}

.geosop-phase-hdr__weight-box { flex-shrink: 0; text-align: right; }
.geosop-phase-hdr__weight {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--pc, var(--jc-gold));
  font-variant-numeric: tabular-nums;
}
.geosop-phase-hdr__weight--text { font-size: 1.75rem; letter-spacing: 0; }
.geosop-phase-hdr__weight-label {
  font-size: 0.75rem;
  color: var(--jc-ink-soft);
  margin-top: 0.25rem;
}

/* ==========================================================================
   5 · 步骤折叠卡 + 页签
   ========================================================================== */

.geosop-steps {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}

.geosop-step {
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  overflow: hidden;
  transition: border-color 0.25s;
}
.geosop-step:hover { border-color: var(--jc-gold-soft); }
.geosop-step.is-open { border-color: var(--jc-gold); }

.geosop-step__head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  width: 100%;
  padding: 1.25rem 1.75rem;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.geosop-step__head:focus-visible { outline: 2px solid var(--jc-gold); outline-offset: -2px; }

.geosop-step__num {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--jc-ink-soft);
  white-space: nowrap;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.geosop-step__title {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--jc-ink);
}

.geosop-score {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.8125rem;
  border-radius: 100px;
  font-size: 0.6875rem;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  background: var(--jc-gold-soft);
  border: 1px solid var(--jc-border);
  color: var(--jc-gold-deep);
}
.geosop-score--core { background: rgba(168, 113, 13, 0.12); border-color: rgba(168, 113, 13, 0.28); }

.geosop-step__chevron {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  color: var(--jc-ink-soft);
  transition: transform 0.3s;
}
.geosop-step.is-open .geosop-step__chevron { transform: rotate(180deg); }

.geosop-step__body { display: none; border-top: 1px solid var(--jc-border); }
.geosop-step.is-open .geosop-step__body { display: block; }

.geosop-tabbar {
  display: flex;
  flex-wrap: wrap;
  background: var(--jc-cream-deep);
  border-bottom: 1px solid var(--jc-border);
}
.geosop-tb {
  padding: 0.8125rem 1.25rem;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--jc-ink-soft);
  cursor: pointer;
  border: none;
  background: transparent;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.geosop-tb:hover { color: var(--jc-ink); }
.geosop-tb.is-active { color: var(--jc-gold-deep); border-bottom-color: var(--jc-gold); }
.geosop-tb:focus-visible { outline: 2px solid var(--jc-gold); outline-offset: -2px; }

.geosop-pane { padding: 1.75rem; }
.geosop-pane[hidden] { display: none; }

/* ==========================================================================
   6 · 正文内容元件
   ========================================================================== */

.geosop-ilist,
.geosop-alist {
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
.geosop-ilist li {
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--jc-ink-soft);
}
.geosop-ilist li strong { color: var(--jc-ink); }
.geosop-alist { gap: 0.625rem; }
.geosop-alist li {
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--jc-ink-soft);
}
.geosop-alist li::marker { color: var(--geosop-p4); }

.geosop-dbox,
.geosop-wbox {
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
.geosop-dbox {
  background: var(--jc-gold-soft);
  border: 1px solid var(--jc-border);
}
.geosop-dbox__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--jc-gold-deep);
  margin-bottom: 0.5rem;
}
.geosop-dbox p,
.geosop-wbox p {
  font-size: 0.8125rem;
  line-height: 1.8;
}
.geosop-dbox p { color: var(--jc-ink-soft); }
.geosop-wbox {
  background: rgba(192, 57, 43, 0.05);
  border: 1px solid rgba(192, 57, 43, 0.16);
}
.geosop-wbox p { color: #9c2f22; }

.geosop-hl { color: var(--jc-gold-deep); font-weight: 700; }

.geosop-db {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  background: var(--jc-gold-soft);
  font-size: 0.75rem;
  color: var(--jc-gold-deep);
}

.geosop-note {
  display: block;
  margin-top: 0.625rem;
  padding: 0.625rem 0.875rem;
  border-radius: 8px;
  background: var(--jc-cream-deep);
  font-size: 0.75rem;
  line-height: 1.8;
  color: var(--jc-ink-soft);
}

.geosop-tgrid,
.geosop-kpi-grid,
.geosop-tac-grid {
  display: grid;
  gap: 0.625rem;
  width: 100%;
}
.geosop-tgrid { grid-template-columns: repeat(auto-fill, minmax(min(13.75rem, 100%), 1fr)); }
.geosop-kpi-grid { grid-template-columns: repeat(auto-fill, minmax(min(17.5rem, 100%), 1fr)); gap: 0.75rem; }
.geosop-tac-grid { grid-template-columns: repeat(auto-fill, minmax(min(12.5rem, 100%), 1fr)); }

.geosop-tc,
.geosop-kpi,
.geosop-tac {
  background: var(--jc-cream);
  border: 1px solid var(--jc-border);
  border-radius: 12px;
  padding: 1rem 1.125rem;
}
.geosop-tc__name,
.geosop-kpi__name,
.geosop-tac__name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--jc-ink);
  margin-bottom: 0.3125rem;
}
.geosop-tc__desc,
.geosop-kpi__desc,
.geosop-tac__desc {
  font-size: 0.75rem;
  line-height: 1.65;
  color: var(--jc-ink-soft);
}

.geosop-kpi { padding: 1.125rem 1.25rem; transition: border-color 0.3s, transform 0.3s; }
.geosop-kpi:hover { border-color: var(--jc-gold); transform: translateY(-2px); }
.geosop-kpi__name { font-size: 0.875rem; margin-bottom: 0.1875rem; }
.geosop-kpi__en {
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  color: var(--jc-gold-deep);
  margin-bottom: 0.5rem;
}
.geosop-kpi__desc { margin-bottom: 0.625rem; }
.geosop-kpi__tags { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.geosop-kpi__tags span {
  font-size: 0.6875rem;
  padding: 0.125rem 0.5625rem;
  border-radius: 5px;
  background: var(--jc-cream-deep);
  color: var(--jc-ink-soft);
}

.geosop-tac-wrap {
  width: 100%;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  padding: 1.75rem;
  margin-bottom: 0.75rem;
}
.geosop-tac-wrap__hdr {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--jc-gold-deep);
  margin-bottom: 1.125rem;
}
.geosop-tac__n {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--jc-gold-soft);
  margin-bottom: 0.25rem;
}
.geosop-tac__eff {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--geosop-p4);
  margin-bottom: 0.375rem;
  font-variant-numeric: tabular-nums;
}
.geosop-tac--bad { border-color: rgba(192, 57, 43, 0.28); background: rgba(192, 57, 43, 0.04); }
.geosop-tac--bad .geosop-tac__n { color: rgba(192, 57, 43, 0.24); }
.geosop-tac--bad .geosop-tac__eff { color: #c0392b; }

/* ==========================================================================
   7 · 表格
   ========================================================================== */

.geosop-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}
.geosop-table thead tr { background: var(--jc-cream-deep); }
.geosop-table th {
  padding: 0.875rem 1.125rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--jc-ink-soft);
  border-bottom: 1px solid var(--jc-border);
  white-space: nowrap;
}
.geosop-table td {
  padding: 0.8125rem 1.125rem;
  border-bottom: 1px solid var(--jc-border);
  color: var(--jc-ink-soft);
  vertical-align: top;
  line-height: 1.65;
}
.geosop-table tbody tr:last-child td { border-bottom: none; }
.geosop-table tbody tr:hover td { background: var(--jc-gold-soft); }
.geosop-table td:first-child { font-weight: 600; color: var(--jc-ink); }

.geosop-pill {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.125rem 0.5625rem;
  border-radius: 5px;
  background: var(--jc-gold-soft);
  color: var(--jc-gold-deep);
  white-space: nowrap;
}
.geosop-fmt {
  display: inline-block;
  font-size: 0.6875rem;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
  background: var(--jc-cream-deep);
  border: 1px solid var(--jc-border);
  color: var(--jc-ink-soft);
}
.geosop-kpi-en-cell { font-size: 0.6875rem; color: var(--jc-gold-deep); letter-spacing: 0.03em; }
.geosop-num { color: var(--jc-ink-soft); font-weight: 400; font-size: 0.6875rem; }
.geosop-risk--high { color: #c0392b; font-weight: 700; white-space: nowrap; }
.geosop-risk--mid { color: #a8710d; font-weight: 700; white-space: nowrap; }
.geosop-risk--low { color: var(--geosop-p4); font-weight: 700; white-space: nowrap; }

/* ==========================================================================
   8 · 版权与授权声明
   ========================================================================== */

.geosop-license {
  width: 100%;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-left: 3px solid var(--jc-gold);
  border-radius: var(--jc-radius);
  padding: 1.5rem 1.75rem;
}
.geosop-license__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--jc-ink);
  margin-bottom: 0.625rem;
}
.geosop-license p {
  font-size: 0.8125rem;
  line-height: 1.9;
  color: var(--jc-ink-soft);
}
.geosop-license p + p { margin-top: 0.5rem; }
.geosop-license a { color: var(--jc-gold-deep); }

/* ==========================================================================
   9 · 引用友好区块（核心结论 / 目录 / 术语 / 参考文献 / 引用格式 / 修订）
   ========================================================================== */

/* 9.1 核心结论：供人与 AI 直接摘录的答案胶囊集 */
.geosop-tldr {
  width: 100%;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-top: 3px solid var(--jc-gold);
  border-radius: var(--jc-radius);
  padding: 1.75rem 1.875rem;
}
.geosop-tldr__def {
  font-size: 1rem;
  line-height: 1.9;
  color: var(--jc-ink);
  font-weight: 600;
  padding-bottom: 1.125rem;
  margin-bottom: 1.125rem;
  border-bottom: 1px dashed var(--jc-border);
}
.geosop-tldr__def strong { color: var(--jc-gold-deep); }

.geosop-keylist {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  counter-reset: geosop-key;
}
.geosop-keylist li {
  counter-increment: geosop-key;
  position: relative;
  padding-left: 2.25rem;
  font-size: 0.875rem;
  line-height: 1.85;
  color: var(--jc-ink-soft);
}
.geosop-keylist li::before {
  content: counter(geosop-key, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.1875rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--jc-gold-deep);
  background: var(--jc-gold-soft);
  border-radius: 5px;
  padding: 0.125rem 0.375rem;
}
.geosop-keylist li strong { color: var(--jc-ink); }
.geosop-keylist a { color: var(--jc-gold-deep); }

/* 9.2 页内目录 */
.geosop-toc {
  width: 100%;
  margin-top: 1.25rem;
  background: var(--jc-cream-deep);
  border: 1px solid var(--jc-border);
  border-radius: var(--jc-radius);
  padding: 1.25rem 1.5rem;
}
.geosop-toc__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--jc-gold-deep);
  margin-bottom: 0.75rem;
}
.geosop-toc__list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.625rem;
}
.geosop-toc__list a {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.6;
  padding: 0.3125rem 0.6875rem;
  border-radius: 6px;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  color: var(--jc-ink-soft);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.geosop-toc__list a:hover,
.geosop-toc__list a:focus-visible {
  color: var(--jc-gold-deep);
  border-color: var(--jc-gold);
  background: var(--jc-gold-soft);
}

/* 9.3 实践判断（署名引述） */
.geosop-quote {
  width: 100%;
  margin: 1.5rem 0 0;
  padding: 1.375rem 1.625rem;
  background: var(--jc-gold-soft);
  border: 1px solid var(--jc-border);
  border-left: 3px solid var(--jc-gold);
  border-radius: var(--jc-radius);
}
.geosop-quote__text {
  font-size: 0.9375rem;
  line-height: 1.95;
  color: var(--jc-ink);
}
.geosop-quote__by {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: var(--jc-ink-soft);
}
.geosop-quote__by a { color: var(--jc-gold-deep); }

/* 9.4 术语表 */
.geosop-gloss {
  width: 100%;
  display: grid;
  gap: 0.75rem;
  margin: 0;
}
.geosop-gloss > div {
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}
.geosop-gloss dt {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--jc-ink);
  margin-bottom: 0.3125rem;
}
.geosop-gloss dt .geosop-gloss__en {
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  color: var(--jc-gold-deep);
  margin-left: 0.5rem;
}
.geosop-gloss dd {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.85;
  color: var(--jc-ink-soft);
}

/* 9.5 参考文献与正文角标 */
.geosop-ref {
  font-size: 0.625rem;
  line-height: 1;
  vertical-align: super;
}
.geosop-ref a {
  color: var(--jc-gold-deep);
  text-decoration: none;
  padding: 0 0.0625rem;
}
.geosop-ref a:hover,
.geosop-ref a:focus-visible { text-decoration: underline; }

.geosop-refs {
  width: 100%;
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  counter-reset: geosop-refn;
}
.geosop-refs li {
  counter-increment: geosop-refn;
  position: relative;
  padding-left: 2.125rem;
  font-size: 0.8125rem;
  line-height: 1.85;
  color: var(--jc-ink-soft);
  scroll-margin-top: var(--scroll-anchor-offset, 6rem);
}
.geosop-refs li::before {
  content: "[" counter(geosop-refn) "]";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--jc-gold-deep);
}
.geosop-refs li strong { color: var(--jc-ink); font-weight: 600; }
.geosop-refs a { color: var(--jc-gold-deep); word-break: break-all; }

/* 9.6 引用格式（便于被转载与学术/媒体引用） */
.geosop-cite {
  width: 100%;
  display: grid;
  gap: 0.875rem;
}
.geosop-cite__row {
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-radius: 12px;
  padding: 1rem 1.125rem;
}
.geosop-cite__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.625rem;
}
.geosop-cite__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--jc-gold-deep);
}
.geosop-cite__copy {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.25rem 0.625rem;
  border-radius: 6px;
  border: 1px solid var(--jc-border);
  background: var(--jc-cream-deep);
  color: var(--jc-ink-soft);
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.geosop-cite__copy:hover,
.geosop-cite__copy:focus-visible {
  color: var(--jc-gold-deep);
  border-color: var(--jc-gold);
  background: var(--jc-gold-soft);
}
.geosop-cite__copy.is-done { color: var(--geosop-p4); border-color: var(--geosop-p4); }
.geosop-cite__code {
  margin: 0;
  font-family: Consolas, Monaco, "Courier New", monospace;
  font-size: 0.75rem;
  line-height: 1.9;
  color: var(--jc-ink-soft);
  white-space: pre-wrap;
  word-break: break-word;
}

/* 9.7 修订记录 */
.geosop-sub {
  width: 100%;
  margin: 2rem 0 0.875rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--jc-border);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--jc-ink);
  scroll-margin-top: var(--scroll-anchor-offset, 6rem);
}
.geosop-rev {
  width: 100%;
  display: grid;
  gap: 0.625rem;
}
.geosop-rev__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 0.875rem;
  padding: 0.75rem 1rem;
  background: var(--jc-card-bg);
  border: 1px solid var(--jc-border);
  border-left: 3px solid var(--jc-gold);
  border-radius: 10px;
}
.geosop-rev__v {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--jc-gold-deep);
  letter-spacing: 0.04em;
}
.geosop-rev__date { font-size: 0.6875rem; color: var(--jc-ink-soft); }
.geosop-rev__note {
  flex: 1 1 16rem;
  font-size: 0.8125rem;
  line-height: 1.8;
  color: var(--jc-ink-soft);
}

/* ==========================================================================
   10 · 多端（对称 gutter + safe-area）
   ========================================================================== */

@media (max-width: 768px) {
  .geosop-phase-hdr { padding: 1.5rem 1.375rem; }
  .geosop-phase-hdr::after { display: none; }
  .geosop-phase-hdr__weight { font-size: 2.25rem; }
  .geosop-step__head { padding: 1rem 1.25rem; gap: 0.625rem; flex-wrap: wrap; }
  .geosop-step__title { flex-basis: 100%; order: 3; }
  .geosop-pane { padding: 1.25rem; }
  .geosop-ov-card { padding: 1.375rem; }
  .geosop-ov-card::after { font-size: 4.5rem; }
  .geosop-license { padding: 1.25rem 1.125rem; }
  .geosop-tldr { padding: 1.375rem 1.125rem; }
  .geosop-tldr__def { font-size: 0.9375rem; }
  .geosop-toc { padding: 1.125rem 1rem; }
  .geosop-quote { padding: 1.125rem 1.125rem; }
  .geosop-quote__text { font-size: 0.875rem; }
}
