/* ==========================================================================
   zhaogonghao.com — 内页共享结构层
   各页配色在自己 CSS 里通过 body.page-* 覆盖 CSS 变量；
   本页文件只定义 6 张内页共用的骨架：Hero / section 节奏 / CTA / 摘要条。
   各页独立模块（铭牌、闸口、赛道旗语、机舱仪表、桅杆风速、潮汐诗笺）在各自 CSS 内定义。
   ========================================================================== */

body[class^="page-"] { background: var(--paper); color: var(--ink); }

/* ---------- Hero（内页共用） ---------- */
.in-hero { padding: 56px 0 50px; }
.in-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 44px;
  align-items: center;
}
.in-hero .crumb { margin-bottom: 26px; }
.in-kicker {
  display: inline-block;
  padding: 5px 14px;
  margin-bottom: 18px;
  border: 1px solid var(--shen-line);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.4px;
  color: var(--shen);
  background: var(--shen-soft);
  text-transform: uppercase;
}
.in-hero h1 {
  font-size: clamp(30px, 4.2vw, 50px);
  line-height: 1.22;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: .5px;
  font-family: var(--serif);
}
.in-hero h1 em {
  font-style: normal;
  display: block;
  margin-top: 10px;
  font-family: var(--serif);
  font-weight: 600;
  font-size: .55em;
  color: var(--shen-2);
  letter-spacing: 1px;
}
.in-lead { margin-top: 20px; color: var(--muted); font-size: 16px; max-width: 520px; }
.in-lead strong { color: var(--ink); font-weight: 700; }
.in-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.in-figure { position: relative; }
.in-figure img {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-m);
}
.in-figure figcaption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 1.6px;
  color: var(--muted);
}

/* ---------- 摘要条 ---------- */
.in-strip { background: var(--night); color: #dfe5ee; border-block: 1px solid rgba(201, 162, 75, .3); }
.in-strip-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 26px 0;
  gap: 16px;
}
.in-strip-inner > div { display: grid; gap: 6px; }
.in-strip-inner span {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #7d8b94;
}
.in-strip-inner strong { font-family: var(--mono); font-size: 20px; font-weight: 800; color: var(--jin); }

/* ---------- section 节奏 ---------- */
.in-section { padding: 62px 0; }
.in-section.is-tint { background: var(--paper-2); }
.in-head { margin-bottom: 34px; }
.in-head .in-kicker2 {
  display: block;
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--jin-deep);
  margin-bottom: 10px;
  text-transform: uppercase;
}
.in-head h2 {
  font-size: clamp(22px, 2.6vw, 30px);
  color: var(--ink);
  font-weight: 800;
  font-family: var(--serif);
  letter-spacing: .5px;
}
.in-head p { color: var(--muted); margin-top: 12px; max-width: 560px; }

/* ---------- CTA ---------- */
.in-cta { background: var(--night); color: #dfe5ee; padding: 56px 0; }
.in-cta-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  align-items: center;
}
.in-cta .in-kicker2 {
  display: block;
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 2px;
  color: var(--jin);
  margin-bottom: 10px;
  text-transform: uppercase;
}
.in-cta h2 { font-size: clamp(20px, 2.4vw, 28px); color: #f4f6fa; font-weight: 800; font-family: var(--serif); }
.in-cta p { color: #aab4c4; font-size: 15px; margin-top: 12px; }
.in-cta p strong { color: var(--jin); font-family: var(--mono); }
.in-cta-actions { display: grid; gap: 14px; justify-items: start; }
.in-cta .tg-link { border-color: rgba(255,255,255,.2); color: #dfe6f0; }
.in-cta .tg-link:hover { background: rgba(34,158,217,.16); }
.in-cta .btn-room { color: #dfe5ee; }
.in-cta .btn-room b { color: var(--jin); }

/* ---------- 相关卡 ---------- */
.in-rel-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.in-rel-grid a {
  display: grid;
  gap: 8px;
  padding: 22px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.in-rel-grid a:hover { transform: translateY(-3px); border-color: var(--shen-line); box-shadow: var(--shadow-m); }
.in-rel-grid a span {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.4px;
  color: var(--shen);
}
.in-rel-grid a h3 { font-size: 16px; color: var(--ink); font-weight: 800; font-family: var(--serif); }
.in-rel-grid a p { font-size: 13px; color: var(--muted); }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .in-hero-grid { grid-template-columns: 1fr; }
  .in-cta-inner { grid-template-columns: 1fr; }
  .in-strip-inner { grid-template-columns: 1fr 1fr; }
  .in-rel-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .in-hero { padding: 40px 0 36px; }
  .in-section { padding: 44px 0; }
  .in-strip-inner, .in-rel-grid { grid-template-columns: 1fr; }
}
